《2022年modelsim仿真教程 .pdf》由会员分享,可在线阅读,更多相关《2022年modelsim仿真教程 .pdf(9页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、本教程使用软件的下载链接如下:http:/ 仿真使用教程利用quartus 生成网表文件Mentor公司的ModelSim是业界最优秀的HDL 语言仿真软件,它能提供友好的仿真环境,是业界唯一的单内核支持VHDL 和 Verilog 混合仿真的仿真器。它采用直接优化的编译技术、Tcl/Tk 技术、和单一内核仿真技术,编译仿真速度快,编译的代码与平台无关,便于保护IP 核,个性化的图形界面和用户接口,为用户加快调错提供强有力的手段,是FPGA/ASIC 设计的首选仿真软件,接下来以一个简单的例子介绍modelsim 的基本使用方法。第一步:建立工程,该过程与quartus 使用的教程大部分是一样
2、的,区别如下:在 simluation 选项中选择MoselSim-Altera 作为仿真工具, fomat 中的选项根据编程语言进行选择,本教程以VHDL为例。第三方的仿真工具所以在此选择名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 1 页,共 9 页 - - - - - - - - - 第二步:新建文件:新建一个源文件,保存为led.vhd library ieee; use ieee.std_logic_1164.all; use ieee.std_logic_arith.a
3、ll; use ieee.std_logic_unsigned.all; entity led is port(led_out : out std_logic_vector(7 downto 0); clk : in std_logic; rst_n : in std_logic ); end led; architecture behavior of led is signal light : std_logic_vector (7 downto 0); begin process(clk,rst_n) begin if(rst_n = 0)then light = 00000010; el
4、sif(clkevent and clk =1 )then if(light = 10000000) then light = 00000001; else light = light(6 downto 0)& 0; end if; end if; end process; led_out clk, rst_n = rst_n, led_out = led_out ); clk_gen : process begin clk = 1; wait for clk_period/2; clk = 0; wait for clk_period/2; end process; rst : proces
5、s begin rst_n = 0; wait for 20ns; rst_n newproject), 选择好保存路径和工作名称,点击 OK :编译成功之后综合布线都成功当选择第三方工具的时候就会产生该项目,表示生成了其他软件所需要用到的 vho 和 sdo 文件建立 Modelsim 仿真工程。名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 4 页,共 9 页 - - - - - - - - - 3,添加文件:选择Add Existing File,将上步骤中 simulatio
6、n中的四个文件中的 led.vho和 led_vhd.sdo 复制并添加到工程中,点击OK ,然后以相同的方式将上面建立的testbench.vhd也复制到工程中,操作如下:该步骤实现将 led.vho,led_vhd.sdo,testbench.vhd三个文件添加到仿真工程中,工程栏出现以下窗口:4,编译:两个问号表示在modelsim 中还没有编译,所以接下来我们进行编译,点击快捷工具栏中的开始进行编译,信息栏中出现以下窗口表示编译已经成功:创建新文件添加已有文件到工程中,因为之前有综合出来的vho 文件,直接添加到工程中选中则将文件复制到本工程中浏览文 件,将led.vho,led_vh
7、d.sdo,testbench.vhd 添加到工程中名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 5 页,共 9 页 - - - - - - - - - 5,功能仿真(主要是观察波形看看我们的逻辑是否正确):(1),点击仿真按钮,work 下拉中找到testbench, 选中后点击OK:(2)点击 ok 出现以下窗口:选中 testbench Run 按钮,执行仿真命令对波形进行放大缩小,和整体显示添加或者减少标尺波形窗口对应的信号仿真结束按钮名师资料总结 - - -精品资料欢迎下
8、载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 6 页,共 9 页 - - - - - - - - - (3) 在 testbench 上点击右键,将信号管脚添加进波形文件:点击将 led_out 前面的加号,之后出现窗口:点击(run all),然后点击停止仿真()查看仿真波形:将模块中所有的输出输入端口全部添加波形信号黄色标尺所在位置的数值执行run 命令后的结果波形可 观 测 到的信号名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 -
9、- - - - - - 第 7 页,共 9 页 - - - - - - - - - (4) 上个步骤并不是一次性就能够得到上图的现实效果,需要通过各个功能按键来选择不同的观察效果,要熟悉下列按键的使用:波形的放大缩小;将仿真时间内的全部波形显示在屏幕上默认模式,该模式下您在波形图中可以将黄线拉到不同位置,观察某时刻的具体值。该模式下,您可以拉动某部分作为全屏幕显示停止仿真1) 时序仿真时序仿真与功能仿真唯一的不同就是加入时延文件,仿真步骤有差别。建立工程,添加vho,sdo,testbench 文件,编译均与功能仿真相同,这里不再赘述。( 1)建立工程添加 vho,sdo,testbench
10、文件 编译( 2)开始时序仿真:编译完成后,点击依然在 work 下拉中找到testbench, 然后在相同的这个对话框中点击SDF, 点击 add将 SDO文件(在工程目录中)添加进工程,并在SDF Options 两个都打勾:该选项卡是选择时序约束文件,既 Quartus 产生的 sdo 文件两个全部打勾,如果没有打勾可能会出错,但是这个出错是由于系统照成的,用户完全可以忽略名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 8 页,共 9 页 - - - - - - - - - (
11、 3)点击 OK开始观看仿真波形,具体操作和上述功能仿真一样,结果仅仅出现很小的延时 ,在做大规模设计时候会看到明显是时延。总结:Modelsim 已经成为了业界最优秀的仿真软件之一,它兼容了VHDL和 Verilog HDL两种硬件描述语言, 同时支持 xilinx 和 altera 等多家公司的器件仿真。有良好的UI 界面并且编译速度快,同时支持GUI控制和 DOS控制。相对于 quartus ii 自带的仿真工具而言, modelsim 的主要优势在于以下几个方面:1,quartus ii 是 altera 公司专用的集成开发工具, 其自带的仿真器仅仅能够支持altera 的器件, 而
12、modelsim 则支持altera 以及 xilinx 等多家公司的器件仿真;2,quartus ii 的仿真时间最大一般不超过1ms,而使用modelsim 仿真不会受到这方面的限制。 因此仿真运行时间超过 1ms 的系统, quartus ii 做不到。3,modelsim 支持激励文件 (testbench)的输入,测试仿真多种输入状态, quartus ii 只能通过修改波形来改变输入的状态,当输入状态数量很大时, modelsim 更加有优势。4,quartus ii 10.0以上版本已经不带仿真功能了。名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 9 页,共 9 页 - - - - - - - - -