MODELSIM/仿真问题【汇总帖】
modelsim/questasim 仿真教程---如果同学们的问题我们帖子里面没有的请第一时间联系我们对新问题进行补充!:http://www.mdy-edu.com/wentijieda/20210409/1215.html
【问题1】modelsim能显示二维数组变量波形吗?
答:定义一个xxx
https://blog.eetop.cn/data/attachment/ueditor/image/20220506/1651796840387799.png显示效果是
https://blog.eetop.cn/data/attachment/ueditor/image/20220506/1651796841461402.png
【问题2】当用modelsim在观察波形的时候,添加新的波形进去,发现没有数据,代码无改动,新添加的信号之前是有波形的,是什么原因?
答:当添加新的波形之后,需要复位,重新Run才可以的。
【问题3】软件安装是,有一个步骤是设置环境变量,如何做?
答:在控制面板中找到“编辑系统环境变量”,
https://blog.eetop.cn/data/attachment/ueditor/image/20220506/1651796843481322.png
然后再“变量名”中填入如图所示内容,再变量值中写入LICENSE.TXT文件(破解器生成的)存放的位置
https://blog.eetop.cn/data/attachment/ueditor/image/20220506/1651796844756420.png
【问题4】仿真的时候,一些信号出现红线,是怎么回事?https://blog.eetop.cn/data/attachment/ueditor/image/20220506/1651796851324900.png
答:仿真时出现红线,表示该信号为x态,也就是不知道是什么值。
如果这个值不是您所想所要的,您需要定位才能找到真正的原因。
定位的基本思路:找到产生这个信号的代码,根据代码里的条件,分析为什么是红色。
定位的方法,可以参考如下帖子:08 定位问题能力http://www.mdy-edu.com/wentijieda/20210408/1190.html?1617952333
【问题5】编写测试文件的时候,要严格模拟真实的外设情况设计激励吗?例如说,外设输出信号dout,按照时序要求是每1us变化一次,是不是意味着仿真时也要这样做?或者是下面图片的例子
https://blog.eetop.cn/data/attachment/ueditor/image/20220506/1651796901835411.png
答:通常来说,一般测试文件会模拟外设的情况,来设计这个激励。 但如果遇到设计复杂,评估没有必要的情况,也会简化仿真。 例如上图中的问题,按照时序图要求,sio_din不用“赋值”。但问题是,“不用赋值”和给“0”,到底有什么不同?我们更关心的是,设计代码不要在 此期间get这个值就好了。也就是说,这一段区域,是大家都不关心的,就没有必要去设计得复杂。还有一个例子:dout每1us变化一次,这是真实情况。 但我在编写文件时,每个时钟都给不同的值,然后确认在我需要的时候,能不能获得到当前值,这样更能保证设计要求。其实,总结一点的是:我们不关心仿真文件激励做得“不够好”。我们更关心的是,在此时此种激励下,我们的设计代码对不对。这才是核心!
【问题6】带有ip核的仿真中,会提出如下图的错误?(module "dcfifo"is not define)? https://blog.eetop.cn/data/attachment/ueditor/image/20220506/1651796903407894.png答:在Quartus生成ip核的界面中,一般倒数第二页会说明本ip核涉及到的库文件,大部分常用ip核都只涉及到altera_mf.v这个库文件。这个库文件应该在Quartus的安装路径下xxxx/quartus/eda/sim_lib这个路径下。特别需要注意的是,ip核是由哪个Quartus生成的,仿真时就要添加对应Quartus的仿真库文件。
【问题7】在仿真的时候,编译全部都是通过的,但是一点击simulat,就会出现“Errorloadingdesign”这样的错误,怎么办?
答:出现这个错误的时候,一定要往上找错误的信息,不要盯着“Errorloadingdesign”看,比如下面:
https://blog.eetop.cn/data/attachment/ueditor/image/20220506/1651796904976843.png 红框部分才是真正需要关注的报错信息。
【问题8】如果修改modelsim显示的进制数?例如将数据以16进制显示。
答:选中该信号,右键,有一个radix选项,在该选项里可以选择要显示的方式。
【问题9】MODELSIM加载程序的时候提示:increasing limit to 75
https://blog.eetop.cn/data/attachment/ueditor/image/20220506/1651796905663760.jpg
答:注意看图中的U1,是有很多级的U1。这个U1就是模块名或者例化名,这是因为多级嵌套调用才会出现的问题。例如,当模块ABC里面,例化了一个模块ABC,这就是自己例化了自己,就会出现问题。所以,需要检查模块名的正确性。
页:
[1]