基于ModelSim的仿真.ppt
《基于ModelSim的仿真.ppt》由会员分享,可在线阅读,更多相关《基于ModelSim的仿真.ppt(55页珍藏版)》请在三一办公上搜索。
1、第4章 基于ModelSim的仿真,4.1 ModelSim的仿真方法4.2 Quartus II和ModelSim联合仿真,4.1 ModelSim的使用方法,4.1.1 ModelSim软件简介 ModelSim 是业界最优秀的 HDL 语言仿真器。它提供最友好的调试环境,是业界唯一单一内核支持VHDL、Verilog HDL 和 SystemC 混合仿真的仿真器,同时也支持业界最广泛的标准如 Verilog 2001、SystemVerilog 等,内部集成了用于 C/C+,PLI/FLI和 SystemC 的集成 C 调试器。支持众多的 ASIC和 FPGA厂家库,可以用于 FPGA
2、和 ASIC 设计的 RTL 级和门级电路仿真。是作 FPGA/ASIC 设计的RTL 级和门级电路仿真的首选全面支持UNIX(包括 64 位)、Linux和 Windows平台。,3,ModelSim分几种不同的版本:SE、PE和OEM,其中集成在 Actel、Atmel、Altera、Xilinx以及Lattice等FPGA厂商设计工具中的均是其OEM版本。比如为Altera提供的OEM版本是ModelSim-Altera,为Xilinx提供的版本为ModelSim XE.SE版本为最高级版本,在功能和性能方面比OEM版本强很多,比如仿真速度方面,还支持PC、UNIX、LIUNX混合平台。
3、,为什么要学Modelsim?1.2.Modelsim的安装,5,同许多其他软件一样,Modelsim SE同样需要合法的License,通常我们用Kengen产生license.dat。解压安装工具包开始安装,安装时选择Full product安装。当出现Install Hardware Security Key Driver时选择否。当出现Add Modelsim To Path选择是。出现Modelsim License Wizard时选择Close。在C盘根目录新建一个文件夹flexlm,用Keygen产生一个license.dat,然后复制到该文件夹下。修改系统的环境变量。右键点击桌
4、面我的电脑图标,属性-高级-环境变量-(系统变量)新建。按下图所示内容填写,变量值内如果已经有别的路径了,请用“;”将其与要填的路径分开。LM_LICENSE_FILE=c:flexlm license.dat,6,仿真仿真分为功能仿真,门级仿真,时序仿真功能仿真(前仿真,代码仿真)主旨在于验证电路的功能是否符合设计要求,其特点是不考虑电路门延迟与线延迟,主要是验证电路与理想情况是否一致。可综合FPGA代码是用RTL级代码语言描述的,其输入为RTL级代码与Testbench.在设计的最初阶段发现问题,可节省大量的精力门级仿真和时序列仿真(后仿真)使用综合软件综合后生成的门级网表进行仿真,不加入
5、时延文件的仿真就是门级仿真.可以检验综合后的功能是否满足功能要求,其速度比功能仿真要慢,比时序仿真要快.在门级仿真的基础上加入时延文件(.sdf)的仿真就是时序仿真,比较真实地反映了逻辑的时延与功能.综合考虑电路的路径延迟与门延迟的影响,验证电路能否在一定时序条件下满足设计构想的过程,是否存在时序违,4.1.2 基本仿真步骤建立工作库/建立资源库编译源代码启动仿真器执行仿真,4.1.3 各个界面介绍ModelSim仿真软件在默认条件下提供了主窗口、结构窗口、源程序窗口、信号窗口、进程窗口、变量窗口、数据流窗口、波形窗口、存储器窗口、列表窗口等 11 种不同的用户窗口。,主窗口 主窗口在Mode
6、lSim启动时直接打开的,是所有其他窗口运行的基础。通常情况下主窗口分为工作区和脚本区(也叫命令控制台)两个部分,通过工作区可以很方便地对当前的工程的工作库以及所有打开的数据集合等进行控制,通过命令控制台可以在 ModelSim的提示符下输入所有 ModelSim命令,并且可将命令执行结果反馈回来,便于实时掌握运行情况。主窗口的典型形式如所示。,工作区,脚本区,命令输入,数据流窗口 数据流窗口(Dataflow)是一般仿真软件都提供的一个通用窗口,通过该窗口可以跟踪设计中的物理连接,跟踪设计中事件的传播,也可以用来跟踪寄存器、网线和进程,极大地丰富了调试方法。数据流窗口中可以显示进程(可以是
7、Verilog 的一个模块)、信号、网线和寄存器等,也可以显示设计中的内部连接。窗口中有一个内置的符号表,映射了所有的 Verilog基本门,例如与门、非门等,这些符号可以在数据流窗口中显示。其他的 Verilog 基本组件可以使用模块或者用户定义的符号在数据流窗口中显示。,数据流窗口中的符号都使用了类似#ASSIGN#23#2、#ALWAY#56或module_name等信息进行说明,其中第一个#说明了这个符号的语句,第二个#后面紧跟了产生这个符号的语句所在的源文件中的行号,第三个#说明了这个语句在源文件中属于当前行的第几个语句。,列表窗口 列表窗口使用表格的形式显示仿真的结果。窗口被分为两
8、个可调整的部分,右边为信号列表,左边为仿真时间以及仿真的Delta时间。同时可以从主窗口中创建列表窗口的第二个副本,两个列表窗口可以进行不同的设置,便于仿真结果的比较,同时也可以在波形比较时对相应得数据进行列表对比。,源文件窗口 源文件窗口主要用来显示和编辑 HDL 源文件代码。ModelSim 源文件窗口是一个很优秀的硬件描述语言编辑工具,在这个窗口中可以显示文件的行号,同时可以使用“新建”按钮打开语言模板来方便源代码的编写,语言模板会根据编写的源文件的类型自动调整。,波形窗口 就像列表窗口可以用来查看仿真结果一样,波形窗口也可以用来显示仿真波形,并且比列表窗口更直观,所以波形窗口是最常用的
9、仿真窗口之一。波形窗口一般分为 3 个不同区域,分别用来显示信号名称以及路径,光标所在位置信号的当前值、波形等。,4.1.4 ModelSim调试功能在波形窗口中监视信号,查看仿真的波形改变当前目录到要变异的文件所在的目录建立工作库并编译相关源文件加载设计的激励文件向波形窗口中添加项目,即要监视的信号缩放波形显示在波形窗口中使用光标保存波形窗口格式,4.1.4 ModelSim调试功能使用断点、断点设置方法在源文件窗口中打开要调试的源文件,找到要设置断点的地方在要设置断点的行的红色行号后面单击鼠标左键,行号后出现的红色圆圈表示断点设置成功。当仿真被断点停止后可以查看信号当前值在信号窗口中查看各
10、个信号的当前值在源程序窗口中,将光标悬停在需要查看的信号上,会出现一个注释说明信号当前值可以通过主窗口命令台中使用examine查看,18,功能仿真,功能仿真需要的文件1设计HDL源代码:可以使VHDL语言或Verilog语言。2测试激励代码:根据设计要求输入/输出的激励程序3仿真模型/库:根据设计内调用的器件供应商提供的模块而定,如:FIFO、ADD_SUB等 仿真步骤 以2选1多路器为例给出详细步骤1.启动modelsim软件先在c盘建立文件夹count4,在modelsim中选择File-Change Directory,在弹出的Choose folder对话框中设置目录路径为c:/XX
11、XX2.建立工程在modelsim中建立project,选择File-New-Project.在Project Name栏中填写你的项目名字,建议和你的顶层文件名字一致。Project Location是你的工作目录,你可通过Brose按钮来选择或改变。Ddfault Library Name可以采用工具默认的work。Workspace窗口的library中就会出现work库.,19,20,3.为工程添加文件工程建立后,选择Add Exsiting File后,根据相应提示将文件加到该Project中,21,22,4.编译文件编译(包括源代码和库文件的编译)。编译可点击ComlileComl
12、ile All来完成。,5.装载文件(1)双击libray 中work中的t装载(2)点击simulate start simulation按右图设置,点击ok,23,6.开始仿真点击workspace下的sim,点击count_tp,选择add add to wave然后点run all,开始仿真,24,7.退出仿真在仿真调试完成后退出仿真,在主窗口中选择simulate end simulation,25,补充:(1)也可以不加testbench,仿真步骤跟前面相似,装载文件时双击muxtop在sim中点击muxtop,add add to wave对输入信号sel、a、b编辑测试波形,点
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 基于 ModelSim 仿真

链接地址:https://www.31ppt.com/p-6042952.html