vivado联合modelsim仿真——脚本操作编译,仿真及保存波形

vivado联合modelsim仿真——脚本操作编译,仿真及保存波形

本文内容均来自个人使用经验,希望可以帮助大家通过脚本节省相关操作的时间,记录在此做分享交流。

确保已经完成vivado和modelsim的联合工作,可参考vivado联合modelsim报错:vsim-19 Failed to access library ‘unisims_ver‘ at ‘unisims_ver‘中小节:添加编译库

仿真路径文件介绍

从vivado中调用modelsim之后,在工程路径:\gtwizard_0_ex\gtwizard_0_ex.sim\sim_1\behav\modelsim下会产生如下文件(这里以gtwizard0_ex工程为例):

image-20210131145256022

其中上述比较重要的文件为:

  • compile.bat——编译快捷脚本;
  • xxxx_simulate.do——仿真脚本文件;
  • xxxx_wave.do——仿真波形属性文件;
  • simulate.bat——仿真快捷脚本文件;

其他的比如xx_log即为对应的log文件,在编译或这仿真时,提示的warinings & errors也会在这里面显示,如果在软件中寻找不方便,可以在这里进行查找。

对应的xxx_rom_init_rx.datxxx_rom_init_tx.dat为初始ROM值,在Source文件中调用;

快捷编译

如果修改过tb文件或这RTL的源码文件,可以直接双击compile.bat进行编译,弹出cmd窗口进行编译(修改过源文件一定要记得编译,再进行仿真)。

如果出错窗口就一直显示,可根据提示内容进行修改。如果不出错,cmd窗口会自动退出。

感兴趣的可以用记事本打开此文件,内部通过modelsim执行了xxxx_compile.do文件,对每个已将加入到xxxx_compile.do的.v文件进行编译。

通过双击compile.bat文件进行编译,比使用vivado GUI进行调用方便。

快捷仿真

如果不打开vivado GUI,可以通过双击simulate.bat进行modelsim仿真。

脚本会自动打开Vsim窗口,并在脚本窗口运行xxxx_simulate.do脚本。

xxxx_simulate.do脚本中,可以修改仿真的时间,波形属性文件等。

######################################################################
#
# File name : gtwizard_0_TB_simulate.do
# Created on: Sun Jan 31 11:27:17 +0800 2021
#
# Auto generated by Vivado for 'behavioral' simulation
#
######################################################################
vsim -voptargs="+acc" -L xil_defaultlib -L unisims_ver -L unimacro_ver -L secureip -lib xil_defaultlib xil_defaultlib.gtwizard_0_TB xil_defaultlib.glbl

set NumericStdNoWarnings 1
set StdArithNoWarnings 1

## 这里修改波形属性文件
do {gtwizard_0_TB_wave.do}

view wave
view structure
view signals

do {gtwizard_0_TB.udo}

## 这里修改仿真时间
run 1000ns

波形保存

如果在仿真时候,对波形进行了调整,比如添加了一系列波形名字,调整了波形的颜色,波形的属性,数值的格式等,可以直接在wave窗口下使用Ctrl + S,将波形保存为xxxx_wave.do文件,并将刚才描述的xxxx_simulator.do文件中修改为:

do {xxxx_wave.do}

这样,在下次使用xxxx_simulate.do的时候就会加载上次保存的波形属性了。

注意 ,如果只保存为wave.do可能造成下次被默认覆盖。

常用的操作

如果通过仿真波形调整到了BUG,需要修改源文件再进行仿真,笔者一般会这么操作:

  • 在波形窗口中保存波形文件;

  • Atom编辑器中修改了Source文件之后,双击compile.bat文件进行编译;

  • 通过之后,在VsimTranscript窗口中,按方向键,找到命令:do xxxxsimulate.do

  • 回车,等待仿真完成,继续查看波形;

这样的方式是笔者使用最流畅的。

结束语

经常操作的话,得通过一些方法进行快捷操作,不能把时间都浪费在操作上。

这样的方式虽然不是最合理的,但是使用后找到的比较便捷的了。

如果读者有什么更好的方法,留言讨论一下哈。

2021-01-31.

猜你喜欢

转载自blog.csdn.net/sinat_31206523/article/details/113477913
今日推荐