ModelSim的前后仿真(Quartus)

合集下载

Quartus 中设置modelsim 仿真

Quartus 中设置modelsim 仿真

目录Quartus中设置modelsim仿真 (1)一、运行环境 (1)2.1、在Quartus中设置仿真环境 (1)2.2在Quartus中设置仿真参数 (3)2.3仿真 (5)Quartus中设置modelsim仿真一、运行环境1.1软件环境:Quartus V11.1Modelsim10.0.Cwindows7.01.2硬件环境芯片:MAXII EPM1270T144二、设置过程2.1、在Quartus中设置仿真环境点上图中的【Launch Simulation Library Compiler】,处在上图中我们按数字顺序设置:①仿真工具路径及我们安装的modelsim的路径,记住是modelsim.exe所在文件位置。

②选择我们要使用的仿真库,我们现在用的是maxII系列的,所以选择它,如你还要其它的,可以自己选择③选择仿真语言,你用verilog编写的测选择verilog④设置编译后的输处路径⑤选择是否将设置加到工程中设置好后点【StartCompilation】开始编译编译完成后会出现以下窗口点OK后,我们会看到一些信息如上的信息则表示没有问题2.2在Quartus中设置仿真参数回到主窗口,按下图中步骤打开设置窗口设置窗口如下,在category中点【EDA Tool Settings】中的【Simulation】按上图中的,先选择Tool Name再一步一步设置设置完1,2,3步后开始设置第4步,设置quartus与modelsim的链接按下图操作先选择Compile test bench,再点击【Test benches】按钮,打开设置窗口按上图1、2、3、4设置好后,开始添加仿真驱动文件(此驱动文件就是modelsim仿真文件了,要自己编写,但不需要加到工程中。

我写的是一个sim.v文件,sim.v中的模块名也为sim.2.3仿真做完以上操作就可以进行仿真了仿真前先编译一下工程文件,如没有任何问题则可以进行以下操作点击仿真按钮后,Quartus就会自动调用modelsim了。

QuartusII调用modelsim无缝仿真

QuartusII调用modelsim无缝仿真

QuartusII调⽤modelsim⽆缝仿真本篇⽂章为转载,写的不错,最近在学modelsim仿真,⽹上的教程很乱,把⾃⼰认为不错的整理贴出来,后⾯有机会会写个详细点的。

Quartus 中调⽤modelsim的流程1. 设定仿真⼯具assignmentèsettingèEDA tool settingèsimulation选择你需要的⼯具。

2. ⾃动产⽣测试激励⽂件模板:processingèstartèStart test bench template writer我们点击之后系统会⾃动在⽬录:当前⽂件夹è simulation è modelsim (这个⽂件夹名字跟你选的仿真⼯具有关) 中产⽣⼀个测试激励⽂件xxx.vt(Verilog test bench) 或者 xxx.vht(VHDL test bench), ⽂件名跟你⼯程中的Top module 的名字⼀样,后缀为.vt或者.vht。

3. 编辑⾛动⽣成的test bench⽂件我们加⼊⾃⼰需要的激励以及初始化语句,这⾥我们还要修改test bench的模块名字为tb(我们会看到这个名字和后⾯的设定有联系)。

4. 连接test bench,我们需要从Quartus中⾃动调⽤仿真⼯具,所以需要设定Native Link选项。

a) 还是在simulation的设置页⾯⾥,设定 Native Link对话框中的设定。

我们这⾥因为需要⼯具⾃动调⽤激励所以选中b) 点击右边的Test Benches, 我们需要在这⾥设定⼀个相关联的test bench.这⾥会弹出⼀个让你指定test bench的对话框,因为我们之前没有指定任何的test bench,所以这⾥是空⽩的。

c) 指定test bench因为我们是第⼀次产⽣test bench,点击new.点击New之后会产⽣⼀个New Test bench setting的对话框,在这⾥你将test bench和你的相应的test bench file进⾏绑定。

Quartus调用ModelSim仿真教程

