赛灵思
直播中

许莹

7年用户 206经验值
私信 关注
[问答]

对于使用但未声明的电线Xilinx ISE不会发出警告/错误的原因是什么

亲爱的大家,
我在调试我的一个实现时遇到了困难。
在ISIM模拟中,事情正在发挥作用,但实际上却没有。
在调试过程中,我发现我使用了一位线来触发进程。
虽然电线在几个地方使用,但它没有在任何地方被宣布为电线。
我在Verilog中编写了代码。
在理想情况下,ISE 14.7工具应报告此类情况的错误/警告消息。
而且,ISIM模拟不应该正常工作。
奇怪的是,模拟工作和ISE工具继续而没有报告。
如果有任何办法迫使ISE工具显示此类案件的警告,请您告诉我。
谢谢

回帖(3)

陈衡毅

2020-5-8 10:15:01
嗨@sujoyetc
您是否检查了后期合成中的功能?
实施模拟?
谢谢,维杰-----------------------------------------------
---------------------------------------------请将帖子标记为
一个答案“接受为解决方案”,以防它有助于解决您的查询。如果一个帖子引导到解决方案,请给予赞誉。
举报

陈军

2020-5-8 10:22:34
设计太大,无法进行路径后模拟。
行为模拟需要20分钟才能运行。
该设计占据了非常大的Virtex 6 FPGA板ML605的60%。
因此,路线后模拟是不实际的。
举报

杨玲

2020-5-8 10:32:01
首先,这是一个Verilog“功能” - 而不是ISE错误。
在Verilog中,未声明的对象具有默认类型“wire”。
您可以使用`default_nettype指令在Verilog 2001中覆盖它:
`default_nettype none 
这将删除隐式网络声明,因此未声明的网络会给出错误而不是隐式网络。
请注意,与其他宏一样,范围是全局的。
这意味着在编译后续模块时它仍然有效。
如果将`default_nettype设置为“none”,许多Xilinx模块将无法正确编译。
因此,在模块的最后,您应该将其设置回默认值:
`default_nettype wire
另请注意,使默认网络类型为“none”意味着您需要明确声明输入和输出线:
`default_nettype none
模块foo
( 
输入线棒, 
输出线baz, 
输出reg foobar
);
...
endmodule
`default_nettype wire
在这种情况下,您不能只使用默认网络类型“wire”来说“输入栏”或“输出baz”。
- Gabor
举报

更多回帖

发帖
×
20
完善资料,
赚取积分