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 出现当前目录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文件夹里出现了vsim文件,work文件夹里有一些仿真文件。同时在modelsim中出现sim项。 9. 右击sim项中的实例名称,点击 add to wave all items in design 。本例中实例项是inst_cnt。(cnt inst_cnt(端口连接) 其中cnt为实例引用的模块名称,inst_cnt为实例引用中的实例名称),在wave窗口中出现的信号为/tb_cnt/clk /tb_cnt/rstn /tb_cnt/cnt(它们为连到端口的信号) /tb_cnt/inst_cnt/i_clk /tb_cnt/inst_cnt/i_rstn /tb_cnt/inst_cnt/o_cnt (它们为模块cnt中定义的端口)。 10. 出现wave窗口,仿真即可。其中wave窗口中的按钮doom in ,doom out ,doom full。可调整波形大小。 11. 批处理文件(do文件):quit -sim vlog -f tb.f vsim -voptargs=”+acc” tb_cnt add wave sim:/tb_cnt/inst_cnt/* 保存为sim.do文本文件,它等同于7—9步。
|