首先声明:该文章是在刘志伟老师的《Modelsim的Tcl命令》的基础上写的,希望我们能越来越自动化。
1.编写好源文件。包含asyn_fifo.v、fifomem.v、rptr_empty.v、wptr_full.v、sync_r2w.v、sync_w2r.v和Testbench文件fifo_asyntb.v。 (这是异步FIFO的程序)在此建议使用Notepad++编译器编写。
2.编写.do文件(run.do),内容如下: #Create the work library vlib /modelsim_test/work #我的Modelsim安装在D盘,而Tcl语言是基于Linux的脚本 #语言,所以对于Tcl来说它的根目录“/”是D盘,所以需要将所有.V文件放在D盘的某个文#件夹下。我是在D盘下新建了一个Modelsim_test的文件夹。 vmap work /modelsim_test/work #将Modelsim的work库映射到我们建立的work库 #Compile the verilog files vlog -work work /modelsim_test/asyn_fifo.v #如果不是在安装路径下,建议用结对路径 vlog -work work /modelsim_test/fifomem.v vlog -work work /modelsim_test/rptr_empty.v vlog -work work /modelsim_test/wptr_full.v vlog -work work /modelsim_test/sync_r2w.v vlog -work work /modelsim_test/sync_w2r.v vlog -work work /modelsim_test/fifo_asyntb.v #run simulation vsim -voptargs=+acc work.fifo_asyntb view wave add wave sim:/fifo_asyntb/* run 50us #可能由于版本不一样,有些命令不同(本人猜测,因为该文档中的就有和网上教程不一样的命令),可在Modelsim的GUI下操作,并观察下方的命令。(其实有兴趣的同学可以尝试一下Quartus。)
3.编写.bat(或者.cmd)的批处理文件。我是在/modelsim_test/sim下新建了modelsim.dat。 其内容为: d: #跳到D盘 cd d:modelsimwin32 #跳到.exe的路径下 Vsim -do modelsim_test un.do #运行Modelsim
4.在Windows下双击.bat运行即可。
5.在调试过程中,若对源文件修改了二需要重新运行仿真时,只需要在命令窗口输入:do /modelsim_test/run.do,回车即可再一次自动完成整个仿真过程,十分方便。
6.若关闭DOS窗口,Modelsim也会随着关闭,它们是相互关联的。 下图为文件在磁盘的位置