为了正常的体验网站,请在浏览器设置里面开启Javascript功能!

ModelSim简易使用说明

2011-12-15 11页 pdf 223KB 22阅读

用户头像

is_815621

暂无简介

举报
ModelSim简易使用说明 Modelsim使用简明指南 1 前言 作为一种简单易用,功能强大的逻辑仿真工具,Modelsim 具有广泛的应用。这里对 ModelSim 作一个入门性的简单介绍。首先介绍 ModelSim 的代码仿真,然后介绍门级仿真 和时序验证。 2 代码仿真 在完成一个设计的代码编写工作之后,可以直接对代码进行仿真,检测源代码是否符合 功能要求。这时,仿真的对象为 HDL代码,比较直观,速度比较快,可以进行与软件相类 似的多种手段的调试(如单步执行等)。在设计的最初阶段发现问题,可以节省大量的精力。 2.1 代码...
ModelSim简易使用说明
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所示,点击 FileÖNewÖProject, 得到 Creata Project的弹出窗口,如图 2.2所示。在 Project Name栏中填写你的项目名字,建 议和你的顶层文件名字一致。Project Location是你的工作目录,你可通过 Brose按钮来选择 或改变。Ddfault Library Name可以采用工具默认的 work。 图 2.1 图 2.2 2.给工程加入文件:ModelSim会自动弹出 Add Items to the project窗口,如图 2.3所示。 选择 Add Exsiting File后,根据相应提示将文件加到该 Project中。 图 2.3 3.编译:编译(包括源代码和库文件的编译)。编译可点击 ComlileÖComlile All来完 成。 4.装载文件:如图 2.4,点击 SimulateÖSimulate…后,如图 2.5所示,选定顶层文件(激 励文件),ADD加入,然后点击 LOAD,装载。 图 2.4 图 2.5 5.开始仿真:同过菜单:View -> Structure,View -> Signals,View -> Wave打开 Structure, Signals,Wave 三个窗口。在 Structure 窗口内选定你所要观察的信号所在的模块,然后在 Signals 窗口选定信号,同过鼠标左键拖放到 Wave 窗口,如图 2.6。然后在 Wave 窗口,点 击 run all,运行,在波形窗口就可以看到信号的仿真波形。如图 2.7. 图 2.6 图 2.7 6.波形信号的保存:有时,在波形窗口内拖放了较多的信号,可以保存起来以后调入。 在 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.2 2. 用 Qusrtus2 产生仿真所需要的网表与 SDF 文件:在作了第一步的正确设置后,每 当你完成一次编译,Quartus2会自动在你的当前 Project目录下生成一个 simulation目录,在 该目录下有一个 modelsim的目录。在该目前下,就有我们所要的文件。如果使用 VHDL语 言,网表文件是.VHO,SDF文件是 SDO;如果是使用 Verilog语言,网表文件是.VO,SDF 文件也是 SDO。你也可以通过 Quartus2 的 ProcessingÖEDA Tool Post-Compilation CommandsÖ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 根据所用器件,在 Modelsim中生成相应的库之后。在对其进行编译之前是不能使用的。 首先在图 3.4中,确认你刚才所加的库已经生成。以下以编译 220moel库为例,来说明库的 编译过程。如图 3.8所示,点击 CompileÖCompile后,弹出图 3.9所示窗口。 图 3.8 图 3.9 在Library窗口中选择 220model,在查找范围(I)中,将其目录定位到 Quartus2安装目录 下的 EDA\sim_lib,Altera的所有仿真库文件都在这个目录下。 可以看到,在该目录下,有 220model.v,220model.vhd,220model_87.vhd和 220pack.vhd 几个文件;其中 220model.v是 Verilog的库文件,220model.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 下,点开 wok,双击你的 testbench 图 2.标,再单击 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.开始仿真:与代码仿真一样,在这里不在说明。
/
本文档为【ModelSim简易使用说明】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑, 图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。 本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。 网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。

历史搜索

    清空历史搜索