Quartus调用ModelSim仿真教程
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
选择 Specify Design Unit 工作库下的目标文件,点 Next,出现下面对话框
可以指定 Testbench 的名称以及要编译到的库等, 此处我们使用默认设置直接点 Finish。 这时在 Testbench 内会出现对目标文件的各个端口的定义和调用函数
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
5.4 编译待测文件
9 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ @ 珠联璧合 xlzhu xlzhu@
调用 Model Sim 仿真教程 Quartus Quartus调用 调用Model ModelSim Sim仿真教程
2.3 破解详解 (1)产生 License 运行安装文件夹的 crack 目录下的 keygen.exe 文件,点击 generate
生成 license.dat 文件
(2)拷贝 License 文件到安装目录 将生成的 license 文件复制到 modelsel se 的安装目录 D:\Modeltech_6.0\win32 下。 (3)建立环境变量 右键点击桌面我的电脑图标,属性->高级->环境变量->(系统变量)新建。按下图所示 内 容 填 写 , 变 量 值 内 如 果 已 经 有 别 的 路 径 了 , 请 用 “;” 将 其 与 要 填 的 路 径 分 开 。 \license.dat LM_LICENSE_FILE = D:\Modeltech_6.0\win32 D:\Modeltech_6.0\win32\license.dat
安装目录下有安装文件 mti60se 和破解文件夹 crack。 破解文件夹内存放 keygen 和安装 说明。

quartus与modelsim联合仿真步骤总结自己

quartus与modelsim联合仿真步骤总结自己

1.首先安装好quartus和modelsim2.复制altera quartus eda sim_lib 中对应芯片的.v文件到modelsim文件夹内3.打开quartus新建工程在第四步eda tool setting 中simulation选项中选择modelsim 语言默认为veillog 后面不打勾4.assignments settings eda stimulation工具选择modelsim 路径选择modelsim安装的路径写到win32这一步点击确定至此准备工作全部完成5.写veillog 程序然后保存编译编译后会在我们的工程目录下生成simulation文件夹,里面又有一个modelsim文件夹。

6.创建或者是编写testbench引导文件简单的可以创建复杂的需要自己编写quartus自己创建不了这是一个端口引导文件目的是建立modelsim和quartus之间的桥梁能够让modelsim创建出我们需要的与quartus中相匹配的端口并且执行相同的功能这些功能执行信息都存放在了testbench引导文件当中7.创建testbench文件过程:Processing->Start->Start Test Bench Template Write这时创建的testbench文件存放在4中所说的modelsim文件夹中以.vt为后缀名以工程名命名8.添加该文件:Assignments->EDA Tool Settings选择Simulation设置仿真环境在NativeLink settings中选择Compile test bench并点击后面的Test Benches 在Test Benches中点击New设置Test Bench属性在Test bench entity栏一定要填写刚刚我们创建的testbench文件的实体名即module top_vlg_tst();中的top_vlg_tst。

quartus的modesim仿真过程

quartus的modesim仿真过程

1.撰写testbench激励文件:单击Quartus中的菜单‘Processing’->‘start’->‘Start Test Bench Template Writer’,如图一所示,自动生成激励模板(*.vt)。

打开该模板,并填写完整,保存,编译。

Testbench 常用语:●clk<= not clk after 10 ns;●process beginwait for 10 ns; clk<='1';wait for 10 ns; clk<='0';end process;●en <= '0' after 0 ns,'1' after 50 ns,'0' after 850 ns,'1' after 900 ns;2. Modelsim和Quartus的连接。

单击Quartus中的菜单‘Tools’->‘options’,如图二所示。

随后出现图三所示的窗口,点击左边菜单树下的‘Eda Tool Options’,再将原先modelsim的启动路径拷贝到‘Modelsim’的空白处,或单击右侧的‘。

’选择启动路径。

最后点击Ok,连接生效。

图二图三3. 设置编译信息。

单击Quartus中的菜单‘Assignment’->‘Settings’,如图四所示。

随后进入图五所示的Settings 界面,点击左侧菜单树‘EDA Tool Settings’下的‘Simulation’,右边的窗口出现Simulation 界面,并进行如图五的设置。

其中点中‘Compile test bench’左边的圈圈后,再点击右侧的按钮‘Test Benches。

’进入图六所示的界面,点击右上按钮‘New’进入图七所示的‘New Test Bench Settings’界面,填入相关信息:激励文件名(1),激励文件实体名(2),激励文件中的例化名(3),最大仿真时间(4),和激励文件的具体路劲(5)。

Quartus II 直接调用 modelsim se 进行前仿真和后仿真

Quartus II 直接调用 modelsim se 进行前仿真和后仿真

Quartus II 直接调用modelsim se 进行前仿真和后仿真Modelsim的独立版本仿真速度比Quartus自带的Modelsim-Altera快,且Modelsim的独立版本支持Verilog和VHDL语言的混合仿真,因此Modelsim-Altera尽管可以直接从Quartus 官方下载,但不少人仍然会选用独立版本的Modelsim进行设计仿真。

使用Modelsim-Altera非常方便,安装后Quartus已经做好了与Modelsim-Altera的链接。

