易懂的modelsim學(xué)習(xí)筆記
2.為源代碼,測試臺文件,仿真各建一文件夾。如src,tb,sim
3.編寫源代碼,testbench。如cnt.v,tb_cnt.v文件,同時文件名里的模塊名與文件名相同,如module cnt( ), module tb_cnt( )。
4.再sim文件夾里加入tb.f文件:../tb/tb_cnt.v
../src/cnt.v
../tb/tb_cnt-y
../src +libext+.v(這里源代碼中可有許多,下一次做的DPLL必須要用第二種)
5.下面開始仿真,仿真,顧名思義要在仿真文件夾sim中進(jìn)行。pwd 出現(xiàn)當(dāng)前目錄cd ..當(dāng)前目錄向上一級 cd e:/modelsim進(jìn)入e盤中的modelsim目錄
6.vlib work (建工作庫),此時從庫文件中含有modelsim自動生成的_into文件。
7.vlog –f tb.f (編譯 .v文件),此時庫文件加入了cnt.v 和 tb_cnt.v模塊
8.vsim -voptargs=”+acc” tb_cnt (在testbench中測試源代碼),此時sim文件夾里出現(xiàn)了vsim文件,work文件夾里有一些仿真文件。同時在modelsim中出現(xiàn)sim項(xiàng)。
9.右擊sim項(xiàng)中的實(shí)例名稱,點(diǎn)擊 add to wave all items in design 。本例中實(shí)例項(xiàng)是inst_cnt。(cnt inst_cnt(端口連接) 其中cnt為實(shí)例引用的模塊名稱,inst_cnt為實(shí)例引用中的實(shí)例名稱),在wave窗口中出現(xiàn)的信號為/tb_cnt/clk
/tb_cnt/rstn
/tb_cnt/cnt(它們?yōu)檫B到端口的信號)
/tb_cnt/inst_cnt/i_clk
/tb_cnt/inst_cnt/i_rstn
/tb_cnt/inst_cnt/o_cnt (它們?yōu)槟Kcnt中定義的端口)。
10.出現(xiàn)wave窗口,仿真即可。其中wave窗口中的按鈕doom in ,doom out ,doom full??烧{(diào)整波形大小。
11.批處理文件(do文件):quit -sim
vlog -f tb.f
vsim -voptargs=”+acc” tb_cnt
add wave sim:/tb_cnt/inst_cnt/*
保存為sim.do文本文件,它等同于7—9步。
評論