利用ModelSim进行时序仿真(门级仿真),可以比较真实地反映出器件的延时情况,不过它也需要相关器件atom库的支持。
下面就用分频器实例简要说明一下:
1、在QuartusII中新建一个CNT10工程。注意EDA Simulator的设置,可以新建工程时设置也可以后续再设置,如图:
Tool name选择ModelSim,Format for output netlist选择Verilog(会生成.vo的Verilog输出文件,若选择VHDL则会生成.vho的VHDL输出文件),其它的可以默认就行。
2、添加源文件,并编译。完了就会在当前工程目录下生成Simulation>ModelSim的文件夹,里面就存放了相关仿真所需要的文件,如.vo(verilog输出文件),.sdo(延时文件)等。
3、打开ModelSim,并在刚才生成的ModelSim文件夹路径下新建一个TestCNT10A的工程。为了对比,分别进行功能仿真和时序仿真。
接下来会出现下面的界面:
点击Add Existing
File :
在QuatusII中刚才新建的工程将CNT10.v添加进去ModelSim新建的TestCNT10工程.进入以下界面:
在CNT10.v右击.选择Compile--Compile
All,问好会变成对勾,表示文件编译成功.
让后点击上图Library选项,进入以下界面:
点击Work前的+展开,发现文件已被添加到工作目录下,然后在CNT10处右击选择Simulation,将进入到仿真设置界面:
接下来进行时钟信号设置:右击上图中1处的CLK,选择Clock,
然后右击其他信号(如EN,RST)选择Force弹出下图,将Value设为所需要的值(我设为1)
其他信号,类似.但设置Din时,初始值要根据自己所需要的进行设置.(我设为4'b0001)
设置完信号后在Object框中右击选择Add---To Wave---Signals in design,弹出以下仿真界面:
在上图中单击图标
,或者在Transcript处输入“run”命令,即可进行波形仿真。