Jan
16
1. waveform compare
2. dataflow hierarchy
3. udo file
4. Verilog FSM state name
5. ModelSim的系统设置
6. 如果要使用两个自己编译的库
7. 保存所有信号记录
8. Change Directory
9. ModelSim仿真结果不正确 和-novopt选项
10. 常用快捷键
[2006.11.9]
1. waveform compare
比较两个wlf文件。
Tools -> Waveform Compare -> Comparision Wizard
2. dataflow hierarchy
在dataflow窗口显示出某个信号所在的hierarchy。
Dataflow窗口 -> Tools -> Options -> Show Hierarchy
3. udo file
将某个添加了除顶层端口信号的wave的do文件保存下来,以便下一次开启时不用重新添加信号和restart。此方法是我觉得最简单的调试方法。
Wave窗口 -> File -> Save -> Format -> x.do
打开do文件并将有用的内容复制到ISE工程目录下的.udo文件中,以后每次做仿真都可以不用再添加信号了。
如果更改了源代码需要重新compile,也不需要将ModelSim关掉,只需要按向上键,执行一次xx.fdo或者xx.tdo文件即可,因为fdo和tdo文件都会自动调用udo。
4. Verilog FSM state name
Verilog写的状态机在仿真时状态名是数字。如果能使用状态名来调试就会方便许多。
使用virtual function。太长,方法请参考这里
http://etdata.blogbus.com/logs/2006/10/3695479.html
5. ModelSim的系统设置
ModelSim的设置信息一个是modelsim.ini,另一个在注册表[HKEY_CURRENT_USER\Software\Model Technology Incorporated\ModelSim]路径下
6. 如果要使用两个自己编译的库
众所周知,ModelSim PE/SE是要编译Xilinx库的。如果既想要ISE8.1的库,又想要ISE8.2的库,直接编译两次会使ModelSim的lib极其混乱。
解决方案就是,保留三个modelsim.ini文件,一个8.1的,一个8.2的,一个原始的。8.1的和8.2的很好理解,什么时候要用就复制到Modelsim安装目录下去;原始的为了以后还要编译别的版本而保留。
7. 保存所有信号记录
可以将所有信号的翻转情况记录下来,如果需要在Wave窗口再添加信号,就不用restart,添加信号,然后再重新run了。
8. Change Directory
改变当前目录,可以使用File菜单下的Change Directory,也可以在Transcript窗口中直接输入cd命令。
只不过cd命令不认windows中的反斜杠,会以为这是一个转义符。解决方法当然有很多,比如手动把所有的\都改成/。
更方便的方法是在这个用到\的路径两边加上花括号,比如:
[2008.12.23]
9. ModelSim仿真结果不正确
如果仿真出现在某些机器上是正确的,某些机器上不正确,或者没有出现想象中的结果又没有找到错误所在,可以尝试关掉优化选项。即在vsim命令中加 -novopt 属性。
参考:AR24776,AR24293
[2009.01.16]
10. 常用快捷键
F4: Wave缩小至全图
F5: 缩小
F6: 放大
Ctrl + 鼠标左键按住后拖动 : 放大局部
2. dataflow hierarchy
3. udo file
4. Verilog FSM state name
5. ModelSim的系统设置
6. 如果要使用两个自己编译的库
7. 保存所有信号记录
8. Change Directory
9. ModelSim仿真结果不正确 和-novopt选项
10. 常用快捷键
[2006.11.9]
1. waveform compare
比较两个wlf文件。
Tools -> Waveform Compare -> Comparision Wizard
2. dataflow hierarchy
在dataflow窗口显示出某个信号所在的hierarchy。
Dataflow窗口 -> Tools -> Options -> Show Hierarchy
3. udo file
将某个添加了除顶层端口信号的wave的do文件保存下来,以便下一次开启时不用重新添加信号和restart。此方法是我觉得最简单的调试方法。
Wave窗口 -> File -> Save -> Format -> x.do
打开do文件并将有用的内容复制到ISE工程目录下的.udo文件中,以后每次做仿真都可以不用再添加信号了。
如果更改了源代码需要重新compile,也不需要将ModelSim关掉,只需要按向上键,执行一次xx.fdo或者xx.tdo文件即可,因为fdo和tdo文件都会自动调用udo。
4. Verilog FSM state name
Verilog写的状态机在仿真时状态名是数字。如果能使用状态名来调试就会方便许多。
使用virtual function。太长,方法请参考这里
http://etdata.blogbus.com/logs/2006/10/3695479.html
5. ModelSim的系统设置
ModelSim的设置信息一个是modelsim.ini,另一个在注册表[HKEY_CURRENT_USER\Software\Model Technology Incorporated\ModelSim]路径下
6. 如果要使用两个自己编译的库
众所周知,ModelSim PE/SE是要编译Xilinx库的。如果既想要ISE8.1的库,又想要ISE8.2的库,直接编译两次会使ModelSim的lib极其混乱。
解决方案就是,保留三个modelsim.ini文件,一个8.1的,一个8.2的,一个原始的。8.1的和8.2的很好理解,什么时候要用就复制到Modelsim安装目录下去;原始的为了以后还要编译别的版本而保留。
7. 保存所有信号记录
引用
log -r /*
可以将所有信号的翻转情况记录下来,如果需要在Wave窗口再添加信号,就不用restart,添加信号,然后再重新run了。
8. Change Directory
改变当前目录,可以使用File菜单下的Change Directory,也可以在Transcript窗口中直接输入cd命令。
只不过cd命令不认windows中的反斜杠,会以为这是一个转义符。解决方法当然有很多,比如手动把所有的\都改成/。
更方便的方法是在这个用到\的路径两边加上花括号,比如:
引用
cd {F:\Project}
[2008.12.23]
9. ModelSim仿真结果不正确
如果仿真出现在某些机器上是正确的,某些机器上不正确,或者没有出现想象中的结果又没有找到错误所在,可以尝试关掉优化选项。即在vsim命令中加 -novopt 属性。
参考:AR24776,AR24293
[2009.01.16]
10. 常用快捷键
F4: Wave缩小至全图
F5: 缩小
F6: 放大
Ctrl + 鼠标左键按住后拖动 : 放大局部
用Spartan3E Starter Kit来做USB Cable,你想到过吗?
有限状态机编写





以前用Modelsim仿真的时候,每次修改源代码都要关掉modelsim,然后再从ISE中重新打开,一直觉得这个相当麻烦。但一直想不出办法,以后就不用那么麻烦了,感谢Ricky!呵呵~
学设计,而不是学工具,希望我的经验能对大家有帮助。
xilinx要成立上海地区学生俱乐部,找到我们实验室牵头,以后还要多请教你呀