Modelsim-仿真方法总结4页_第1页
Modelsim-仿真方法总结4页_第2页
Modelsim-仿真方法总结4页_第3页
Modelsim-仿真方法总结4页_第4页
Modelsim-仿真方法总结4页_第5页
已阅读5页,还剩1页未读 继续免费阅读

下载本文档

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

文档简介

1、 Modelsim 仿真方法总结Modeling 仿真工具是Model公司开发的。它支持Verilog、VHDL以及他们的混合仿真。Modelsim各版本的使用方法大体一致,Modelsim仿真主要分为前仿真和后仿真。下面来具体介绍modelsim的仿真方法,涉及quartus-modelsim联合(使用)仿真的差异会特别提示。前仿真与后仿真说明1.1 前仿真前仿真也称为功能仿真、行为仿真。旨在验证电路的功能是否符合设计要求,其特点是不考虑延迟(包括门延迟与线延迟),主要验证电路与理想情况是否一致。前仿真需要用到RTL级代码(由源代码经过综合后产生)与Testbench。1.2)后仿真后仿真也

2、称为时序仿真或者布局布线仿真。是指在电路已经映射到特定的工艺环境以后,综合考虑门延迟与线延迟的影响,验证电路在一定的时序条件下是否存在时序违规以及能否满足设计构想的过程。需要用到的文件是从布局布线结果中抽象出来的门级网表、testbench和后缀名为sdo或者sdf的标准时延文件。注:扩展名为sdo和sdf的标准时延文件包含门延迟与实际布线延迟,能较好的反应芯片的实际工作情况。二)modelsim仿真主要有以下几个步骤:(1)建立库并映射库到物理目录;(2)编译源代码(包括Testbench);(3)执行仿真;解释:库:modelsim中有两类仿真库。一种是工作库,默认名为work;另一种是资

3、源库。Work库中存放当前工程下所有已经编译过的文件,所以编译前一定要建立一个work库。资源库存放work库中已经编译文件所要调用的资源,这样的资源可能有很多,它们被存放在不同的资源库内。(例如要想对综合在cyclone芯片中的设计做后仿真,就需要有一个名为cyclone_ver的资源库。)映射库用于将已经预编译好的文件所在目录映射为一个modelsim可识别的库。(此即是为仿真库建立一个逻辑映像的行为过程,后面会提到,在modelsim中新建库时,create a new library and a logical mapping to it或a map to an existing li

4、braryd的提示)上述三个步骤是大的框架,前仿真和后仿真均是按照这个框架进行的,建立modelsim工程对前后仿真来说都不是必须的。下面分别介绍每一步的操作。2.1)建立库在执行一个仿真前先建立一个单独的文件夹,将操作对象文件放在该文件夹下面。然后启动modelsim软件将modelsim当前路径改动到此文件下。修改方法是FileChange Directory。注意:上面说的是独立运行modelsim仿真的情况。当采用quartus联合modelsim仿真时,在quartus里面设置第三方EDA仿真工具后,编译成功会自动在quartus工程目录下面创建一个simulationmodelsi

5、m的文件夹,此文件夹等同于独立运行moddelsim仿真时最先建立的文件夹。另quartus联合modelsim仿真,modelsim默认路径即为其自动创建文件夹simulationmodelsim下,不必人为更改。启动modelsim后,建立仿真库。点击filenewlibrary,出现对话框,选择a new library and a logical mapping to it(已默认),在library name 中输入要创建库的名称。总结步骤为:启动modelsim-点击file-chang directory(如需更改路径的话);再file-new-(project)-library

6、,进行相关设置。即可。2.2)编写源代码及testbench;在编写目标测试文件(testbench)之前,我们先写完目标文件(既可在quartus中编写,也可以在modelsim中编写),把它编译进工作库。(当然此步也可以等到和测试文件写完以后一起编译)。源代码的编写就不用介绍了,下面介绍编写testbench的两种方法。A) 可以在modelsim内直接编写测试文件,而且modelsim提供各种testbench模板,我们只需更改其中小部分即可。在modelsim中执行FileNewSourceLibrary或者直接点新建文件,会出现一个verilog(或VHDL)文本编辑页面,编辑测试文

7、件即可。另modelsim中提供各种测试文件模板,直接拿过来用会减少工作量。在verilog文本编辑页面空白处右键点击Show Language Templates,然后会出现一个加载工程,接着在刚才文本编辑窗口左边出现一个Language Templates窗口,双击Creat Testbench会出现一个创建向导,选择Specify Design Unit工作库下,work工作库中的目标文件(即为目标文件配套testbench),点Next。可以指定Testbench的名称以及要编译到的库等,此处我们使用默认设置直接点Finish。这时在Testbench内会出现对目标文件的各个端口的定义

