Quartus ii 10.0教程(包含modelsim仿真)
- 格式:docx
- 大小:1.01 MB
- 文档页数:20
方法1:在quartus ii 11.0环境下,编辑生成并修改quartus生成的test bench文件,采用手动设置激励形成波形(有很多缺陷)。
具体步骤:1.新建工程在test目录下创建工程fulladder然后直接finish;2.编写VHDL:New一个VHDL FILE,输入代码:library ieee;use ieee.std_logic_1164.all;ENTITY fulladder IS PORT( a,b,cin : IN STD_LOGIC;s,cout: OUT STD_LOGIC);END fulladder;ARCHITECTURE fulladder OF fulladder ISBEGIN s<= a XOR b XOR cin;cout <=(a AND b) OR (a AND cin) OR (b AND cin);END fulladder;保存在test目录下,文件名为默认fulladder。
3. 在Quartes II 11.0界面菜单栏中选择 Tools-->options选项卡中选中EDA tool options,在该选项卡中下面的ModelSim-Altera一项指定安装路径为(如d:/Altera/11.0/modelsim_ae/win32aloem)4.在Quartes II 11.0界面菜单栏中选择Assignments->Settings。
选中该界面下EDA Tool settings中的Simulation一项;Tool name中选择ModelSim-Altera;Format for output netlist中选择开发语言的类型VHDL或其它,如图:然后点击APPLY应用和OK。
5.设置完成后,编译工程:在Quartus II 11.0界面菜单栏中选择菜单栏选择Processing-->start Compilation,等待编译,无错后会在test目录下生成simulation目录,执行下一步。
Quartus II 与 ModelSim 功能仿真与后仿真扫盲本文主要描述了如何在QUARTUS II 中输入程序文件,生成网表及标准延时文件,然后通过MODELSIM进行功能仿真与后仿真的过程,主要为图解,含全部代码及仿真波形。
工具:Quartus II 5.0 sp1ModelSim SE 6.1b芯片:MAX II :EMP570T100I5语言:Verilog HDL程序功能:太简单了,自己看源程序吧源程序:module sim(reset,clk_in,clk_o1,clk_o2);input reset,clk_in;output clk_o1,clk_o2;clk_o2;regassign clk_o1 = clk_in;reset or posedge clk_in) //always @(negedgebeginif(!reset)0;=clk_o2else~clk_o2;clk_o2=endendmodule测试程序:`timescale 1ns/1nsmodule testsim;reset,clk_in;regwire clk_o1,clk_o2;simaa(.reset(reset),.clk_in(clk_in),.clk_o1(clk_o1), .clk_o2(clk_o2));aa(reset,clk_in,clk_o1,clk_o2);//simalways~clk_in;=#5000 clk_ininitialbeginclk_in0;=reset = 0;#10000;reset = 1;$stop;#1000000endendmodule测试程序注意:例化时,最好用名称关联的方法进行例化,我曾试过用位置关联的方法,但后仿真不正常。
不知道是不是Modelsim在语法上的要求。
一、 程序输入与网表、延时文件的生成,相关库文件的拷贝在建立QII源文件时,选择modelsim作为仿真工具,这个不详说了。
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 进行前仿真和后仿真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需仿真时间精度。
1.启动 QuartusII6.0,在 D:\exam 下新建工程 count。
2.执行 Project 菜单下的 Add/Remove Files in Project... 命令,将 D:\exam 下的 count.v 文件加到工程中来。
3.执行 Assignments 菜单下的 Device... 命令,启动器件设置对话框。
如果所用的实验板为 MC570 则选中 EPM570T100C5 器件,如果是 MC240 实验板,则选中 EPM240T100C5 器件。
4.点击对话框上的“Device & Pin Options...”按钮,在随后弹出的对话框上,进入 Unused Pins 页,将 Reserve all unused pins 设为 As input tri-stated,点击“确定”按钮。
5.在左侧的 Category 窗口里,展开 EDA Tool Setings 组,选中 Simulation 项,对话框的左侧将弹出有关于 Simulation 的设置项。
在 Tool name 一栏,选择 ModelSim;Format for output netlist 一栏,选择 Verilog;Time scale 一栏,选择 1ns。
点击“OK”按钮。
6.在 Assignments 菜单下,点击 Pins 命令。
在 Pin Planner 中,按下图所示,分配管脚。
7.在 Project Navigator 窗口中,将页面切换到文件管理页(中间的),选中 Device Design Files 组中的 count.v 文件,点击右键,在弹出菜单中点击 Set as Top-level Entity 命令,将该文件设为顶层设计文件。
在 Processing 菜单下,点击 Start Compilation 命令,待编译完成后,退出 QuartusII6.0。
将 D:\exam\simulation\modelsim 下的 count_v.sdo 文件复制到 D:\exam 下。
当我们使用QuartusII,但是大多数朋友都习惯用Modelsim SE来做仿真,由于Quaruts有很多本身器件的特色,所以造成了在仿真上的麻烦,当然网路上也有一些讲解,但是都是不太系统,特别是对初学者来说,使用的时候还是感到一头雾水。
本文的目的就是一个如何在Quartus 使用Quartus 和Modelsim 仿真的例子。
2.建立QuartusII 工程。
这里目的只是建立一个很简单很简单的QuartusII 的工程,逻辑采用原理图方式绘制。
里面就是一个简单的DFF,输入信号:datain , clkdataout3.Quartus II 内部时序仿真在Quartus 内部使用时序仿真,很简单,如果不知道如何使用请参考帮助文件帮助文件的你可以点击 Help-> Tutorial 。
里面有很详细的如何创建一个Wave仿真文件的教程这里就不罗嗦了。
关于如何仿真这里也不废话了。
我们进入核心问题。
4.Modelsim SE的仿真4.1 生成TestBench 文件由于我们上面已经制作了一个时序仿真文件 *.vwf .Quartus II 提供了把这样文件转换成Testbench 的功能。
具体的操作如下:在工程菜单里面双击*.vwf 文件,是之打开成为当前激活文件。
然后点击菜单 Files-> Export会直接打开一个输出框:我们后面会使用Verilog文件进行仿真,所以这里把后缀名*;.vt 改成为*.VOk 就生成了 TestBeanch 文件。
4.2 设置启动Modelsim如何在Quartus II 里面使用Modelsim. 只需要在 Assignment->setting里面选择如下的选项,在进行整个工程进行编译的时候会自动调用系统的Modelsim SE .在编译最后会调用Modelsim .点击Work 你可以看见关于Altera 的库文件都编译进来了。
下面是重点:新建一个工程文件。
Q U A R T U S-I I10.1调用m o d e l s i m仿真-CAL-FENGHAI-(2020YEAR-YICAI)_JINGBIANQUARTUS II 10.1调用ModelSim-Altera仿真的过程(以上软件在六维空间上面都有,只有QUARTUS需要破解,破解方法在另外一篇文章中详述)。
我是个菜鸟,刚接触这个QUARTUS仿真,以前的版本都是直接利用自带的仿真软件,建立一个波形文件vector wavefile(后来发现这个文件可以在QUARTUS里面直接转化成TESTBENCH文件),现在10.0以后不支持直接这么仿真了,而是建议用外部的仿真器仿真(不知道我理解的对不对)。
害的我费了老大的劲,关键是我是初级的水平,能不能整点容易的。
废话少说,主要是发泄一下我的积怨。
(本文参考“Quartus?II 调用 ModelSim 仿真?”一文)1.建立工程文件,这个我就不多说了。
网上有很多,不过在这里,我想提示一下就是工程文件名称要跟顶层实体名称一致(如果只有一个文件的话,那么工程名要跟MODUEL(Verilog HDL),ENTITY(VHDL)后面的名称一致,还有一个就是这里要跟文件名一致,这个文件是顶层文件),这个名称一致的问题至关重要,在后面还有很多地方要一致,就是大家记住一句话,所有的MODUEL和ENTITY的名称要和文件名一致,我就是后面TESTBENCH中的MODUEL名称和文件名称不一致导致我出错好久。
2.建立Verilog文件(此处为顶层文件),文件名要和项目名一致,且和MODUEL名一致。
文件如下:在保存之前:保存之后,是自动添加到项目中的,只要文件名一致:3.设置仿真器:Assignments---settings---这里tool name:Format for output netlist:用哪个选哪个,后面的不用改(这个是综合的时候用的,用于生成网表文件),还有个东西就是TESTBENCH在后面讲。
Quartus II调用ModelSim仿真下面是基于在Altera Quartus II下如何调用ModelSim进行仿真的一个实例。
不能否认,Quartus II(我用的7.0)无法像ISE那样方便的直接调用ModelSim,而是需要额外的做一些工作。
这确实给我们的仿真调试带来了一些不便。
特权同学也是在摸索了好久以后才彻底搞定这个问题,下面分享下,力求明白易懂,让大家少走一些弯路。
1、打开Quartus II,新建一个工程,工程代码如下(只是做一个简单的二分频电路):module modelsim_test(clk,rst_n,div);input clk; //系统时钟input rst_n; //复位信号,低有效output div; //2分频信号reg div;always @ (posedge clk or negedge rst_n)if(!rst_n) div <= 1'b0;else div <= ~div;endmodule2、进入菜单栏的AssignmentsÆEDA Tool Settings,进入如下界面:双击“EDA tools”下的“Simulation”选项,弹出如下界面:点击Tool name最右侧的下拉条,选择“ModelSim”,在弹出的界面做如下设置:3、以上设置完成,重新编译工程。
打开工程目录,看到多了一个“simulation”文件夹,再打开该文件夹下的“modelsim”文件夹。
看到有三个文件,其中.vo文件就是我们的代码布局布线信息。
仿真还需要几个文件,我们把它们都拷贝到该目录下。
4、打开“C:\altera\70\quartus\eda\sim_lib”(具体quartus软件安装文件的根目录视您的实际情况而定,大体路径都一样),因为我们用的是MAX II器件,所以把“maxii_atoms.v”拷贝到3中提到的目录下,这个文件是仿真元件库。
Quartus ii 10.0教程 说明 本文的部分章节,来源于本人翻译的Terasic DE2-115的英文入门文档。
平台 硬件:艾米电子EP2C8-2010增强版套件 软件:Quartus II 10.0 + ModelSim-Altera 6.5e (Quartus II 10.0) Starter Edition
内容 典型的CAD流程 开始 新建工程 录入Verilog设计 编译设计 引脚分配 仿真设计电路 编程及配置到FPGA器件 测试设计电路
典型的CAD流程 计算机辅助设计(CAD)软件,使得运用可编程逻辑器件实现所需逻辑电路,变得容易。比如现场可编程门阵列(FPGA)。典型的FPGA CAD设计流程如图1所示。 图1 典型的FPGA CAD设计流程
CAD流程包含以下步骤: 设计输入——所需电路可通过原理图方式或硬件描述语言方式(如Verilog或VHDL)进行设计。 综合——输入的设计被综合进入由逻辑元素(LEs,FPGA芯片提供)组成的电路中。 功能仿真——综合电路被测试以验证其功能是否正确,次仿真不考虑时序因素。 布局布线——CAD Fitter工具决定网表中定义的LEs如何布置成FPGA芯片中的实际LEs。 时序分析——分析已布局布线电路中的不同路径的传播延迟,用以指示所需电路的性能。 时序仿真——测试已布局布线电路,验证其是否在功能和时序上都正确。 编程及配置——设计的电路,通过编程配置开关,被实现到一个物理的FPGA芯片。配置开关用于配置LEs和建立所需线路连接。
本指南介绍Quartus II软件的基本特征。展示如何使用Verilog硬件描述语言来设计和实现电路。使用GUI来实现Quartus II指令。通过本份指南,读者将学习到: 新建工程 使用Verilog代码录入设计 将综合的电路布局到Altera FPGA 分配电路的输入输出到FPGA上的指定引脚 仿真设计电路 编程配置艾米电子EP2C8核心板上的FPGA芯片
1. 开始 在Quartus II中设计的每个逻辑电路或子电路,叫做一个工程。软件每次运行一个工程,并将所有信息保存在单一文件夹中。欲开始一个新的逻辑电路设计,第一步就是新建一个文件夹来保存文件。为了保存本指南的设计文件,在D盘新建introtutorial文件夹。指南者运行的范例为一个简单的双路灯控电路。 打开Quartus II软件,将看到类似于图2的画面。该显示画面包括若干窗口,用户可使用鼠标选择,以访问Quartus II软件的相关功能。Quartus II提供的大多数命令都可用菜单形式来访问。例如,在图2中,在File标签下点击左键,可打开如图3所示的菜单。用左键单击Exit可退出Quartus II软件。 图2 Quartus II主体显示
图3 File菜单一例
对于有些命令,需要连续访问两个或以上的菜单才可以使用。
1.1 Quartus II在线帮助 Quartus II软件提供了容易理解的在线文档,可解答许多在使用软件时遇到的问题。用户可通过选择Help>Search来快速访问帮助话题,在打开的对话框中,可以输入关键字。另外一个方法是,内容感应帮助,以快速查找指定话题的文档。在大多数的应用中,按住键盘上的F1键将打开一个显示该应用的可用命令的帮助窗口。
2 新建工程 按如下步骤新建工程: 1. 选择File>New Project Wizard,以打开图4所示窗口,可通过Don't show me this introduction again跳过此窗口步骤。单击Next,出现图5所示窗口。
图4 引导的任务显示
图5 创建新的工程
2. 选择工作文件夹introtutorial,也可以使用您自己设定的文件夹。工程必须有一个名字,通常情况下,与顶层设计实体的名字相同。如图5所示,选择light作为工程名和顶层实体名。单击Next。因为还没有创建introtutorial文件夹,Quartus II弹出一个对话框,询问是否新建所需文件夹,如图6所示。单击Yes,将会引出图7所示的窗口。
图6 创建新的工程文件夹与否?
图7 添加用户指定设计文件
3. 如果没有已存在的设计文件,单击Next,将会打开如图8所示的画面。
图8 选择器件家族和指定的器件
4. 艾米电子EP2C8核心板采用的器件为Cyclone II EP2C8Q208C8。此处选择Cyclone II器件家族,器件为PQFP封装,有208个引脚,速度等级为8。单击Next,出现图9所示画面。 图9 指定第三方EDA工具
5. 用户可指定一些第三方EDA工具。持续Simulation选用ModelSim-Altera,格式为Verilog HDL。单击Next,出现图10所示窗口。
6. 设置一览如图10所示。单击Finish,返回Quartus II主体窗口。标题栏将显示light工程,如图11所示。
图10 工程设置一览
图11 Quartus II显示已建工程
3 使用Verilog代码设计输入 作为一个设计范例,我们将采用双路的灯控电路,如图12所示。此灯可由两个按键中的任一按键来控制,x1和x2,按键的闭合相应的逻辑值为1。真值表也同时在图中给出。注意输入x1和x2是异或的关系,但是我们仍然用门来显示。
图12 灯控电路
所需电路,如图13所示,使用Verilog代码来描述。注意,Verilog模块叫做light,这个图5所示的名称是一致的。此代码的编辑可以使用任何可存储ASCII码的文本编辑器,或者使用Quartus II自带的编辑器。当然,文件的名称可以任意取;而和顶层Verilog模块的名称一致,是一个设计惯例。文件名称必须带.v扩展名,用以指示此文件为Verilog文件。所有,我们使用light.v这个名称。
图13 图12所示电路的Verilog代码
3.1 使用Quartus II 文本编辑器 本节将展示如何使用Quartus II文本编辑器。如果你喜欢使用其他文本编辑器来创建Verilog源文件,可以逃过此节。选择File>New打开图14所示窗口,选择Verilog HDL File,并单击OK。这将打开文本编辑器窗口。第一步是指定所创建的文件的名称。选择File>Save As,打开图15所示的对话框。选择存储类型为Verilog HDL File,填写名称为light.v。单击Save,打开图16所示窗口。输入图13所示的代码。使用Ctrl+s保存该文件。 图14 选择新建的文件类型
图15 命名文件
图16 文本编辑器窗口
3.1.1 使用Verilog模板 对于设计者来说,Verilog的语法有时很难被记住。为了解决问题,文本编辑器提供了Verilog模板集。这些模板提供了不同类型的Verilog表达的范例,譬如module声明、always块和设置语句的陈述。可以通过Edit>Insert Template>Verilog HDL来浏览这些模板,以熟悉这些资源,这是相当值得的。
3.3 添加设计文件到工程中 正如图7所讨论的那样,我们可以告诉Quartus II软件,哪些文件是当前工程的一部分。要查看当前的light工程中已包含的文件列表,选择Assignment>Setting>File,这将打开图17所示画面。另外一个可用的方法是选择标签Project>Add/Remove Files in Project。 使用Quartus II文本编辑器创建文件时,勾上Add file to current project选项,所创建文件即自动加入到工程文件列表。如果使用的不是Quartus II自带的文本编辑器,那么图17,列表中就没有所创建的文件,此时必须手动添加文件到工程文件列表中。欲添加文件到工程文件列表中,单击图17中的File Name:的按钮,弹出图18所示对话框,选择light.v,单击Open。再次查看图17画面,此时所添加的文件就已经在文件列表了。需要注意的是,在大多数案例中,Quartus II软件可根据各个实体自动找到正确的文件,即使某些文件没有被认真地添加到工程中。 然而,对于包含许多文件的复杂工程,按照上述方法,添加指定所需文件到工程中,是一个很好的设计惯例。 图17 设置窗口 图18 选择文件
4 编译设计电路 在light.v中Verilog代码,要经过几个Quartus II工具的处理:分析代码、综合电路以及生成目标芯片的实现内容。这些应用程序被聚集在一起,且被称作编译器。
选择Processing>Start Compilation运行编译器,或者单击 按钮运行。在编译过程中,Quartus II的左边会显示不同阶段的进度。编译成功(或不成功)后,会弹出一个对话框。
单击OK确认。Qartus II会显示图19所示画面的编译报告。当编译成功后,也可以通过 按钮手动打开编译报告。