如果使用独立版本的Modelsim,则需要自己手动配置才能将独立版本Modelsim与Quartus 链接使用。

以下以使用Quartus II 11.1sp2和modelsim se 10.0a进行工程的前仿真后后仿真为例进行介绍。

即在Quartus进行设置,直接通过Quartus II的菜单调用modelsim se运行前仿真和后仿真。

当然也可参照网上的介绍,编译modelsim的Altera库,在modelsim se中直接建立工程并运行仿真。

本文介绍通过在Quartus中进行设置,通过Quartus菜单直接调用运行modelsim se的仿真,配置好后就如同Altera官方的Modelsim-Altera版本一样使用简便。

第一步:配置modelsim se路径Tools->Options打开Options对话框,选General->EDA Tool Options,设置Modelsim路径,可直接填入或浏览Modelsim路径,如下图所示:第二步:设置testbenchAssignments->Settings,打开Settings对话框,EDA Tool Settings->Simulation设置Tool name选Modelsim,Format for output netlist选择所用语言,Time scale需仿真时间精度。

Modelsim仿真方法总结

Modelsim仿真方法总结

Modelsim仿真方法总结第一篇:Modelsim 仿真方法总结Modelsim 仿真方法总结Modeling 仿真工具是Model公司开发的。

它支持Verilog、VHDL以及他们的混合仿真。

Modelsim各版本的使用方法大体一致,Modelsim仿真主要分为前仿真和后仿真。

下面来具体介绍modelsim 的仿真方法,涉及quartus-modelsim联合(使用)仿真的差异会特别提示。

前仿真与后仿真说明 1.1 前仿真前仿真也称为功能仿真、行为仿真。

旨在验证电路的功能是否符合设计要求,其特点是不考虑延迟(包括门延迟与线延迟),主要验证电路与理想情况是否一致。

前仿真需要用到RTL级代码(由源代码经过综合后产生)与T estbench。

1.2)后仿真后仿真也称为时序仿真或者布局布线仿真。

是指在电路已经映射到特定的工艺环境以后,综合考虑门延迟与线延迟的影响,验证电路在一定的时序条件下是否存在时序违规以及能否满足设计构想的过程。

需要用到的文件是——从布局布线结果中抽象出来的门级网表、testbench和后缀名为sdo或者sdf的标准时延文件。

注:扩展名为sdo和sdf的标准时延文件包含门延迟与实际布线延迟,能较好的反应芯片的实际工作情况。

二)modelsim仿真主要有以下几个步骤:(1)建立库并映射库到物理目录;(2)编译源代码(包括Testbench);(3)执行仿真;解释:①库:modelsim中有两类仿真库。

一种是工作库,默认名为work;另一种是资源库。

Work库中存放当前工程下所有已经编译过的文件,所以编译前一定要建立一个work库。

资源库存放work库中已经编译文件所要调用的资源,这样的资源可能有很多,它们被存放在不同的资源库内。

(例如要想对综合在cyclone芯片中的设计做后仿真,就需要有一个名为cyclone_ver的资源库。

)映射库用于将已经预编译好的文件所在目录映射为一个modelsim可识别的库。

如何从QuartusII中调用Modelsim进行仿真

如何从QuartusII中调用Modelsim进行仿真

如何从Quartus II中调用Modelsim进行仿真--穆永强版本说明:Quartus II 11.0版本;ModelSim-Altera 6.6d版本。

一、设置第三方EDA工具在Tools -> Options中设置ModelSim的安装路径,注意要设置到win32文件夹(64位软件对应的就是win64)。

在Assignments -> Settings中设置仿真工具为ModelSim。

这样Quartus就能无缝调用ModelSim了。

..二、编写Testbench我们可以通过Quartus自动生成一个Testbench的模板,选择Processing -> Start -> Start Test Bench Template Writer,等待完成后打开刚才生成的Testbench,默认是保存在simulation\modelsim文件夹下的.vt格式文件。

..打开vt文件后可以看到Quartus已经为我们完成了一些基本工作,包括端口部分的代码和接口变量的声明,我们要做的就是在这个做好的模具里添加我们需要的测试代码。

一个最基本的Testbench包含三个部分,信号定义、模块接口和功能代码。

‘timescale 1ns/ 1ps表示仿真的单位时间为1ns,精度为1ps。

想要进行仿真首先要规定时间单位,而且最好在Testbench里面统一规定时间单位,而不要在工程代码里定义,因为不同的模块如果时间单位不同可能会为仿真带来一些问题,而timescale本身对综合也就是实际电路没有影响。

