1. 建一個總文件夾,如cnt 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中進行。pwd 出現(xiàn)當前目錄cd ..當前目錄向上一級 cd e:/modelsim進入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項。 9. 右擊sim項中的實例名稱,點擊 add to wave all items in design 。本例中實例項是inst_cnt。(cnt inst_cnt(端口連接) 其中cnt為實例引用的模塊名稱,inst_cnt為實例引用中的實例名稱),在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步。 |