1. 程式人生 > >利用do檔案方式進行modelsim模擬

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