页数:31页文件大小:442.2 KB来源: EDA技术及数字系统的应用ppt课件
本课件讲解CPLD与FPGA开发工具Quartus II的使用方法,覆盖软件特性、完整设计流程、主界面构成、设计工程的新建与管理,以及编译、RTL与Technology Map视图分析、功能与时序仿真、引脚分配和器件编程配置等操作环节。
《EDA技术及数字系统的应用》第三章封面,主题为CPLD/FPGA开发工具Quartus II。
学习目标和要求
嵌入式开发工具QuartusII_内容1. Quartus II的特性2. Quartus II设计流程3. Quartus II的主界面4.新建一个设计工程5.编译与仿真工具6.编程和配置
2 . Quartus II设计流程QuartusII提供了完全集成设计环境,拥有CPLD/FPGA各个开发阶段对应的开发工具。QuartusII开发工具为设计流程的每个阶段提供QuartusII图形用户界面、EDA工具界面以及命令行界面。可以在整个流程中只使用这些界面中的一个,也可以在设计流程的不同阶段使用不同界面。设计输入Design Entry综合Synthesis布局布线Place & Route时序分析TimingAnalysis编程和配置Programming &Configuration模块设计、系统级设计软件开发功耗分析Power Analysis调试Debugging时序逼近Timing Closure工程更改管理EngineeringChangeManagement仿真SimulationQuartusII设计流程
; 设计输入QuartusII提供了多种设计输入方法,来描述数字系统的硬件逻辑关系。比Max+PlusII更为出色。其设计输入方法如下:①文本编辑器能利用硬件描述语言完成设计文件的编写、修改和保存。②块与图形编辑器用于查看和编辑代表宏功能、宏功能模块、基本单元或设计文件的预定义符号,以及原理图的编辑。③MegaWizard插件管理器提供了许多Altera公司的宏功能模块,可以在设计文件中利用MegaWizard插件管理器将功能强大的宏功能模块插入到设计中。④约束编辑器可为设计指定初始约束条件,如引脚分配、器件选项、逻辑选项和时序等约束条件。⑤布局图工具可以查看上一次编译后执行的资源分配和布线结果。
; 综合综合是将HDL语言、原理图等设计输入翻译成由与、或、非门、RAM、触发器等基本逻辑单元组成的逻辑链接(网表),并根据目标和要求优化所生成的逻辑链接,输出edf或vqm等标准格式的网表文件,供布局布线器进行实现。QuartusII提供了如下综合工具:①分析和综合器,该工具调用QuartusII的内置综合器,支持最新版本的Verilog和VHDL语言,并最终生成EDIF网表文件(.edf)和VQM文件(.vqm)。②QuartusII在设计综合期间提供了辅助工具,用于检查设计的可靠性。③RTL查看器为设计者提供了整体设计的门级原理图和层次结构列表,并列出了整体设计的网表
; 布局布线布局布线是将设计综合后的网表文件映射到实体器的过程。该过程包括:将设计工程的逻辑和时序要求与器件的可用资源相匹配;将每个逻辑功能分配给最好的逻辑单元位置,进行布线和时序分析;选择相应的互连路径和引脚分配。QuartusII提供了如下布局布线工具:①适配(Fitter)工具,如果设计者利用约束编辑器指定了约束条件,那么Fitter工具试图将设计约束与器件上的资源相匹配,并努力满足约束条件,然后试图优化设计中的其余逻辑。如果没有指定了约束条件,那么Fitter工具将自动优化设计。②约束编辑器和布局图工具。③芯片编辑器可以显示芯片内部完整的布线信息,显示每个器件资源之间的所有可能和使用的布线路径。④增量布局连线工具可避免运行全编译。QuartusII增量布局连线工具将尽量保留以前编译的布局连线结果,以较快速度完成对设计做了修改部分的布局布线。⑤反标保留分配设置是通过反标给任何器件资源的分配来保留上次编译的资源分配。可以在工程中反标所有资源分配,也可以反标LogicLock区域的大小和位置。
; 时序分析Quartus II的时序分析(Timing Analyzer)可用于分析设计中的所有逻辑,并有助于指导Fitter达到设计中的时序要求。默认情况下,Timing Analyzer作为完整编译的一部分自动运行,分析、报告时序信息,时序分析的结果包括建立时间( tSU)、保持时间(tH)、时钟至输出延时和最小时钟至输出延时( tCO)、引脚至引脚延时和最小引脚至引脚延时( tPD)、最大时钟频率( fMAX),以及设计的其它时序特性。说明分析参数在不违反内部建立(tSU)和保持(tH)时间要求时,可以达到的最大时钟频率。fMAX(最大频率)触发寄存器的时钟信号在时钟引脚置位之前,经由数据输入或使能端输入进入寄存器的数据必须在输入引脚处出现的时间长度。tSU(时钟建立时间)触发寄存器的时钟信号在时钟引脚置位之后,经由数据输入或使能端输入而进入寄存器的数据必须在输入引脚处保持的时间长度。tH(时钟保持时间)时钟信号在触发寄存器的输入引脚上发生跳变之后,寄存器馈送信号的输出引脚出现有效输出所需的最短时间。这个时间总是代表外部引脚至引脚延时。tCO(时钟至输出延时)指定可接受的最小引脚至引脚延时,即输入引脚信号通过组合逻辑传输并出现在外部输出引脚上所需的时间。tPD(时钟至输出延时)
3.Quartus II的主界面启动QuartusII软件后其默认界面如图所示,由标题栏、菜单栏、工具栏、工程管理窗、编译状态显示窗、信息显示窗和工程工作区等部分组成。标题栏菜单栏工具栏工程管理窗编译状态显示窗工程工作区信息显示窗QuartusII的主界面
标题栏:标题栏显示当前工程的路径和设计的工程名称。菜单栏:菜单栏主要由文件(File)、编辑(Edit)、视图(View)、工程(Project)、资源分配(Assignments)、操作(Processing)、工具(Tools)、窗口(Window)、和帮助(Help)等九个下拉菜单组成。其中工程、资源分配、操作和工具下拉菜单集中了QuartusII软件的主要的操作命令。工具栏:包含了常用命令的快捷图标如图所示,每种图标在菜单栏均能找到相应的命令菜单。设计者也可以根据需要将自己常用的功能定制为工具栏的图标,方便在设计中快速灵活地进行操作。工程管理窗当前工程版本分析综合设置编程时序分析仿真编译报告资源分配布局布线编译QuartusII工具栏
工程管理窗:用于显示当前工程中所有相关的资源文件。该窗口左下角有三个标签,分别是结构层次(Hierarchy)、文件(Files)和设计单元(Design Units)。结构层次窗口:在工程编译前只显示顶层模块名,在工程编译之后,此窗口按层次列出工程中所有的模块,并列出了每个源文件所用资源的具体情况。文件窗口:显示工程编译后的所有文件,文件类型有设计器件文件(DesignDevice Files)、软件文件(Software Files)和其它文件(Others Files)。设计单元窗口:列出工程编译后的所有单元,如AHDL单元、Verilog单元、VHDL单元等,一个设计器件文件对应生成一个设计单元,参数定义文件没有对应设计单元。工程工作区:显示设计文件(原理图或文本)、器件设置、时序约束设置、底层编辑器和编译报告等,当QuartusII实现不同功能时,此区域将打开相应的操作窗口,显示不同的内容,进行不同的操作。
编译状态显示窗:主要是显示工程综合、布局布线过程及时间。列出了工程模块综合和布局布线进度条,以及综合和布局布线所耗费的时间。信息显示窗:显示QuartusII软件进行综合、布局布线过程中的信息,如综合时调用源文件、库文件,布局布线过程中的定时、警告和错误等,如果显示警告和错误,则会给出具体的引起警告和错误的原因,以方便设计者查找及修改错误。类型文件*.qpf, *qsf, *.qws, *.qdf工程文件*.tdf,*.vhd,*.vhdl,*.v,*.vlg,*.vqm,*.vh,*.edf,*.edif,*.edn,*.gdf,*.bdf设计文件*.c, *.cpp, *.h, *.s, *.asm软件文件*.inc,*.bsf,*.sym,*.vwf,*.vec,*.stp,*.mif,*.hex,*.lmf其它源文件*.gdf, *.bdf, *.bsf ,*.sym图形文件*.vwf, *.vec, *.tbl波形/向量文件*.stp逻辑分析文件*.vht, *.vt内存编辑文件*.mif, *.hex测试输出文件*.sof, *.pof, *.cdf, *.jam编程下载文件*.tcl脚本文件*.rpt, *.csf.rpt, *.ssf.rpt, *.htm, *.html, *.ccs.htm, *.ssf.htmHTML/文本格式报告文件*.vo,*.vho,*.tdo,*.sdo,*.tao,*.pin,*.csv输出文件
4.新建一个设计工程一个设计工程(Project)名称是一个系统设计的总称,它包含了所有的设计文件和设计过程中产生的所有辅助文件。QuartusII是以工程形式来组织用户的设计文件和关联工程中的所有文件。QuartusII软件中的工程包括实现成功设计所必需的所有设计文件,软件源文件和其他相关文件。还可以比较工程多个版本的设置和分配,更快、更有效地满足设计要求。由于编译器、仿真器等是面向工程的,也就是说,编译器编译的是当前的工程名称。要对某个文件进行编译,必须具有与该文件相同的工程名。一般最顶层文件名与工程名是相同的。在QuartusII中新建一个设计工程有两种方式:一种是将原有的Max+PlusII设计(或工程)转换为QuartusII的设计工程;另一种是使用File菜单中的"New ProjectWizard "(新建工程向导)命令来建立一个设计工程。
说明文件类型指定用来建立工程和与工程相关修订的Quartus II软件版本。*.qpf包括配置编辑、底层编辑、设置对话框、Tcl脚本或者QuartusII可执行文件产生的所有修订范围内或者独立的分配。工程中每个修订版本有一个QSF。*.qsf包含用户偏好和其他信息,例如窗口位置,窗口中打开文件及其位置。*.qws包括所有全局默认工程设置。QSF中的设置将替代这些设置。*.qdfQuartus II中的工程和设置文件对于同一工程可以设置和修订多个版本,不同的工程版本为设计中的设计文件指定、保存、使用不同的设置和分配组。同一工程的多个版本并不影响工程的源设计文件。并且可以对设计的任何实体建立修订版本。在Project菜单下的Revisions(版本)对话框中可以查看当前工程的所有修订版本、为特定设计实体建立一个修订、删除修订,或者设置一个特殊修订作为当前修订工程版本,以便编译、仿真和进行时序分析。此功能可以为同一个设计实体建立不同的设置和分配,并将这些设置保存为不同的修订版本,以便比较。每一个修订版本都有相应的报告文件,可以打开它,查看并且对照其他修订,比较设置效果和分配更改的结果。
与Max+PlusII一样,Quartus II软件也可以把当前设计文件设置为顶层文件,变为顶层设计实体(工程)。选中菜单项Project\Set as Top-Level Entity即可。使用QuartusII来转换Max+PlusII设计(或工程)时,QuartusII会自动转化Max+PlusII设计工程,导入工程的分配信息。QuartusII可以导入Max+PlusII的所有文件,但是不能将设计文件保存为Max+PlusII格式的设计文件,也不能在Max+PlusII中打开QuartusII工程。 ; 转换Max+PlusII设计在Max+PlusII中,工程指定和配置信息保存在Max+PlusII ACF文件(.acf)中,将原有的Max+PlusII设计(或工程)转换为QuartusII的设计工程的方法是:选中菜单项File\Convert MAX+PLUS II Project ,弹出Convert MAX+PLUS IIProject对话框。按对话框要求既可。
在完成工程的创建后,就进入设计输入阶段,设计者可以开始编写顶层设计文件和其它功能模块的设计文件。对于新建的设计工程来说,设计的顶层文件名应该与工程名相同。
QuartusII有多种设计输入方式,可以使用文本形式的文件(如VHDL、Verilog HDL、AHDL等)、存储器数据文件(如HEX、MIF等)、原理图设计输入,以及第三方EDA工具产生的文件(如EDIF、HDL、VQM等)。同时,还可以混合使用以上几种设计输入方法进行设计。 ; 设计输入将设计的输入文件保存在当前工程目录中。如设计文件为顶层文件,则设计文件名应该与工程名相同。另外,也可以将现有的设计文件添加到当前工程中,选中菜单Project\Adding & Removing Files in a Project命令,或者选中菜单Assignments\Settings…命令,即可对现有的设计文件添加到当前工程中,或者删除当前工程中的设计文件。在执行分析和综合(Quartus II Analysis &Synthesis)期间,Quartus II软件将按文件在Files页面中显示的顺序来处理文件。可以使用Copy Project命令(Project菜单),将整个工程复制到新的目录下,包括工程设计数据库文件、设计文件、设置文件和报告文件,然后在新目录下,打开该工程。
建立好工程和顶层设计输入文件后,需对工程进行编译和仿真。Quartus II编译器是由一系列处理模块构成,完成对设计工程文件的检错、逻辑综合、提取定时信息、在指定的Altera系列器件中进行适配分割,产生的输出文件将用于设计仿真、定时分析和器件编程,同时产生各种报告文件,包括器件使用统计、编译设置、RTL级电路显示、器件资源利用率、延时分析结构和CPU使用资源等。如果工程编译不能通过,说明工程的设计文件存在语法错误或布局布线错误;如果仿真结果不正确,说明工程的逻辑功能设计存在问题,或电路行为描述上有错误等。5.编译与仿真工具 ; 完全编译一种方式是选中菜单Processing\Start Compilation命令,在编译状态显示窗中显示编译四个过程的运行状态示。另一种方式是选中菜单Tools\Compiler Tool命令,将弹出与Max+PlusII相似的编译工具窗口,在此窗口将显示完全编译的过程。
; 查看RTL视图RTL Viewer(视图)是Quartus II提供的用于显示寄存器传输级原理图的工具。同时也包括层次结构列表,列出整个设计网表的实例、基本单元、引脚和网络。设计者可以通过它直观地察看到设计文件的电路结构,并可以根据图中的节点回溯到设计描述,验证以及优化设计。要想利用RTL Viewer来观察设计的电路结构,必须首先执行选择菜单Processing\Start\Start Analysis & Elaboration命令来分析设计。然后选中菜单Tools\RTL Viewer命令,将弹出RTL Viewer窗口。RTL视图是在综合及布局布线前生成的,并非设计的最终电路结构。RTL Viewer是一个设计描述调试工具,特别是对于Verilog HDL、VHDL或AHDL设计的文本文件,可以通过RTL Viewer以原理图形式显示,帮助设计者快速准确地找到设计中的问题。
; 利用Technology Map视图分析综合结果Technology Map Viewer与RTL Viewer相似,也提供了原理图表征的电路结构。但是Technology Map电路结构图反映的是设计在经过综合与布局布线后的电路连接。所以想要运行Technology Map Viewer,必须首先执行Analysis &Synthesis命令,或者进行完全编译。然后通过选择菜单Tools\TechnologyMap Viewer来显示Technology Map Viewer窗口。它包括一个原理视图以及一个层次列表,列出整个设计网表的实例、基本单元、引脚和网络。在原理视图中当鼠标停留在模块上时,Quartus II会显示出当前模块具体占用的芯片资源及互连情况,双击模块,可以看到其内部的Technology Map结构。
; 仿真工具仿真工具可以仿真整个设计,也可以仿真设计的任何部分。仿真分为功能仿真和时序仿真两个阶段。功能仿真主要是验证设计描述的逻辑功能是否正确,不考虑电路中的延时状况。由于功能仿真是在综合和布局布线前进行的,又被称为前仿真。时序仿真是在综合和布局布线后进行,考虑了特定硬件中的逻辑功能和延时,验证的是一种贴近于实际的情况,因此被称为后仿真。在Quartus II中时序仿真与功能仿真的方法是非常相似的。时序仿真的具体步骤如下:①仿真参数的设置在Settings对话框的Category(栏目)中,选择Simulator项目;另一方法选中菜单Tool\Simulator Tool命令,在弹出Simulator Tool对话窗口中,进行时序仿真与功能仿真的选择和其他参数设置。
②打开仿真波形编辑窗口,建立仿真波形文件。仿真波形文件(.vwf文件)是Quartus II自定义的仿真文件,新建的仿真波形文件保存时,其文件名与顶层文件名相同。③在仿真波形编辑窗口中添加信号节点;并且编辑输入波形。利用波形编辑工具绘制输入信号波形,完成仿真波形文件建立。信号赋值不定态0值1值高阻态弱信号低电平高电平不赋值反相值时钟信号波形编辑工具图标
④执行仿真,验证仿真结果。选中菜单Processing\Start Simulation命令即可启动仿真,完成之后Quartus II自动弹出Simulation Report(仿真报告)窗口。在仿真报告(结果)窗口中通过有效的输出波形来验证工程设计是否达到预期的逻辑功能和时序要求。由于仿真输入波形和仿真结果波形是分别的两个窗口(与Max+PlusII的仿真波形窗口不同),若是激励信号不正确,只有在仿真输入波形窗口中修改激励波形重新运行仿真,仿真报告(结果)窗口中只显示仿真结果。
6.编程和配置编程和配置是指将设计工程文件经过综合后产生的编程数据文件下载到具体的CPLD/ FPGA芯片中去的过程。不同类型的CPLD/FPGA使用不同的方法将编程文件下载到器件芯片中,通常,对于CPLD的下载称为编程(Program),对于FPGA中的SRAM进行直接下载的方式称为配置(Configure)。 ; 指定器件和分配引脚指定器件和分配引脚可以在完成工程建立和设计顶层文件后进行,如果在综合适配前没有指定器件和分配引脚,那么Quartus II将自动指定器件和分配引脚来综合适配设计工程文件。为了对具体的CPLD/FPGA进行编程和配置,需要指定器件和引脚锁定。引脚的分配信息保存在工程文件夹中与工程同名的文件(*.qsf)中,可以通过编辑*.qsf文本文件来改变或设定引脚。
; 选择配置器件和编程方式在Device & Pin Options窗口中,选择"General"标签页面,在"Options"栏中选中"Auto-restart configuration after error",使FPGA配置失败后能自动重新配置,并可以加入JTAG用户编码。在选中的"Configuration(配置)"标签页面的"Configuration scheme"栏中,通过下拉菜单选择其中一种编程方式。如选择主动串行模式Active Serial,则是对专用的Flash配置器件(EPCS1、EPCS4、EPCS16和EPCS64)进行编程。如选择被动串行模式Passive Serial,则是对专用的EEPROM配置器件(EPC1、EPC2、EPC4、EPC8和EPC16)进行编程。具体的配置器件型号在"Use Configuration device"栏中进行选择。
; 配置器件在完成设计输入、完全编译和仿真分析之后,配置器件是Quartus II设计流程的最后一步,目的是将设计工程配置到目标器件中进行硬件验证。配置器件通常需要CPLD/FPGA的开发板或实验板的支持,并且通过下载电缆线将运行Quartus II的PC与目标器件开发板进行连接,然后由Quartus II提供的Programmer(编程)工具进行器件配置。
1)打开图形编缉窗:
4)底层编辑:
下载地址:{{downurl}}
{{{a}}}
{{#b}}{{{b}}}
{{/b}} {{/title}} {{#nolog}}登陆注册
{{/nolog}} {{#djsx}}点我刷新
{{/djsx}} {{#gocz}} {{/gocz}} {{#ffqr}} {{/ffqr}}