目录
ModelSim/QuestaSim 使用中遇到的问题
1、ModelSim 读取不了数据文件(iverilog 语法问题)
iverilog
是一个十分方便的,且 Win/Linux 都可以使用的 verilog 仿真器。但是它的语法要求很不严格,有时候用 iverilog 仿真通过的代码,换个仿真器就出现异常。
for
语句
C语言中,for 循环经常会用到 i++
,这样的自增运算,但是 Verilog 不支持。问题是,iverilog 支持。一般其它仿真器会对这个问题报错。
$readmemh
语句
在 iverilog 的仿真中,数据文件内容是:
@00
0x12345679
0xa1a2a3a4
0xb1b2b3b4
0xc1c2c3c4
0xd1d2d3d4
0xe1e2e3e4
0xf1f2f3f4
0x9C4A93CE
仿真结果正常。但是拿到 Modelsim 或者 QuestaSim 仿真,读出的数据全是x,即没有读出数据。仿真程序会报 Warning。把十六进制前缀0x
去掉就可以了。