使用Vivado调用questasim仿真报错的原因及其解决办法

描述

有一天使用Vivado调用questasim(modelsim估计也一样),仿真报错如下:

ERROR:

add_1 must be in range[-1,DEPTH-1]

这个错误之前并没有遇到过,而且从报的错根本无从下手,不知道哪句代码错了,哪个变量的range超了,往前翻仿真的日志,也没找到问题在哪。

后来我在网上查了很久,也有人遇到这个问题的,但从一众答案中并没有找到问题的共通之处,别人的解决方法在我这根本不适用,但好像问题也有点类似。

后来我仔细的研究了一下,概括为三个字:

不定态

1,检查下Modelsim仿真中,是否有哪个变量一直是红色的(X)

2,检查下仿真中,是否有哪个ip核的输入一直是红色的(X)

3,注意下在初始化复位,即仿真最开始的地方,是否也有某个变量或ip的输入是短暂的红色的(X),这个比较难发现

4,在仿真的顶层文件中,习惯把所有的模块输入给一个初始值,造复位信号,对所有模块及变量进行复位

总结来说,报这个错时,就是与不定态有关。






审核编辑:刘清

打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分