利用do文件方式进行modelsim仿真

举例的工程是一个加法器,待测试功能模块是add.v,测试激励是tb_add.v,do文件是tb.do

下面直接附上主要步骤:

(1)首先新建文件夹,如sim_add,在该文件夹下再新建3个文件夹,分别是:sim、tb、src

sim:modelsim的工程文件存放,如tb.do

tb:测试激励文件存放,如tb_add.v

src:待测试的模块代码(*.v、仿真库文件.v、IP模块文件.v),如add.v

其中如果工程里带有IP的设计,则src文件夹里还需要仿真库文件和IP模块文件

接着编写do文件,存放在sim文件夹下,一般do文件都写些如下的操作:

复制代码
vlib work
vmap work work

vlog -novopt -incr -work work "../tb/tb_add.v"
vlog -novopt -incr -work work "../src/add.v"

vsim -novopt work.tb_add

add wave -noupdate /tb_add/clk
add wave -noupdate /tb_add/rst_n
add wave -noupdate -hex /tb_add/a1
add wave -noupdate -hex /tb_add/a2
add wave -noupdate -hex /tb_add/out

run -all
复制代码

以后进行通用时,需要修改的几句主要是以下几句:

编译相关文件:vlog -novopt -incr -work work "../tb/tb_add.v"      vlog -novopt -incr -work work "../src/add.v"

仿真测试激励:vsim -novopt work.tb_add

添加信号波形:add wave -noupdate /tb_add/clk           add wave -noupdate /tb_add/rst_n  

                   add wave -noupdate -hex /tb_add/a1    add wave -noupdate -hex /tb_add/a2 

                   add wave -noupdate -hex /tb_add/out 

可以添加自己需要观察的波形信号,这个很方便,省去了信号查找的麻烦

最后打开modelsim,在File/Change Directory下指定仿真工程的文件夹位置,如x:/sim_add/sim下即可。

 

或者在Tcl框中直接输入cd命令,如下图所示:

接着在Tcl框里输入do *.do即可进行仿真

猜你喜欢

转载自blog.csdn.net/wordwarwordwar/article/details/80445773
今日推荐