Xilinx VIVADO 仿真时无法调用 ModelSim 失败的解决办法

8 篇文章 3 订阅
6 篇文章 0 订阅

自从学习FPGA以来,按照惯例,都是使用VIVADO调用ModelSim来仿真,这样可以在仿真的同时继续修改代码,并且根据同组的人说,ModelSim仿真貌似还快一点(虽然用ModelSim+ i9-9900k,有时候仿真跑一天也跑不完(๑′ᴗ‵๑)❤)

但是有调用,就有调用失败的时候,有的时候会报错,那就很简单了,根据报错进去看看log文件,按照log文件修改就好了,但是有的时候一直卡在下面这里,绿色小条条一直来回转悠,错也不报:
卡在这里
断断续续这种问题遇到小半年了,有时候不知道怎么捅咕捅咕就好了。最近下定决心整明白它,下次自己在遇到问题还能回来看看。

下面给一点排查建议,同时给出解释,建议慢慢看,学习心急不得

最开始的排查:打开最下面的TCL console窗口

看看跑到哪一步了,如果是显示如下图所示:

modelsim >

如图所示
那证明你确实遇到了问题,否则建议慢慢等待,根据你实现的复杂程度,调用也会有快慢之分。
如果确实遇到问题

第一个建议:右键run simulation,选择reset behavior simulation(/斜眼笑)

解释:有的时候我会在VIVADO simulater和ModelSim中切换,切换中很容易遇到不能调用ModelSim这种情况,这时reset一下就可以了。建议遇到不能调用第一时间reset,反正不亏,没准就可以解决了呢

第二个建议:一个一个注释掉自己调用的模块、保存、run simulation。

如果注释掉某一个模块后ModelSim调用成功了,恭喜你!!!那就证明是这个模块的问题,可以往下进行了。

第三个建议:看看自己例化模块的时候是不是没写模块名称?

解释:有的时候你例化模块不写例化名字,他也不会报错,而是给你个warning,但是我写代码习惯不好,每次都有几百个warning,有一次我一个一个查才看到这个报警,算是帮大家排雷了。(我经常犯这个错误,如下图捂脸(/ω\)
例化未填写例化名称

第四个建议:看看自己调用的模块有没有语法错误

解释:有的时候,你顶层模块调用的模块如果有语法错误等(红色小波浪线),他在run simulation的时候是不会给你报出来的,而是卡在上面这个图的位置一直等待,这个错误也很常见。

  • 6
    点赞
  • 31
    收藏
    觉得还不错? 一键收藏
  • 5
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值