原创 modelsim仿真时不能观察所有寄存器波形的解决方法

2014-12-3 23:05 3773 7 7 分类: FPGA/CPLD

问题描述:
在用modelsim仿真时,可能出现不能把object添加到wave中去的问题,用add wave all命令的话,会提示

# .main_pane.mdi.interior.cs.vm.paneset.cli_0.wf.clip.cs.pw.wf
# ** Error: (vish-4014) No objects found matching ‘*’.
# Error in macro ./stopwatch_tb.fdo line 19
# (vish-4014) No objects found matching ‘*’.
# while executing
# “add wave *”

或者没有错误,但波形里只有输入输出端口,不能观察模块内部的寄存器。

本人遇到的一个实际问题:使用DO文件做一个简单的仿真时遇到了do文件执行完后输出变量的波形显示不出来,do文件中有一个创建输出变量的波形命令(提示无法创建此输出变量的波形),想必对刚入门的同学来说这是很困惑的问题,由此在网上搜到此方法,分享给大家,望大家在学习FPGA的道路上一同进步。

法一:
在安装目录下C:\Modeltech_6.2b目录下找到modelsim.ini文件(此文件是),将其属性改为可写即将原来选中的“只读”去掉。打开文件将里面的VoptFlow = 1改为VoptFlow = 0;然后将其属性依然改为“只读”。值得一提的是,如果在修改modelsim.ini之前建立的project,在修改之后仍然会出现没有波形的情况,这时你只需要建立一个新的project把你的代码移过去就行了。因为在修改modelsim.ini之前建立的project还是默认VoptFlow = 1。

法二:
vsim -novopt work.模块名 (命令行)

列完了解释原因:
在6.2以前的所有版本中,modelsim安装目录下的modelsim.ini文件中,VoptFlow选项是默认被注释掉,也就是关闭的,而在6.2系列版本中,默认是打开的,这就可能导致仿真时出现问题。VoptFlow在ini文件中的描述是:Set to turn on automatic optimization of a design。从mentor的文档中得知,vopt的命令会对内部信号互联进行优化。为什么会有不同默认呢,这里有答案。
it is automatically inserting the -vopt command by default, which clashes with the EDK IP files for the EDK cores. This command performs global optimization on Verilog and mixed-HDL designs after they are compiled, which is not necessary for the EDK IP models.

http://www.xilinx.com/support/answers/24293.htm
http://blog.sina.com.cn/s/blog_6687b8a40100h74d.html

PARTNER CONTENT

文章评论0条评论)

登录后参与讨论
EE直播间
更多
我要评论
0
7
关闭 站长推荐上一条 /3 下一条