准备材料
- Vivado
- Modelsim
开始
遇到的问题
第一种:
最开始是只用vivado自带的仿真器,这个窗口看起来还凑合,但是确点也很明显。即每次在一个大型工程中,需要分别仿真不同的模块。我的做法就是写好.v 和testbench文件后,分别在相应的source窗口中把这两个文件设为顶层。然后进行仿真。缺点就是在修改了.v文件后,有时需要关掉仿真,然后重新运行仿真,再调用保存过的波形文件,再restart,再run很是麻烦。虽然这些可以通过自定义命令来解决,但是我试过后,效果不是很理想。
第二种:
用vivado调用modelsim进行仿真。设置部分就请读者百度吧,这个是有好处的,那就是建立工程后,设置为自己的顶层.v 和testbench文件后,在vivado中点击运行仿真,会自动弹出modelsim的窗口,且体验不错。但是这东西有bug,那就是当我更换待仿真的模块后或者某些不知名的原因,再次运行仿真,会一直无法弹出modelsim窗口。现象如下:
第三种:
先学习下如何建立Modelsim工程。
仿真工程建立
维护Modelsim工程,建立一个Modelsim工程,然后把该大型工程中用到的所有.v和testbench文件都加入进来。
这时根本不需要更换什么顶层文件,自己心中只需要在vivado的rtl级窗口中知道各个模块的层次调用关系即可。然后需要仿真哪个模块,只需要在modelsim中选中该tb文件,然后右键仿真即可。甚是方便,然后对应模块得到的wave.do配置文件可以存为对应的名字,这样也不会冲突。还可以方便后期再次查看该仿真文件。而且在仿真的同时还可以切到vivado看各个模块,信号名的关系。
自我感觉modelsim的优势就是专业,强大,脚本使用得当的话,效率更高。
好了,收工~