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步。

转载自:http://www.elecfans.com/bandaoti/eda/20100605218972.html

05-11 16:53