仿真应该可以大大减少硬件调试!
所以学会用TESTBENCH进行功能和时序的仿真是很必要的!
将设计的module加入ModelSim中的工程,再加入包括要仿真module的test程序。编译后,进行仿真,选择testbench作为顶层文件仿真。可以从波形中看出功能是否得到印证。
布局后的时序仿真:新建工程时,要选择EDA simulation tool为 ModelSim(Verilog)。然后要将Quartus布局布线过程中生成的标准延时文件*.vo和*.sdo,还包括所用FPGA器件基本单元延时信息的文件(在D:\altera\80\quartus\eda\sim_lib中)如cyclone_atoms.v拷贝到新建的工程文件夹中进行编译,此后的步骤就和功能仿真一样。
在复杂的设计中使用task 结构可以方便调试,还需实践亲自体会。
有限状态机对任意的时序都可以进行描述,复杂的时候还需要状态机嵌套。
模块合并:
在顶层文件开始加入`inclue "./***.v",需要几个底层就添加几个。
在module sys();
.......
P_S m0( );//进行子模块P_S调用
S_P m1( ); //进行子模块S_P调用
endmodule
用户1579481 2009-9-2 22:57