ModelSim 读取不了数据文件

EDA Tools 专栏收录该内容
4 篇文章 0 订阅

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去掉就可以了。

2、ModelSim/QuestaSim 仿真运行run -all自动退出图形界面

因为以前做仿真,都是使用的 VCS,在 Testbench 里结束仿真用的是$finish,同样的 Testbench 拿到ModelSim/QuestaSim,点击run -all就会退出图形界面,这个问题一直没找到原因,因为没什么影响,所以也没有纠结。

最近看了不少项目的源码,发现大家用的都是$stop,我意识到问题所在了,$finish 会结束整个仿真,那么仿真程序就会退出。因此,点击run -all会退出图形界面,这是因为执行到了$finish

  • 0
    点赞
  • 0
    评论
  • 0
    收藏
  • 打赏
    打赏
  • 扫一扫,分享海报

©️2022 CSDN 皮肤主题:书香水墨 设计师:CSDN官方博客 返回首页

打赏作者

k1435

你的鼓励将是我创作的最大动力

¥2 ¥4 ¥6 ¥10 ¥20
输入1-500的整数
余额支付 (余额:-- )
扫码支付
扫码支付:¥2
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、C币套餐、付费专栏及课程。

余额充值