QuartusII软件的使用.docx
- 文档编号:4119758
- 上传时间:2022-11-28
- 格式:DOCX
- 页数:15
- 大小:230.30KB
QuartusII软件的使用.docx
《QuartusII软件的使用.docx》由会员分享,可在线阅读,更多相关《QuartusII软件的使用.docx(15页珍藏版)》请在冰豆网上搜索。
QuartusII软件的使用
QuartusII软件的使用入门
4.1QuartusII简介
QuautusII是Altera公司的综合性PLD开发软件,支持原理图、VHDL、Verilog-HDL以及AHDL等多种设计输入形式,内嵌自有的综合器以及仿真器,可以完成从设计输入到硬件配置的完整的PLD设计流程。
它支持Altera的IP核,包含了LPM/MegaFunction宏功能模块库,使用户可以充分利用成熟的模块,简化了设计的复杂性、加快了设计速度。
对EDA第三方工具的良好支持也使用户可以在设计流程的各个阶段使用熟悉的第三方EDA工具。
在本教程中使用的QuartusII的版本为5.0。
4.1.1设计工作流程
QuartusII的设计流程图如图所示。
图QuartusII的设计流程图
用户首先对所做项目进行设计,明确设计目的、设计要求。
然后利用原理图输入方式或文本输入方式进行设计输入。
输入完成后进行编译,若编译过程中发现错误,则应检查设计输入以修改错误,直至没有错误产生。
编译完成后进行仿真,检查是否达到了设计要求,若未达到要求,需重新检查设计输入及编译过程,不断迭代、收敛直至满足设计要求。
最后将设计配置到目标器件中进行硬件验证与测试。
4.1.2QuartusII的图形用户界面
QuartusII的图形用户界面如图所示,从图中可以看出共有以下几个子窗口。
图QuartusII软件的图形用户界面
1.Projectnavigator项目导航窗口
项目导航窗口包括3个可以切换的标签:
Hierarchy标签用于层次显示,提供了逻辑单元、寄存器、存储器使用等信息;File和DesignUnits提供了工程文件和设计单元的列表。
2.编辑输入窗口
设计输入的主窗口,无论原理图还是硬件描述语言编译、仿真的报告都显示在这里。
3.Status窗口
状态窗口,用以显示各系统运行阶段的进度。
4.Message窗口
消息窗口,实时提供系统消息、警告和错误等信息。
5.TclConsole窗口
Tcl命令窗口,可以直接输入Tcl命令或教本文件。
4.2QuartusII软件使用
本节我们以一个D触发器的设计为例,详细介绍QuartusII的使用方法,引导读者快速入门,同时对每一步骤,包括设计输入(包括文本输入和原理图输入)、编译、仿真合器件配置等作了较为详细的说明,便于读者理解设计流程。
4.2.1设计输入
QuartusII支持多种设计输入方法,既允许用户使用多种方法描述设计,常用的设计输入方式有:
原理图输入、文本输入和第三方EDA工具输入。
输入方法不同,生成的文件格式也不同。
QuartusII5.0版本软件中的设计输入支持的文件格式有:
VHDL、Verilog-HDL、AHDL、BlockDesignFile(原理图输入)、EDIF(网表文件输入)。
本例中主要介绍文本输入方法和原理图输入方法。
●VHDL(.vhd文件):
IEEE标准描述语言。
有美国国防部的逻辑描述标准发展而来,因而系统性、结构性较好。
支持从系统级到门级的描述方式,是目前最常用的HDL描述语言之一,可移植性较好。
●Verilog-HDL(.v文件):
IEEE标准描述语言。
拥有和C语言类似的格式和语法,在ASIC设计领域应用广泛。
支持行为级描述并在门级描述方面拥有独特的优势,也是目前最常用的HDL描述语言之一,可移植性较好。
●AHDL(.tdf文件):
Altera公司自有的HDL描述语言。
在Altera公司的软件工具及提供的设计资源中应用广泛。
虽然并不是主流的HDL描述方式,可移植性也不是很好(只能用于Altera的综合器),但是使用它在描述一些逻辑尤其是与Altera器件底层相关的设计时结合的很好。
●BlockDesignFile(.bdf文件):
原理图输入方式。
几乎所有的EDA工具都会提供原理图输入方式,这种方式简单易用而且非常直观,缺点时直观的图形背后调用的模块库不兼容导致了这种描述方式的可移植性不好。
值得一提的是,QuartusII的原理图输入方式实现了从原理图模块到HDL描述语言的双向自动转换功能,即可以实现原理图和HDL的混合输入,这在进行大型设计时是相当有意义的。
●EDIFNetlist(.edf文件):
网表文件输入。
网表记录的是设计的组成以及连接方式,由第三方综合工具产生或者IP供应商提供。
这种输入方式与上述四种的层次是不同的,可以理解为是已经综合完成的设计,QuartusII会根据网表的描述进行布局布线将设计具体部署到确定的Altera器件中。
下面开始进行设计输入的工作,此部分分为文本输入设计和原理图输入审计分别对进行D触发器的设计输入进行说明,下面首先打开QuartusII软件,点击QuartusII5.0的图标,打开QuartusII的图像用户设计软件,如图所示。
图打开QuartusII软件
4.2.1.1文本输入法设计输入:
1.创建工程
QuartusII有工程的概念,所谓工程就是当前设计的描述、设置、数据以及输出的集合,QuartusII会将这些存储在不同类型的文件中并置于同一文件夹吓。
所以在开始设计之前,必须创建工程,具体的步骤如下:
(1)在启动的QuartusII软件下执行File->NewProjectWizard…命令,如图所示。
QuartusII会启动新建工程向导,向导的第一个页面是说明页面,介绍了向导所包含的步骤与相关的说明,直接点击【Next】按钮继续。
图NewProjectWizard菜单命令图设置工程名称及顶层实体名
(2)向导的第一页用以设置工程文件夹、工程名称以及顶层实体名称,如图所示。
顶层实体名称必须与设计顶层文件的文件名一致,与VHDL设计中的顶层实体名一致,这一点需要特别注意。
另外实体名称也不能为中文,不能使用VHDL的关键字或者与QuartusII设计库中的模块名称相同,如现在建立的设计就不能命名为DFF,因为QuartusII设计库中包含有名为DFF的D触发器设计。
一般情况下,推荐工程文件夹、工程名称以及顶层实体名使用相同的名称。
(3)点击【Next】按钮,如果工程文件夹不存在,QuartusII会弹出如图所示的对话框询问是否新建该工程文件夹。
图新建工程文件夹
点击【是】按钮确认进入下一步骤添加设计文件,对话框如图所示。
如果已有完成的设计文件,可以点击【…】按钮或者【AddAll】将其添加到工程中。
这里并没有预先编辑D触发器的描述,所以直接点击【Next】按钮继续。
图添加设计文件
(4)选择目标芯片的对话框,如图所示,这里选择的目标芯片是Cyclone系列的EP1C6Q240C8。
如果用户没有确定的目标芯片,可以仅在Family栏中选择合适的器件系列,由QuartusII自动选择。
图选择目标芯片
(5)点击【Next】按钮进入EDA工具设置页面,如图所示,用以设置第三方的综合器、仿真器和时序分析工具。
默认值为不使用第三方EDA工具,在本工程中保持默认值不变,直接点击【Next】按钮继续。
图设置第三方EDA工具
(6)在新建工程向导的最后一步,QuartusII会给出新建工程的摘要信息,点击【Finish】按钮即可完成向导。
图新建工程摘要
2.文本输入
(1)执行File->New…菜单命令打开新建对话框,如图所示。
选中DeviceDesignFiles选项卡中的VHDLFile后,点击【OK】按钮新建一个空白的VHDL文档。
QuartusII会自动将其命名为Vhdl.vhd,这时执行File->Save命令将其保存,保存为对话框如图所示。
图新建对话框图保存设计文件
(2)在新建的VHDL文档中进行设计输入,D触发器的VHDL描述如下所示:
ENTITYDFF_REGis
PORT(CLK,D,CLR:
inBIT;――定义端口
Q,QN:
outBIT);
ENDENTITYDFF_REG;
ARCHITECTUREbehaviouralofDFF_REGis
SIGNALQi:
BIT;――定义信号
BEGIN
Q<=Qi;
QN<=NOTQi;
PROCESS(clk,clr)
BEGIN
IF(clr='1')then
Qi<='0';
ELSIF(clk'eventandclk='0')then--时钟下降沿触发
Qi<=d;
ENDif;
ENDPROCESS;
ENDARCHITECTUREbehavioural;
(3)完成VHDL语言输入之后,执行Process->AnalysisCurrentFile菜单命令,启动QuartusII的语法检查功能,对当前文件进行分析。
如果在Message窗口中出现Error,在修改之后再次执行分析,直至没有错误提示为止。
图语法检查没有错误结果
由于VHDL的语法较为生硬、格式化,在手工输入中常常会出现错误。
QuartusII的文本编辑器会将VHDL的关键字高亮来帮助用户在输入过程中避免错误,并且提供了语法检查功能进行完整的分析检错。
需要注意的是在阅读QuartusII错误报告时,应该先从第一个错误开始检查,后面的错误大多数情况下都是由前面的错误导致的。
直接在消息框中的错误信息上双击,即可在源代码中定位错误位置。
3.分配引脚
分配引脚的目的是为设计指定输入输出引脚在目标芯片上的位置。
分配引脚的方法有许多种,这里介绍的AssignmentEditor工具是一种比较常用的引脚分配方法。
QuartusII支持预先的I/O分配和确认操作,这样可以在整个设计流程中尽早进行印刷电路板的布线设计工作。
同样,设计人员可以在任何时间对引脚的分配进行修改和确认,无需再进行一次设计编译。
AssignmentEditor是QuartusII提供的综合性的约束编辑器,除了分配引脚之外,在进行逻辑锁定、时序约束,以及SignalProbe等功能时都会使用到AssignmentEditor。
引脚分配和最终的硬件平台是密不可分的,读者需要根据自己的硬件连接进行,这里仅作方法的介绍并不限制具体的分配结果,具体步骤如下:
(1)在分配引脚之前,必须首先对设计进行分析及语法检查。
在QuartusII主界面中执行Processing->Start->StartAnalysis&Elaboration命令,启动QuartusII的分析与语法检查。
如果发现错误,QuartusII会在下方的消息框给出提示信息,修改后再次执行检查,直至没有错误为止。
(2)执行Assignments->AssignmentEditor打开,点击窗口左上角的Pin按钮进行引脚分配,在左侧的工具栏中选中ShowAllKnownPinName按钮列出所有已知的引脚名称,所得的界面如图所示。
主窗口中主要列的解释如下:
To:
进行分配的目标端口。
Location:
引脚名称,使用PIN_前缀表示。
I/OBank:
引脚所属的I/O区域。
I/OStandard:
I/O电平标准。
图分配引脚
(3)在Location列中点击鼠标可以打开所有未使用引脚的下拉列表,从中选择需要分配给端口的引脚即可完成引脚分配。
也可以直接输入引脚名称即PIN_前缀后面的部分,输入完成后按回车继续,AssignmentEditor会自动完成换行操作。
另外,AssignmentEditor还支持复制、粘贴功能,用户可以将引脚分配表通过剪贴板从文本文件、剪贴板或是另外的AssignmentEditor复制进来。
4.2.1.2原理图输入法
下面以原理图输入法来进行设计输入,原理图输入方式也是一种常用的设计输入手段。
在此介绍在QuartusII中如何使用原理图的方式完成D触发器的设计输入。
1.使用NewProjectWizard新建一个工程,工程文件夹、工程名、顶层实体名均为DFF_BDF。
2.打开DFF_BDF工程,在QuartusII界面中执行File->New…菜单命令打开新建对话框,如图所示。
图新建对话框图保存设计文件
选中DeviceDesignFile选项卡中的BlockDiagram/SchematicFile后,点击【OK】按钮新建一个空白的原理图文档。
QuartusII会自动将其命名为Block1.vhd,这时执行File->SaveAs…命令将其保存,保存对话框如图所示。
QuartusII会自动将保存位置定位到工程目录并默认命名为<顶层实体名>.bdf,在这里只有一个实体,故DFF_BDF就是顶层。
保持默认不变,直接点击【保存】按钮保存文件。
3.执行Edit->InsertSymbol…菜单命令,或者在原理图的空白处双击打开图所示的Symbol对话框。
图Symbol对话框
对话框左侧的Library列表是Altera提供符号模块库,原理图输入方式就是利用这些符号模块来搭建设计的。
从图中可以看到,库列表分为以下3个部分:
●MegaFunctions:
宏功能函数库,其中包含Altera提供的LPM/MegaFunction宏功能模块,是参数可定制的已经完成设计与验证的复杂逻辑模块,如果同时选中宏功能模块实例化复选框,QuartusII会自动调用MegaWizardPlug-InManager功能进行定制。
●Oterhs:
其他库中包含了与MaxplusII兼容的中等规模符号模块,如常用的74系列逻辑的符号模块。
●Primitives:
基本符号模块库包含所有基本符号模块,比如各种逻辑门、触发器、输入输出端口等。
使用鼠标点击primitives前面的“+”展开primitives库,再点击storage前面的“+”可以看到以一个符号模块dff就是D触发器。
选中它之后可以在右侧的符号模块预览窗口中看到dff的原理图,如图所示。
这时如果选中Repeat-insertmode复选框即可以在原理图中重复复制多个dff。
图dff符号模块
点击【OK】按钮后,QuartusII会将窗口切换回原理图编辑器,鼠标变成十字并跟随一个dff的符号模块略图。
将鼠标移动到需要放置dff的位置后点击左键即可完成放置,如图所示。
图放置dff符号模块
4.在原理图中添加了dff符号模块后,需要为其搭配上输入输出模块。
添加输入输出模块的方法与添加dff的方法相同。
在Symbol对话框中的primitives库中找到input和output模块并完成放置即可,完成添加并放置好的原理图如图所示。
5.在input和output符号模块上双击打开属性对话框,如图所示。
按照D触发器的输出、输入对其进行重命名,并点击【确定】按钮确认。
图添加输入输出符号模块
图重命名符号模块
6.点击工具栏重的
按钮连接模块,将各个模块的输入输出端口对应连接到一起,构成完整的原理图。
最终完成的D触发器原理图如图所示。
图最终完成的D触发器原理图
7.至此,已经完成了原理图方式的D触发器设计输入,接下来的编译、仿真和配置器件流程与文本输入方式设计相同。
4.2.2编译
在标准PLD设计流程中,编译(Compilation)包括综合(Synthesis)和布局布线(Place&Route)两个阶段。
在综合阶段,综合器将HDL语言描述翻译成基本的逻辑门、存储器、触发器等基本逻辑单元的连接关系,称为网表(Netlist)。
在这个过程中,综合器会根据用户的约束与本身的算法优化生成网表,目的是让生成的设计拥有更快的速度并占有更好的资源。
完成综合后需要根据目标器件进行布局布线,利用芯片内的可用逻辑资源最终将设计在物理层次上实现。
QuartusII将编译划分为Analysis&Synthesis、Fitters、Assembler和TimingAnalyzer4个阶段。
其中Analysis&Synthesis就是综合,Fitters为布局布线;后面的Assembler用于生成编译输出文件,而TimingAnalyzer是时序分析流程。
用户可以分别进行编译的这4个阶段,也可以直接执行完全编译让QuartusII自动完成整个编译工作。
在我们这里举的例子中使用的是完全编译方式进行编译。
1.启动编译
在QuartusII界面上执行菜单Processing->StartCompilation或者使用Ctrl+L快捷键启动QuartusII的完全编译。
可以在状态窗口中看到当前编译的运行状态,如图所示。
图完全编译状态图完成编译
在编译的过程中QuartusII会在消息框中显示编译中的警告、错误和消息,并在编译结束后给出完成的综合报告。
遇到编译错误,QuartusII会立即终止编译流程,并给出错误信息,双击错误名称,QuartusII会自动在HDL代码等设计源描述中定位出错位置。
2.完成编译
编译完成后,QuartusII会给出如图所示的对话框提示,并给出编译报告,如图所示。
其中包括了设计的资源占有信息、时序分析报告等综合信息,用户可以通过阅读这个报告了解QuartusII的编译结果。
编码报告
图编译报告
3.查看RTL试图
通过执行Tool->RTLViewer菜单命令可以观察到设计的RTL试图,如图所示。
在QuartusII中,执行完AnalysisandElaboration流程后即可以观察RTL电路图,所以RTL电路图是在综合及布局布线前生成的,并非设计的最终电路结构。
RTL试图是设计的寄存器传输级展现,作为设计输入最忠实的体现,RTL试图的主要作用是帮助设计者检查设计输入中的问题。
图RTL视图
从图中可以看到一个典型的D触发器的原理图,这与本例中的设计是一致的。
4.2.3仿真
对工程的编译通过后,必须对其功能和时序性质进行仿真测试,以了解设计结果是否满足原设计要求。
再把设计配置到器件之前,可以通过仿真对设计进行全面测试,保证设计是在各种条件下都能有正确的响应。
仿真分为功能仿真和时序仿真,功能仿真仅仅测试设计的逻辑功能;而时序仿真不仅测试逻辑功能,而且测试设计的目标器件处在最差情况下的时序关系。
本例中是在编译后进行仿真,已经包含了设计的延时信息属于时序仿真,具体的操作步骤如下:
1)新建波形文件
在QuartusII界面中,执行File->New菜单命令,在弹出的新建对话框中选择OtherFile选项卡,选择VectorWaveformFile项目,如图所示。
图新建仿真波形文件图另存仿真波形文件
点击【OK】按钮,可以看到QuartusII创建的名为Waveform1.vmf的仿真波形文件,使用File->SaveAs…命令将其另存为DFF_REG,如图所示。
2)添加仿真信号
在进行仿真之前必须添加仿真信号,即仿真中的激励以及所要观察的信号。
在QuartusII中添加仿真信号有多种方法,这里可以通过执行Edit->InsetNodeorBus菜单命令打开InsertNodeorBus对话框,如图所示。
图添加仿真信号
在Name栏中填入设计中需要观察的端口信号,QuartusII会自动给出其输入输出类型与其他参数,点击【OK】即可将其添加到波形文件中。
图所示的是添加输入信号D的过程,同理将CLK、CLR、Q、QN也添加到波形文件中,完成的波形文件窗口如图所示。
图完成信号添加的波形栏
QuartusII默认的仿真时间为
,这里执行Edit->EndTime菜单命令将其更改为
,如图所示。
图设置仿真时间图设置时钟激励
3)设置仿真激励
根据VHDL描述,本例是一个边沿触发型的D触发器,输出Q在每个时钟CLK的上升沿响应输入D的变换。
CLK、D和异步清零端CLR作为设计的输入信号,在仿真过程中需要赋予激励。
QuartusII提供了多种方式来设置信号的仿真激励,选中所需要的信号后点击鼠标右键,在弹出的快捷菜单中打开Value子菜单,便可以看到QuartusII提供的仿真激励类型。
以设置CLK时钟为例,选中Value子菜单中的Clock…项目打开Clock对话框设置时钟,如图所示。
在Period栏设置时钟的周期为100ns即10MHz;Phase栏保持默认的0相位偏移不变;占空比(DutyCycle)设置为50%,最后点击【OK】按钮完成设置。
除了使用快捷菜单还可以直接使用工具栏进行仿真激励的设置,工具栏如图所示。
按钮功能解释参加帮助文件。
图仿真工具栏
最终设置完成的仿真激励如图所示。
图设置完成的仿真激励
4)启动仿真
执行QuartusII菜单中的Processing->StartSimulation命令或者Ctrl+I快捷键即可启动仿真。
QuartusII会在状态窗口显示仿真的运行状态,并在消息窗口给出仿真过程中出现的警告、错误和信息。
完成仿真后弹出的对话框如图所示。
图完成仿真
在完成仿真后QuartusII会自动弹出仿真报告,如果没有自动弹出也可以执行Precessing->SimulationReport手动打开。
这个报告中的波形窗口与刚才输入仿真激励的波形文件窗口是不同的,本例给出的仿真报告如图所示。
从波形图中可以清晰地看到输出Q及QN在CLK地上升沿跟随输入D变化,满足设计要求。
图仿真波形
需要注意的是,QuartusII并不允许直接在仿真报告的波形图中修改仿真激励,如果用户进行了修改,QuartusII会弹出编辑输入向量对话框。
该对话框提供两个单选框解释如下:
(1)Iwanttooverwrite…:
使用仿真报告波形窗口中的内容覆盖仿真文件窗口中的波形。
(2)Idon’twanttooverwrite…:
跳回仿真文件窗口进行修改。
4.2.4配置器件
在完成设计输入及成功的编译、仿真设计之后,配置器件是QuartusII设计流程的最后一步,目的是将设计配置到目标器件中进行硬件验证。
在编译中的Assembler阶段QuartusII会针对目标器件生产配置文件:
SRAM对象文件(.sof)和编程器对象文件(.pdf)。
由QuartusII提供的Programmer工具使用这些文件对器件进行配置,执行Tools->Programmer菜单命令可以启动Programmer工具,界面如图所示。
硬件没有安装
图配置工具
1)设置配置电缆
配置电缆用于连接运行QuartusII的PC与目标器件,将配置指令与数据传送到FPGA/CPLD。
Alt
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- QuartusII 软件 使用