利用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即可進行模擬