8、还有调用函数接下来,设计者可以自己往Testbench内添加内容了,我们只需更改其中的少量部分,即可完成testbench,然后保存为.v格式即可。按照前面的方法(点中文件后右键,选中compile即进行该文件的编译,或者点击菜单栏中的compile菜单,然后选中要编译的文件)把Testbench文件也编译到工作库中。B) 在 Quartus内编写并编译 Testbench ,之后将Testbench 和目标文件放在同一个文件夹下,按照前面的方法把 Testbench 文件和目标文件都编译到工作库中之后。另如果在工作库中没有该文件(在Testbench文件没有端口的情况下),则在Simulat

9、eStart Simulate卡片中去掉优化选项Enable optimization之后再重新编译,即可在工作库中找到该文件。三)执行仿真(分别说明前仿真和后仿真)3.1)前仿真前仿真相对来说简单些,在执行到上面一步,把需要的文件编译到作库后,我们只需点simulationstart simulation或快捷按钮。会出现startsimulation对话框,点击Design标签选择work库(工作库)中的测试文件然后点ok既可以。在主界面中会多出来一个Objects窗口,里面显示 Testbench 里定义的所信号引脚,在Workspace里也会多出来一个Sim标签。右键点测试文件,选择A

10、dd-Add to Wave,然后将出现Wave窗口,现在就可以仿真了。3.2)后仿真后仿真与前仿真步骤大体相同,只不过中间需要添加仿真库(和所选器件资源库,例如在原理图文件中用到IP core,我们这里就要把相关的_mf.v库加进来。)网表和延时文件的步骤。后仿真的前提是quartus已经对要仿真的目标文件进行编译,注意引脚的分派。并生成modelsim仿真所需要的.vo文件(网表文件)和.sdo文件(时延文件)。具体操作过程又有两种方法,一种是通过Quartus调用Modelsim,Quartus在编译之后自动把仿真需要的.vo文件以及需要的仿真库加到modelsim中,操作简单;一种是手

11、动将需要的文件和库加入modelsim进行仿真,这种方法可以增加主观能动性,充分发挥modelsim的强大仿真功能。A) 通过quartus调用modelsim;使用这种方法时首先要对Quartus进行设置。 先运行Quartus,打开要仿真的工程,点菜单栏的Assignments,点EDA Tool settings,选中左边Category中的Simulation.,在右边的Tool name中选ModelSim(Verilog),选中下面的Run Gate Level Simulation automatically after complication。Quartus中的工程准备好之后

12、点击start complication按钮,此时modelsim会自动启动,而quartus处于等待状态(前提是系统环境变量中用户变量中PATH要设置好modelsim安装路径)。而且work库中出现了需要仿真的文件。Modelsim自动将quartus生成的.vo文件编译到work库,并建立相应的资源库。编写测试台程序,最好放在生成的.vo文件所在的目录,以方便在需要手动仿真时使用。点Compile在出现的对话框中选中刚写好的测试文件,然后点Compile按钮,编译结束后点Done,这时在Work库中会出现测试台文件。点击simulate-Start Simulation或快捷按钮 会出现

13、start simulate对话框。点击Design标签选择Work库下的测试文件,然后点击Libraries标签在Search Library中点击Add按钮,选择仿真所需要的资源库(如果不知道需要选择哪个库,可以先直接点Compile看出现的错误提示中说需要的库名,然后再重复上述步骤)。再点start simulate对话框的SDF标签。在出现的对话框的SDF File框内加入.sdo时延文件路径。在Apply To Region框内有一个“/”, 在“/”的前面输入测试台文件名,在它的后面输入测试台程序中调用被测试程序时给被测试程序起的名称。(一般为DUT)B) 手动仿真;手动仿真需要自

14、己添加文件和编译库,但可以充分发挥modelsim强大的仿真功能。操作时也要先对quartus进行设置,设置与前面相同只是不要选中Run Gate Level Simulation automatically after complication。然后启动modelsim,将当前路径改到工程文件夹simulationmodelsim下。向该文件夹中手动添加所需要的仿真文件,包括.vo文件、相关芯片资源库(后缀_atoms.v)以及原理图情况下的IP core相关资源(后缀-mf.v)。然后在modelsim中点编译,将这些文件编译到工作库下,点击simulate-Start Simulation或快捷按钮 会出现start simulate对话框。这里和A情况相比只有Libraries标签在Search Library时不一样,其余2项都一样。Libraries标签在Search Library下选

温馨提示

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

评论

0/150

提交评论