..其实Testbench本身可以看做一个模块或者设备(本例中的模块名为add_vlg_tst),和你自己编写的模块进行通信。

通过Testbench模块向待测模块输出信号作为激励,同时接收从待测模块输出的信号来查看结果。

因此,在待测模块中的reg型信号在Testbench中就变成了wire,待测模块中的wire型信号在Testbench 中则对应为reg型。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

利用Quartus5.0实现功能仿真1)打开一个工程文件。

2)打开Settings设置栏,选择Fitting Settings下的Simulator栏。

在右边出现的设置栏中将“Simulation Mode”的下拉菜单选择“Functional”,即可以实现软件下的功能仿真。

(下拉菜单中有“Functional”、“Timing”和“Timing using Fast Timing Model”,分别代表可以在Quartus软件下实现功能仿真,时序仿真和快速时序仿真。

最后一项一般不选,如果在Settings->Timing Requirement->More Settings下“Report Combined Fast/Slow Timing”选项设为“On”,就可以选择最后一项。

编译的报告里也会分别列出最快和最慢的时序报告。

)3)选择“Processing”菜单下的“Generate Functional Simulation Netlist”命令,否则将无法启动仿真。

4)新建一个波形仿真文件,文件后缀名为.vwf。

选择File菜单下的New->Other Files->VectorWaveform File。

如下图所示,左边空白栏处是节点名的列表区,右边空白栏处是仿真波形的显示区。

波形编辑窗口默认时间为1us,如果想改变仿真时间,可以选择Edit菜单下End Time,在弹出的对话框中选择需要的时间。

将新建的波形仿真文件保存下来。

5)将需要仿真的信号加入波形编辑窗口。

在列表区任一位置双击或者点击右键选择“InsertNode or Bus…”,弹出的对话框点击“Node Finder”按钮。

在“Node Finder”界面中点击“List”按钮,有关信号的列表会出现在界面的左边,双击需要观察的信号加入至界面右边。

如果工程中用到了很多信号,在左边列表中也会显示很多(Named编辑框默认的是*通配符),可以在Named编辑框中添加需要的信号名称实现模糊查找。

界面中“Filter”下拉框中默认的是“Pins: all”,也就是说将要列出的信号都是IO管脚。

如果需要观察一些内部信号,可以改变下拉框的参数,比如“Registers: Pre-Synthesis”。

下图显示了仿真信号加入波形编辑窗口的情况。

对于有些总线信号可以改变其显示的进制格式,比如二进制、八进制、十进制和十六进制。

在列表中对应信号点击右键选择“Properties”,弹出的对话框中选择“Radix”下拉框实现进制的转换。

6)编辑仿真信号激励源。

在需要加入激励的信号上右键点击“Value”,子菜单下会有多种设置。

比如说时钟、固定电平、三态等等。

也可以点击在节点列表区旁边对应的图标完成激励的设置,鼠标放在图标上滞留一段时间会出现即时帮助。

有两个地方需要说明一下:○1“Value”下选择“Count V alue”,生成自加的信号激励,可以设置的选项包括自加的起始和步进长度,自加起始及终止的时间位置。

多用于设定地址或是数据信号的激励。

○2设置一些使能、读写等信号或者串行数据信号需要使用自定义的功能,可以选择对应的信号,点击“Waveform Editing Tool”图标,鼠标会变成图标显示的样子。

在需要变化的时域内拖动鼠标,即可以改变信号的高低电平。

如下图中显示的“rst”信号的设置。

7)从Tools菜单或快捷图标打开simulation tools, 在点击按钮前,注意检查两点:第一,确认simulation mode 是功能仿真(function mode),用户作function 仿真,和timing 仿真需要QuartusII 产生不同的netlist , 缺省情况下,QII产生的是timing netlist, 往往很多错误就是以为function 仿真就是在simulation tools 下选择function mode,客户必需注意要提前在“Processing”菜单下的“Generate Functional Simulation Netlist“产生好仿真网表文件。

第二,调整不同的*.vwf 文件,缺省时,所指向的激励向量文件就是顶层的,如果用户在设计中对各个底层的模块或关键模块仿真,需要注意切换向量文件。

8)所有信号激励设置完成之后,点击“Start Simulation”按钮,提示保存之后可以看到功能仿真的时序图。

9)最后,QII提供向量文件vwf 和语言vt 之间的转换。

即可以把VWF 文件转换成VT 的文件。

(verilog testbench),但这个vt 文件不能当作modelsim 的testbench 用,只能在QII 中用。

利用Quartus5.0实现时序仿真步骤与功能仿真基本一样,只要在第二步“Simulation Mode”下拉菜单选择“Timing”。

