Modelsim简明使用指南.doc_第1页
Modelsim简明使用指南.doc_第2页
Modelsim简明使用指南.doc_第3页
Modelsim简明使用指南.doc_第4页
Modelsim简明使用指南.doc_第5页
已阅读5页,还剩6页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

Modelsim简明使用指南1 前言 作为一种简单易用,功能强大的逻辑仿真工具,Modelsim具有广泛的应用。这里对ModelSim作一个入门性的简单介绍。首先介绍ModelSim的代码仿真,然后介绍门级仿真和时序验证。2 代码仿真 在完成一个设计的代码编写工作之后,可以直接对代码进行仿真,检测源代码是否符合功能要求。这时,仿真的对象为HDL代码,比较直观,速度比较快,可以进行与软件相类似的多种手段的调试(如单步执行等)。在设计的最初阶段发现问题,可以节省大量的精力。2.1 代码仿真需要的文件1. 设计HDL源代码:可以使VHDL语言或Verilog语言。 2. 测试激励代码:根据设计要求输入/输出的激励程序,由于不需要进行综合,书写具有很大的灵活性。 3. 仿真模型/库:根据设计内调用的器件供应商提供的模块而定,如:FIFO(Altera常用的FIFO有:lpm_fifo /lpm_fifo_dc等)、DPRAM等。 2.2 代码仿真步骤1建立工程:在ModelSim中建立Project。如图2.1所示,点击FileNewProject,得到Creata Project的弹出窗口,如图2.2所示。在Project Name栏中填写你的项目名字,建议和你的顶层文件名字一致。Project Location是你的工作目录,你可通过Brose按钮来选择或改变。Ddfault Library Name可以采用工具默认的work。图2.1图2.22给工程加入文件:ModelSim会自动弹出Add Items to the project窗口,如图2.3所示。选择Add Exsiting File后,根据相应提示将文件加到该Project中。图2.33编译:编译(包括源代码和库文件的编译)。编译可点击ComlileComlile All来完成。4装载文件:如图2.4,点击SimulateSimulate后,如图2.5所示,选定顶层文件(激励文件),ADD加入,然后点击LOAD,装载。图2.4图2.55开始仿真:通过菜单:View Structure,View Signals,View Wave打开Structure,Signals,Wave三个窗口。在Structure窗口内选定你所要观察的信号所在的模块,然后在Signals窗口选定信号,通过鼠标左键拖放到Wave窗口,如图2.6。然后在Wave窗口,点击run all,运行,在波形窗口就可以看到信号的仿真波形。如图2.7.图2.6图2.76波形信号的保存:有时,在波形窗口内拖放了较多的信号,可以保存起来以后调入。在wave窗口,File Save format,保存成*.do文件。以后需要调入时,在modelsim主窗口命令行内执行:do *.do即可。3 门级仿真和时序仿真 使用综合软件综合后生成的门级网表或者是实现后生成的门级模型进行仿真,不加入时延文件的仿真就是门级仿真。可以检验综合后或实现后的功能是否满足功能要求,其速度比代码功能仿真要慢,但是比时序仿真要快。 在门级仿真的基础上加入时延文件“.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.22. 用Qusrtus2产生仿真所需要的网表与SDF文件:在作了第一步的正确设置后,每当你完成一次编译,Quartus2会自动在你的当前Project目录下生成一个simulation目录,在该目录下有一个modelsim的目录。在该目前下,就有我们所要的文件。如果使用VHDL语言,网表文件是.VHO,SDF文件是SDO;如果是使用Verilog语言,网表文件是.VO,SDF文件也是SDO。你也可以通过Quartus2的Processing EDA Tool Post-CompilationCommandsWrite Output Netlists来产生以上的文件,该方法如图3.3所示。图3.33在ModelSim中建立Project:与代码仿真相似,建立工程,并加入文件。不同的是,门级仿真或时序仿真,则是加入综合后的网表文件,源代码文件不需要,要将其从Project中删除。4编译源代码和网表:源代码的编译可点击ComlileComlile All来完成。5库文件的编译:库文件的编译如下所述 在成功建立Project后,Modelsim会增加一个页面,点击Modelsim左下角的Library,出现如图3.4所示画面,图3.5是上图2.左下角的放大。图3.4图3.5 如图3.6所示,点击FileNewLibrary。得到图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 根据所用器件,在 Modelsim中生成相应的库之后。在对其进行编译之前是不能使用的。首先在图3.4中,确认你刚才所加的库已经生成。以下以编译220model库为例,来说明库的编译过程。如图3.8所示,点击CompileCompile后,弹出图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 所示,点击SimulateSimulate后,图3.10图3.11 弹出图3.11所示窗口。在Design下,点开work,双击你的testbench图标,再单击Add按钮。在Libraries下,单击Add按钮,将刚才所编译的库文件加入,本例中加入了220moel。如图3.12所示图3.12对于时序仿真,还要加入反标(sdf)文件,单击SDF

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论