ModelSim Tips

View VCD Files

Run command in ModelSim console:

vcd2wlf xx.vcd xx.wlf

Then use File –> Open to open the wlf file.

waveform compare

比较两个wlf文件。

Tools -> Waveform Compare -> Comparision Wizard

dataflow hierarchy

在dataflow窗口显示出某个信号所在的hierarchy。

Dataflow窗口 -> Tools -> Options -> Show Hierarchy

udo file

将某个添加了除顶层端口信号的wave的do文件保存下来,以便下一次开启时不用重新添加信号和restart。此方法是我觉得最简单的调试方法。

Wave窗口 -> File -> Save -> Format -> x.do

打开do文件并将有用的内容复制到ISE工程目录下的.udo文件中,以后每次做仿真都可以不用再添加信号了。

如果更改了源代码需要重新compile,也不需要将ModelSim关掉,只需要按向上键,执行一次xx.fdo或者xx.tdo文件即可,因为fdo和tdo文件都会自动调用udo。

Verilog FSM state name

Verilog写的状态机在仿真时状态名是数字。如果能使用状态名来调试就会方便许多。

使用virtual function。太长,方法请参考这里

ModelSim的系统设置

ModelSim的设置信息一个是modelsim.ini,另一个在注册表[HKEY_CURRENT_USER\Software\Model Technology Incorporated\ModelSim]路径下

如果要使用两个自己编译的库

众所周知,ModelSim PE/SE是要编译Xilinx库的。如果既想要ISE8.1的库,又想要ISE8.2的库,直接编译两次会使ModelSim的lib极其混乱。

解决方案就是,保留三个modelsim.ini文件,一个8.1的,一个8.2的,一个原始的。8.1的和8.2的很好理解,什么时候要用就复制到Modelsim安装目录下去;原始的为了以后还要编译别的版本而保留。

保存所有信号记录

log -r /*

可以将所有信号的翻转情况记录下来,如果需要在Wave窗口再添加信号,就不用restart,添加信号,然后再重新run了。

Change Directory

改变当前目录,可以使用File菜单下的Change Directory,也可以在Transcript窗口中直接输入cd命令。

只不过cd命令不认windows中的反斜杠,会以为这是一个转义符。解决方法当然有很多,比如手动把所有的\都改成/。

更方便的方法是在这个用到\的路径两边加上花括号,比如:

cd {F:\Project}

ModelSim仿真结果不正确

如果仿真出现在某些机器上是正确的,某些机器上不正确,或者没有出现想象中的结果又没有找到错误所在,可以尝试关掉优化选项。即在vsim命令中加 -novopt 属性。 参考:AR24776,AR24293

常用快捷键

  • F4: Wave缩小至全图
  • F5: 缩小
  • F6: 放大
  • Ctrl + 鼠标左键按住后拖动 : 放大局部
 
ise/sim/modelsim_tips.txt · Last modified: 2010/12/25 20:59 by ricky
 
Except where otherwise noted, content on this wiki is licensed under the following license:CC Attribution-Noncommercial-Share Alike 3.0 Unported
Recent changes RSS feed Donate Powered by PHP Valid XHTML 1.0 Valid CSS Driven by DokuWiki