另外在开始仿真之前要完成工程的布线工作,选择“Processing”菜单下的“Start->Start Fitting”或者直接点击“Start Compilation”按钮。

因为是后仿,功能仿真中的第三步骤“Generate Functional Netlist”就不需要了。

利用ModelSim SE6.0C实现时序仿真1)打开一个工程文件。

2)打开Settings设置栏,选择EDA Tools Settings下的Simulation栏。

在右边出现的设置栏中将“Tool name”的下拉菜单选择“ModelSim(Verilog)”(如果工程用VHDL语言实现,则可以选择“ModelSim(VHDL)”;如果ModelSim使用的是for Altera的专用版本,则可以选择“ModelSim-Altera(Verilog)”或“ModelSim-Altera(VHDL)”)。

另外在设置栏中还有其他的核选框。

○1如果选中“Maintain hierarchy”,则表示在做时序仿真时就能看到像在功能仿真的工程文件层次结构,可以找到定义的内部信号。

因为在做后仿时,源文件中的信号名称已经没有了,被映射为软件综合后自己生成的信号名,观察起来很不方便。

这个设置与ISE 里综合右键属性的Keep Hierarchy选择YES的功能是一样的。

○2如果选中“Generate netlist for functional simulation only”,则表示只能做功能仿真。

3)点击“Start Compilation”按钮编译工程,完成之后在当前的工程目录下可以看到一个名为“Simulation”的新文件夹,下面的“ModelSim”文件夹下包括仿真需要的.vo网表文件和包含延迟信息的.sdo文件。

4)打开ModelSim软件(或者在Quartus下“Settings->EDA Tools Setting->Simulation”出现的设置栏中选中“Run this tool automatically after compilation”,直接从Quartus下调用ModelSim软件),可以在当前工程目录下新建一个Project。

在Project标签栏内点击右键,出现在快捷菜单中选择“Add to Project->Existing File…”。

加入当前工程目录的“\Simulation\ModelSim\”路径下的.vo文件、TestBench文件和对应当前工程所选择器件的网表文件。

比如:当前工程选择的器件是Cyclone系列,Quartus安装目录在“C:\altera”路径下。

因此需要在“C:\altera\quartus50\eda\sim_lib”路径下找到“cyclone_atom.v”的网表文件导入到ModelSim下的Project。

如果是其他器件亦是如此,只要在此目录下找到对应有“_atom”后缀的.v文件。

当然整个大前提是ModelSim SE版本已经加入了Alterta的仿真库,不过ModelSim-Altera版本就不会存在这样的问题。

5)在出现的Project标签栏的快捷菜单中选择“Add to Project->Simulation Configuration”,会出现如上图所示的名为“Simulation1”的仿真配置。

右键点击选择“Properties”,弹出的“Simulation Properties”对话框中有几个标签栏。

在“Design”标签栏内需要选择仿真的文件,也就是TestBench文件。

在“SDF”标签栏内需要选择包含延迟信息的文件,即Quartus下生成的.sdo文件。

这里建议将.sdo文件与ModelSim的工程文件(.mpf文件)放在同一个目录下,不然ModelSim会报类似无法读取.sdo文件的错误。

当加入.sdo文件时,需要在如下图所示的“Apply to Region”的编辑框内填写延迟信息文件作用的区域。

举个例子来说明:○1TestBench文件中定义了测试文件的Module名称为ConvEncdTestBnch。

○2TestBench文件中调用待测顶层文件的实例名为top_encode_1。

(top_encode top_encode_1(clk, rst, dataIn, serialData, parData);这是TestBench文件中调用顶层的语句)○3所以在作用区域内需要填写“/ConvEncdTestBnch/top_encode_1”。

6)右键点击名为“Simulation1”的仿真配置,快捷菜单中选择“Execute”命令,执行仿真。

7)指定延时文件sdo 路径时,特别注意“域”的指定,否则用户会在timing 仿真中报loaderror “can’t find instance file”. 指定的域可以从sim标签页查看sim 的top 层,或要仿真的对象。

另外,时序仿真时,一定要记住要把顶层top.v 用top.vo 替换。

同时要确保预编译的库中每个库的名字必需遵循altera的要求,比如:cylcone 的device 库必需命名为cycclone, maxii 的device命名为maxii, flex10Ke 和acex1K 都命名为flex10Ke,详细查看文档附件。

Simulation.pdf8)提供一个testbench 的模板。

功能仿真流程比较简单,一般不会出现什么问题,这里不再多述。

相关文档
最新文档