Modelsim简明使用指南

2013年9月30日 22:41
转载(0) / 评论(0) / 浏览(18973)
门级仿真和时序仿真
使用综合软件综合后生成的门级网表或者是实现后生成的门级模型进行仿真,不加入时延文件的仿真就是门级仿真。可以检验综合后或实现后的功能是否满足功能要求,其速度比代码功能仿真要慢,但是比时序仿真要快。
在门级仿真的基础上加入时延文件“.sdf”文件的仿真就是时延仿真。优点是:比较真实的反映逻辑的时延与功能,缺点是速度比较慢,如果逻辑比较大,那么需要很长的时间。
在这里仿真以Altera的器件为例。利用经过综合布局布线的网表和具有时延信息的反标文件进行仿真,可以比较精确的仿真逻辑的时序是否满足要求。
3.1 仿真需要的文件
1.综合布局布线生成的网表文件
2.测试激励
3.元件库
4.时序仿真的话,还需要综合布局布线生成的具有时延时延信息的反标文件(sdf)
3.2 仿真步骤
1.在Quartus2中正确设置仿真工具:如图3.1所示,点击Quartus2的Assignment菜单下的EDA Tools Settings,进入图3.2。在图3.2中,点击EDA tool type,再在Tools Settings的下拉菜单中,根据你所使用的语言与Modelsim的版本,作相应的选择。
\ 
图3.1
\ 
图3.2
2. 用Qusrtus2产生仿真所需要的网表与SDF文件:在作了第一步的正确设置后,每当你完成一次编译,Quartus2会自动在你的当前Project目录下生成一个simulation目录,在该目录下有一个modelsim的目录。在该目前下,就有我们所要的文件。如果使用VHDL语言,网表文件是.VHO,SDF文件是SDO;如果是使用Verilog语言,网表文件是.VO,SDF文件也是SDO。你也可以通过Quartus2的Processing →EDA Tool Post-CompilationCommands→Write Output Netlists来产生以上的文件,该方法如图3.3所示。
\ 
图3.3
3.在ModelSim中建立Project:与代码仿真相似,建立工程,并加入文件。不同的是,门级仿真或时序仿真,则是加入综合后的网表文件,源代码文件不需要,要将其从Project中删除。
4.编译源代码和网表:源代码的编译可点击Comlile→Comlile All来完成。
5.库文件的编译:库文件的编译如下所述
在成功建立Project后,Modelsim会增加一个页面,点击Modelsim左下角的Library,出现如图3.4所示画面,图3.5是上图2.左下角的放大。
\ 
图3.4
\ 
图3.5
如图3.6所示,点击File→New→Library。得到图3.7,在Library Name中输入库名,该名应和Altera的库名保持一致。在作代码仿真(功能仿真)时,需要编译的库为220model和altera_mf。在作门级仿真(时序仿真)时,所需编译的库因所用HDL语言的不同而不同。假设用Stratix器件,对VHDL,所要编译的库文件为STRATIX_ATOMS.VHD和STRATIX_ATOMS_COMPONENTS.VHD;对Verilog语言,则需编译STRATIX_ATOMS.v文件。
\ \ 
图3.6 图3.7
[page]根据所用器件,在 Modelsim中生成相应的库之后。在对其进行编译之前是不能使用的。首先在图3.4中,确认你刚才所加的库已经生成。以下以编译220model库为例,来说明库的编译过程。如图3.8所示,点击Compile→Compile后,弹出图3.9所示窗口。
\ 
图3.8
\ 
图3.9
在Library窗口中选择220model,在查找范围(I)中,将其目录定位到Quartus2安装目录下的EDAsim_lib,Altera的所有仿真库文件都在这个目录下。可以看到,在该目录下,有220model.v,220model.vhd,220model_87.vhd和220pack.vhd几个文件;其中220model.v是Verilog的库文件,2 20model.vhd(93标准),220model_87.vhd(87标准)和220pack.vhd是VHDL库文件。在编译VHDL库文件时,要注意设置Default Options中的use 1993 Language Syntax。
这里,我们依次选定220pack.vhd,220model.vhd,并将Default Options中的use 1993 Language Syntax打上勾,按下Compile按钮。在图3.4的界面中,如果220model的边上出现了一个“+”号,则完成了这个库的编译。按照同样的方法,你可以完成其他库的编译。
6.仿真准备:至此,我们已经准备好了仿真所需要的所有文件:源代码或网表文件,testbench 文件,库文件,SDF 文件。下面开始仿真。如图3.10 所示,点击Simulate→Simulate…后,
\ 
图3.10
\ 
图3.11
弹出图3.11所示窗口。在Design下,点开work,双击你的testbench图标,再单击Add按钮。在Libraries下,单击Add按钮,将刚才所编译的库文件加入,本例中加入了220moel。如图3.12所示
\ 
图3.12
对于时序仿真,还要加入反标(sdf)文件,单击SDF,再单击Add,将SDF文件加入。如图3.13。
\ 
图3.13
通过Browse加入SDF文件,在Apply to Region框内填入反标文件所对应的模块。在图2.中,disco_test为测试激励程序,u1为被仿真的模块在激励程序中的例化名字。单击ok将sdf文件加入,然后单击load,就可以开始仿真了。
7.开始仿真:与代码仿真一样,在这里不在说明。

评论(0)

发表评论
登录
我可以
  • 评论
关联标签
关联热门电子辑
类似的技文