DIY编程器网

标题: FPGA系统设计的仿真验证之: ModelSim仿真工具简介 [打印本页]

作者: admin    时间: 2015-4-27 16:40
标题: FPGA系统设计的仿真验证之: ModelSim仿真工具简介
        7.2  ModelSim仿真工具简介

          ModelSim是Model Technology(Mentor Graphics的子公司)的DHL硬件描述语言的仿真软件,该软件可以用来实现对设计的VHDL、Verilog或者是两种语言混合的程序进行仿真,同时也支持IEEE常见的各种硬件描述语言标准。
           
          无论从友好的使用界面和调试环境来看,还是从仿真速度和仿真效果来看,ModelSim都可以算得上是业界最优秀的HDL语言仿真软件。它是惟一的单内核支持VHDL和Verilog混合仿真的仿真器,是做FPGA/ASIC设计的RTL级和门级电路仿真的首选;它采用直接优化的编译技术,Tcl/Tk技术和单一内核仿真技术,具有仿真速度快,编译代码与仿真平台无关,便于IP核保护和加快程序错误定位等优点。
           
          Modelsim最大的特点是其强大的调试功能。
          ·  先进的数据流窗口,可以迅速追踪到产生错误或者不定状态的原因。
          ·  性能分析工具帮助分析性能瓶颈,加速仿真。
          ·  代码覆盖率检测确保测试的完备。
          ·  多种模式的波形比较功能。
          ·  先进的Signal Spy功能,可以方便地访问VHDL、Verilog或者两者混合设计中的底层信号。
          ·  支持加密IP。
          ·  可以实现与MATLAB的Simulink的联合仿真。
           
          目前常见的Modelsim分为几个不同的版本:ModelSim SE、ModelSim PE、ModelSim LE和ModelSim OEM。
          如图7.3所示,Modelsim的用户界面和一般的Windows窗口相似,由上到下依次为:标题栏、菜单栏,工具栏,工作区和状态栏。
       

        图7.3  Modelsim界面

         

        7.2.1  标题栏

          标题栏位于整个用户界面的最上方,标题栏的左边显示当前程序的名称,右边用来控制用户界面的大小,包括最小化、最大化和关闭3种功能按钮。
           
        7.2.2  菜单栏

          菜单栏里面一共有8个菜单选项,分别是:File(文件)、Edit(编辑)、View(视图)、Compile(编译)、Simulate(仿真)、Tools(工具)、Window(窗口)、Help(帮助)。下面分别具体介绍。
           
        1.“File”菜单

          文件菜单通常包含了对工程及文件等的操作。ModelSim的文件菜单包含的命令有:New(新建)、Open(打开)、Close(关闭)、Import(导入)、Save(保存)、Delete(删除)、Change Directory(更改路径)、Transcript(对脚本进行管理)、Add to Project(为工程添加文件)、Recent Directories(最近几次的工作路径)、Recent Projects(最近几次工程)、Quit(退出)。
           
          (1)新建文件命令(File/ New)。
          单击File/ New命令,将会出现一个子菜单,共包含4个选项。
          ·  单击“Folder”(新建文件夹)后,会出现对话框,提示输入新建的文件夹的名字,即可在当前目录下新建一个文件夹。
          ·  单击“Source”(新建源文件)后,会出现源文件类型的选项(VHDL、Verilog、Other),单击可分别新建对应格式的源文件。
          ·  单击“Project”(新建工程)后,会出现对话框,提示在“Project Name”处输入新建工程的名称,在“Project Location”处指定新建工程的存放路径。在“Default Library Name”处指明默认的设计库的名称,用户设计的文件将编译到该库中。
          ·  单击“Library”(新建一个库)后,会出现对话框,提示选择“Create a New library and a logical mapping to it”(新建一个库并建立一个逻辑映像)或“A map to an existing library”(新建一个到已存在库的映像)。在“Library name”处输入新建库的名称,在“Library physical name”处输入存放库的文件名称。
           
          (2)Open(打开文件)。
          单击会出现子菜单选择打开File(文件)、Project(工程)及Dataset(WLF文件)。
           
          (3)Close(关闭)。
          单击会出现子菜单选择关闭Project(工程)或Dataset(仿真数据文件)。
           
          (4)Import(导入)。
          导入新的库。在进行某些仿真时需要的一些仿真库可以通过该方法导入,根据提示指定仿真库的路径及目标库路径,一步一步操作完成。注意ModelSim安装目录下的modelsim.ini文件不能为只读,该文件保存了ModelSim的一些设置信息
           
          (5)Save(保存)。
          保存当前仿真数据。
           
          (6)Delete(删除)。
          删除指定的工程,即删除.mpf文件,.mpf是ModelSim工程的后缀名。
           
          (7)Change Directory(改变路径)。
          改变当前工作路径,ModelSim使用的是绝对路径,而不是相对路径。这与ISE不同。在ISE中,用户可以将设计的整个目录复制到其他任何地方,只要目录完整,可以直接打开工程文件。而在ModelSim中,若将整个目录复制到其他地方,打开工程时其指向仍为原来工程的地址,可以通过更改路径来设置新的路径。
           
          (8)Transcript(脚本)。
          单击会出现子菜单,可选择操作Save Transcript(保存主窗口中脚本)、Save Transcript As(把主窗口中脚本另存为一个新文件)或Clear Transcript(清除主窗口中的脚本)。
           
          (9)Add to Project(添加到工程)。
          单击会出现子菜单,可选择操作File(添加文件到当前工程)、Simulation Configuration(添加设定的仿真配置)或Folder(添加文件夹)。
         
          (10)Recent Directories(最近几次工作路径)。
          可以从中选取最近几次的工作路径。
           
          (11)Recent Projects(最近几次工程)。
           
          可以打开最近几次的工程。
          (12)Quit(退出)。
          退出Modelsim。
           
        2.“Edit”菜单

          类似于Windows应用程序,在编辑菜单中包含了对文本的一些常用的操作。
          (1)Copy(复制)。
          复制选中的文档
          (2)Paste(粘贴)。
          把剪切或复制的文档粘贴到当前插入点之前。
          (3)Select All(全选)。
          选中主窗口中所有的抄本文档。
          (4)Unselect All(取消全选)。
          取消已选文本的选中状态。
          (5)Find(查找)。
          在命令窗口中查找字符或字符串。
           
        3.“View”菜单

          类似于其他Windows应用程序,视图菜单可以控制在屏幕上显示哪些窗口。
          (1)All Windows(所有窗口)。
          打开所有的ModelSim窗口,试一下该命令会发现ModelSim打开了许多窗口,包括波形窗口、信号列表窗口、源文件窗口等。
          (2)Dataflow(数据流)。
          打开Dataflow窗口,在该窗口中显示数据的流向。
          (3)List(列表)。
          打开列表窗口。
          (4)Process(进程)。
          打开过程窗口,该窗口显示了设计中的进程所在的位置。
          (5)Signals(信号)。
          打开信号窗口。该窗口显示了设计中所有信号的列表。
          (6)Source(源文件)。
          打开源文件窗口,可以在源文件窗口中显示设计中使用的源文件。
          (7)Structure(结构)。
          打开结构窗口,该窗口以列表方式显示了设计中所有到的结构,双击某一结构,可以查找定义该结构的语句。
          (8)Variables(变量)。
          打开变量窗口,该窗口以列表方式显示了设计中定义的所有变量。
          (9)Wave(波形)。
          打开波形窗口,这是我们仿真时经常需要查看的窗口,在其中显示了输入和输出的波形。
          (10)Dataset。
          打开Dataset浏览器来打开、关闭、重命名或激活一个Dataset。用户在使用的时候会发现没有什么变化,这时候可以看看Workspace窗口下是不是多了一个选项卡。该选项卡显示的内容与Structure窗口显示的完全相同。
          (11)Coverage(覆盖率)。
          查看仿真的代码覆盖率。
          (12)Active Processes(活动的进程)。
          当前正在执行的进程。
          (13)Workspace(工作区)。
          打开当前的工作区。
          (14)Encoding(编码)。
          以不同的编码查看。
          (15)Properties。
          显示工作区中选中对象的属性。
           
        4.“Compile”菜单

          (1)Compile(编译)。
          把HDL源文件编译到当前工程的工作库中。
          (2)Compile Options(编译选项)。
          设置VHDL和Verilog编译选项,例如可以选择编译时采用的语法标准等。
          (3)Compile All(全编译)
          编译当前工程中的所有文件。
          (4)Compile Select(编译选中的文件)
          编译当前工程中的选中文件。
          (5)Compile Order(编译顺序)
          设置编译顺序,一般系统会根据设计对VHDL自动生成编译顺序,但对于Verilog需要指定编译顺序。
          (6)Compile Report(编译报告)
          有关工程中已选文件的编译报告。
          (7)Compile Summary(编译摘要)
          有关工程中所有文件的编译报告。
           
        5.“Simulate”菜单

          这里的编译及运行命令类似于Visual Ctf等高级语言的调试时候的命令。
          (1)Simulate(仿真)。
          装载设计单元。
          (2)Simulation Options(仿真选项)。
          设置仿真选项。
          (3)Run(运行)。
          ·  Run ***ns:在该仿真时间长度内进行仿真。若要改变长度,可在Simulation Options中设置或在工具栏中修改。
          ·  Run-All(运行所有仿真):进行仿真,直到用户停止它。
          ·  Continue(继续):继续仿真。
          ·  Run-Next(运行到下一事件):运行到下一个事件发生为止。
          ·  Step(单步):单步仿真。
          ·  Step-Over:仿真至子程序结束。
          ·  Restart:重新开始仿真,重新加载设计模块,并初始化仿真时间为零。
          (4)Break(停止)。
          停止当前的仿真。
          (5)End Simulation(结束仿真)。
          结束当前仿真。
           
        6.“Tools”菜单

          (1)Waveform Compare(波形比较)。
          在子菜单中有具体进行波形比较的命令。
          (2)Coverage(覆盖率)。
          测试仿真的代码覆盖率,所谓代码覆盖率是指仿真运行到当前已运行的代码占所有代码的比例,当然是越接近100%越好。
          (3)Breakpoints(断点设置)。
          单击此选项出现断点设置对话框,设置断点。
          (4)Execute Macro(执行宏文件)。
          所谓的宏文件就是保存后的脚本,脚本保存起来,以后可以利用该命令来重新执行。
          (5)Options(选项)。
          ·  Transcript File:设置脚本文件的保存。
          ·  Command History:命令历史。
          ·  Save File:保存脚本文件。
          ·  Saved Lines:限制脚本文件的行数。
          ·  Line Prefix:设置每一行的初始前缀。
          ·  Update Rate:设置状态条的刷新频率。
          ·  ModelSim Prompt:改变ModelSim的命令提示符。
          ·  VSIM Prompt: 改变VSIM的命令提示符。
          ·  Paused Prompt: 改变Paused的命令提示符。
          ·  HTML Viewer:设置打开在线帮助的文件。
          (6)Edit Preferences(编辑参数选取)。
          设置编辑参数。
          (7)Save Preferences(保存参数选取)。
          设置保存用的参数。
         
        7.“Window”菜单

          (1)Initial Layout(初始化版面)。
          恢复所有窗口到初始时的大小和位置。
          (2)Cascade(层叠)。
          使所有打开的窗口层叠。
          (3)Tile Horizontally(水平平铺)。
          水平分隔屏幕,显示所有打开的窗口。
          (4)Tile Vertically(垂直平铺)。
          垂直分隔屏幕,显示所有打开的窗口。
          (5)Layout Style(版面格式)。
          ·  Default(默认格式):与Initial Layout格式相同。
          ·  Classic(经典格式):采样低于5.5版本的格式。
          ·  Cascade:与Cascade格式相同。
          ·  Horizontally:与Tile Horizontally格式相同。
          ·  Vertically:与Tile Vertically格式相同。
          (6)Icon Children。
          除了主窗口之外的其他窗口缩为图标。
          (7)Icon All。
          将所有窗口缩为图标。
          (8)Deacon All。
          将所有缩为图标的窗口还原。
           
        8.“Help”窗口

          (1)About ModelSim。
          显示ModelSim的版本、版权等信息。
          (2)Release Notes。
          显示ModelSim的版本发布信息。
          (3)Welcome Menu。
          显示欢迎画面。
          (4)PDF Documentation。
          在子菜单中可以选择ModelSim的PDF文档。
          SE HTML Documentation:ModelSim的超文本文档。
          (5)Tcl Help:Tcl帮助文档。
          Tcl是Tools Command Language的缩写,它是一种可扩充的命令解释语言,具有与C语言的接口和命令的能力,应用非常广泛,这方面也有专门的书籍。
          (6)Tcl Man Pages:Tcl主页面。
          (7)Technotes:技术文档。
           
        7.2.3  工具栏

          ModelSim的工具栏如图7.4所示。从左到右依次为:打开、复制、粘贴、编译选定、编译全部、仿真、停止仿真、重新开始仿真、仿真步长、运行一步、继续运行、运行所有、单步执行、主程序的单步执行。
       

        图7.4

         

        7.2.4  工作区

          由图7.3可以看到,在用户使用界面里面工作区占有的面积最大,工作区初始可以分为左右两部分:左边是文件或者工程列表,右边是相应的文件的显示区。
           
        7.2.5  状态栏

          ModelSim的状态条如图7.5所示,其中左面为当前工程的名称,右面为与当前仿真相关的一些系数,如仿真时间和仿真变量等。
       

        图7.5  状态栏





欢迎光临 DIY编程器网 (http://diybcq.com/) Powered by Discuz! X3.2