舉例的工程是一個加法器,待測試功能模塊是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即可進行仿真
