1、大家好大家好1第第1010章章 Quartus II开发环境开发环境EDA设计技术设计技术2校验方法校验方法常规可编程逻辑器件的EDA设计主要有两种设计流程:Quartus II图形用户界面设计流程和Quartus II支持的EDA工具设计流程,包括设计输入、综合、功能仿真、适配、汇编、时序分析、时序仿真、编程或配置等设计阶段。3Quartus II设计流程设计流程创建工程阶段设计输入阶段综合与实施阶段编程、调试阶段4Quartus II设计流程设计流程例:采用Quartus II图形用户界面设计流程创建工程。第一步,启动QUARTUS II。由任务栏或快捷方式启动Quartus II。5Qu
2、artus II设计流程设计流程第二步,用向导创建工程。选择“File”、“New Project Wizard”,出现“New Project Wizard:Introduction”,点击“Next”。6Quartus II设计流程设计流程第三步,指定输入工程所在路径、工程名、顶层设计名。需要注意的是,工程名和顶层设计名要相同,而且工程名也要具有一定的代表意义。7Quartus II设计流程设计流程第四步,加载设计文件。本例没有预先编制的设计文件,直接点击“Next”。8Quartus II设计流程设计流程第五步,选择芯片。有四个复选框,分别是器件族(Device family)、封装型式
3、(Package)、引脚数(Pin count)、速度等级(Speed grade)。一般应依据工程的资源要求、性能、价格等因素综合考虑。9Quartus II设计流程设计流程若在设计过程中,设计者要更改各项上述相关设置,可点击命令“Assignments”“Setting”逐条修改。工程名为74LS138的Quartus II图形用户界面由菜单、快捷命令、工程结构导航区、工程工作区、任务区、提示信息区等组成。10Quartus II及及EDA工具设计流程工具设计流程与图形用户界面设计的设计流程不同,EDA工具设计流程可由设计者自由选择第三方提供的EDA设计输入、综合、仿真、时序分析、校验工具
4、,而不必使用Altera公司的全部设计工具。11功能Quartus II版本支持的EDA工具供应商设计输入与综合Mentor Graphics LeonardoSpectrumMentor GraphicsMentor Graphics Precision RTL SynthesisMentor Graphics ViewDrawSynopsys Design CompilerSynplicitySynplicity SynplifySynplicity Synplify Pro仿真Cadence NC-VerilogCadenceCadence NC-VHDLMentor Graphics
5、ModelSimMentor GraphicsMentor Graphics ModelSim-AlteraSynopsys VCS MXSynplicitySynopsys VCSActive-HDLALDEC时序分析Mentor Graphics Tau(要利用Stamp实现)Mentor GraphicsSynopsys PrimeTimeSynplicity板级设计Hyperlynx(要利用信号完整性分析工具IBIS实现)Mentor GraphicsXTK(要利用信号完整性分析工具IBIS实现)ICX(要利用信号完整性分析工具IBIS实现)SpectraQuest(要利用信号完整性分
6、析工具IBIS实现)Mentor Graphics Symbol Generation(Viewdraw)Mentor Graphics校验Cadence Encounter ConformalCadence物理综合Magma Design Automation PALACEMagmaSynplicity AmplifySynplicityPrecision Physical SynthesisMentor Graphics第三方提供的EDA设计工具12Quartus II及及EDA工具设计流程工具设计流程一般来说,选择哪一种EDA工具由工程实施计划、设计者个人的爱好决定。下面是采用第三方提供
7、的EDA工具的设计流程:新建一个工程文件,指定一个目标芯片或一类芯片,指定与Quartus II软件配合使用的EDA设计输入、综合、仿真、时序分析、校验工具,并设定这些工具的其他相关选择工程,使用文本编辑器编制Verilog HDL或VHDL源文件,用Quartus II 支持的EDA综合工具综合设计文件,生成EDIF网表文件(.edf)或Verilog Quartus 映射文件(.vqm),用Quartus II 支持的访真工具执行功能仿真(可选),在Quartus II下编译设计文件,用网表写入器生成输出文件,供其他EDA工具使用,用Quartus II 支持的仿真工具或分析工具进行时序仿
8、真和时序分析(可选),用Quartus II 支持的校验工具进行校验,让Quartus II适配后网表与综合网表一致(可选),用Quartus II 支持的校验工具进行板级校验(可选),用Quartus II 支持的物理综合工具进行物理综合(可选),用编程器将编程文件写入芯片中。13Quartus II及及EDA工具设计流程工具设计流程一般来说,选择哪一种EDA工具由工程实施计划、设计者个人的爱好决定。下面是采用第三方提供的EDA工具的设计流程:新建一个工程文件,指定一个目标芯片或一类芯片,指定与Quartus II软件配合使用的EDA设计输入、综合、仿真、时序分析、校验工具,并设定这些工具的
9、其他相关选择工程,使用文本编辑器编制Verilog HDL或VHDL源文件,用Quartus II 支持的EDA综合工具综合设计文件,生成EDIF网表文件(.edf)或Verilog Quartus 映射文件(.vqm),用Quartus II 支持的访真工具执行功能仿真(可选),在Quartus II下编译设计文件,用网表写入器生成输出文件,供其他EDA工具使用,用Quartus II 支持的仿真工具或分析工具进行时序仿真和时序分析(可选),用Quartus II 支持的校验工具进行校验,让Quartus II适配后网表与综合网表一致(可选),用Quartus II 支持的校验工具进行板级校
10、验(可选),用Quartus II 支持的物理综合工具进行物理综合(可选),用编程器将编程文件写入芯片中。14设计输入设计输入设计输入包括建立工程必需的所有设计文件和源代码文件,可使用Quartus II的块编辑器、文本编辑器、宏功能模块库MegaWizard Plug-In Manager及EDA设计输入工具,创建包括ALTERA公司的万能模块(megafunctions)、参数化模块(LPM)、知识产权核(IP)等设计文件。15设计输入设计输入Quartus II支持多种设计输入方法创建的文件类型输入文件类型设计输入文件创建方法扩展名图形块设计文件用QUARTUS II的块图编辑器创建的电
11、路原理图设计文件.bdfEDIF输入文件EDIF网表文件,可由任何标准EDIF网表写入器创建.edf.edif图形设计文件用MAXPLUS II的图形编辑器创建的电路原理图设计文件.gdf状态机文件用状态机编辑器创建的状态机文件.smf文本设计文件用ALTERA公司的AHDL语言创建的设计文件.tdfVerilog设计文件包含了Verilog HDL所定义的设计逻辑的设计文件.v.vlg.verilogVerilog设计文件包含了VHDL所定义的设计逻辑的设计文件.vh.vhd.vhdlVerilog QUARTUS映射文件Verilog HDL格式的网表文件,由Synplicity公司的Sy
12、nplify软件或Quartus II创建。.vqm16创建工程创建工程一个工程由多个不同设计输入文件按照一定的设计流实施完成的,每个设计输入文件都在Quartus II设计软件集中进行管理。17块编辑器块编辑器Quartus II允许以原理图或块图的形式,利用块编辑器输入并编辑图形化设计信息。块设计文件中,每一个块设计文件包含多个代表设计信息的块图和符号,当修改某个块图或符号之后,可以更新相应的设计文件,以更新块设计文件中的块图或符号。块编辑器还提供一套帮助工具,对块图或原语的总线和节点进行连接、映射信号名、引脚锁定等。18块编辑器块编辑器例:采用块编辑器设计输入方式设计74LS138译码电
13、路。第一步,建立原理图设计文件。选择菜单“File”、“New”,选择“Design Files”的“Block Diagram/Schematic File”,新建电路原理图设计文件Block1.bdf。19块编辑器块编辑器例:采用块编辑器设计输入方式设计74LS138译码电路。第二步,在设计文件工作区输入元件。双击工作区的定位网格,可看到符号库的三类符号库文件夹:megafunctions,others和primitives,每一类符号库文件夹前均有一个加号,点击加号可展开相应的文件夹。20块编辑器块编辑器设计者可依次展开三个文件夹查找所需的原理图符号。若预先知道符号名,也可在“Name”
14、框中直接输入符号名,网格中显示该元件的原理图。21块编辑器块编辑器单击“OK”,拖动鼠标,将74138符号放入工作区合适位置,单击鼠标左键完成。22块编辑器块编辑器第三步,输入元件并连线。再次双击网格,输入符号名:input,放置在74LS138的引脚A的左侧,引脚符号名为pin_name,双击pin_name符号,出现“Pin Properties”,修改引脚属性。23块编辑器块编辑器在引脚名“Pin Name(s)”框中输入A,点击“确定”。同时用正交节点工具命令 将引脚A与74LS138的引脚A相连。24块编辑器块编辑器第四步,命名引脚。按上述方法,依次将输入口“B”、“C”,控制口“G
15、1”、“G2AN”、“G2BN”,输出口“Y0N”“Y7N”的对应引脚,进行输入、连接并修改符号属性,完成74LS138译码电路的完整电路原理图。注意,逻辑1用“VCC”符号,逻辑0用“GND”符号。25块编辑器块编辑器第五步,保存原理图输入文件。26文本编辑器文本编辑器文本编辑器是一种灵活的、文本表达形式的设计工具支持AHDL、VHDL、Verilog HDL语言或TCL脚本语言支持片上系统设计文件;可输入、编辑其他ASCII码文本文件。可利用AHDL、VHDL、Verilog HDL语言的模板输入HDL语句,加快设计速度,提高设计输入的准确度。27文本编辑器文本编辑器例:采用文本编辑器的设
16、计输入方式设计74LS138模块。第一步,创建Verilog HDL文件。选择“File”、“New”,选择设计文件“Design Files”的“Verilog HDL File”,点击“OK”。28文本编辑器文本编辑器第二步,编制Verilog HDL文件。29文本编辑器文本编辑器第三步,保存Verilog HDL文件,并添加设计文件至当前工程。30文本编辑器文本编辑器第四步,创建用户自定义模块。选择“File”、“Creat/Update”、“Creat Symbol Files for Current File”,开始创建。若源文件有语法错误,返回修改之。31文本编辑器文本编辑器创建成
17、功之后,出现创建完毕提示信息“Creat Symbol was successful”,点击“确定”。32文本编辑器文本编辑器第五步,使用块编辑器载入本工程用户自定义模块。回到原理图工作区,双击工作区网格,可看到符号模块库里面多了一个“Project”文件夹,展开该文件夹,出现Decoder38符号,此即为用户自定义的模块符号。注意:注意:1。该该模块符号不能与顶层文件名相同,否则出错。模块符号不能与顶层文件名相同,否则出错。2。用用SOPC Builder或其他或其他EDA工具设计的用户自定义工具设计的用户自定义模块的加载过程也采用相同的方法。模块的加载过程也采用相同的方法。33文本编辑器文
18、本编辑器第六步,完善顶层原理图设计文件。并保存该文件。Quartus II支持文本编辑器对工具命令语言(Tcl)的设计输入,以实现工程管理、分配设计任务、定义设计约束、对器件进行引脚分配或引脚锁定、编译控制、执行时序分析、输出设计报告、共享设计资源等。Tcl语言和Tk图形控件请参阅文献24、25,在此以文本编辑器设计Tcl脚本文件为例,实现对器件的引脚分配。34文本编辑器文本编辑器例:采用文本编辑器的设计输入方式进行器件引脚分配。第一步,新建Tcl脚本文件。选择“File”、“New”,选择设计文件“Design Files”的“Tcl Script File”,点击“OK”。35文本编辑器文
19、本编辑器第二步,编制、保存并加载引脚分配脚本文件。本例先定义全局未连接引脚的默认分配和初始化定义,之后依次定义时钟引脚、复位、及其他引脚,每个引脚的分配必须保证原理图、PCB布局布线、Tcl脚本文件中引脚分配的一致性。36文本编辑器文本编辑器第三步,执行Tcl脚本文件。在Tools菜单下,点击“Tcl Scripts”,选择并指定引脚分配的脚本文件(本例为Pin_configuration.tcl),从Preview窗口可预览脚本文件信息。点击“Run”,执行引脚锁定任务。37文本编辑器文本编辑器回到原理图所在的块图文件中,可看到各输入输出端口均按照Tcl文件进行引脚分配。38文本编辑器文本编
20、辑器第三步,执行Tcl脚本文件。在Tools菜单下,点击“Tcl Scripts”,选择并指定引脚分配的脚本文件(本例为Pin_configuration.tcl),从Preview窗口可预览脚本文件信息。点击“Run”,执行引脚锁定任务。39状态机编辑器状态机编辑器状态机编辑器是一种以图形化方式表达状态机设计的设计输入方式,在新建设计文件对话框中,选择“State Machine File”,即启动状态机编辑器。40文本编辑器文本编辑器在状态机编辑器里,有两种操作方式设计状态机:菜单操作或状态机向导。状态机设计向导包括复位信号的同步、异步方式选择和复位电平设置;输入输出端口设置;指定状态和状
21、态跳转条件;指定各输出端口及其输出值的状态行为等。41参数化模块库参数化模块库Megafunction是一种设计资源,由芯片提供商、合作伙伴公司或第三方提供,有免费和付费两种使用方式,设计者或设计团队在系统设计中可以图形方式或文本方式调用参数化模块,以提高设计效率和系统可靠性。Megafunction包括万能参数化模块库(library of parameterized modules,LPM)、专用芯片模块库(device-specific Altera megafunctions)、知识产权核(intellectual property,IP)、Altera MegaCore和合作伙伴提供
22、的知识产权核(Altera Megafunction Partners Program,AMPPSM)。42参数化模块库参数化模块库当然,Megafunction虽有“万能万能”之名,但在下述场合下述场合则不太适用则不太适用:1,简单的加、减运算逻辑系统。例化LPM不利于优化,且降低效率;2,简单的乘法器和译码器。这时最好使用数组表达,使源代码简洁高效,而不要使用LPM。或者利用APEX系列芯片级联链的特有优势,使用lpm_mux功能。3,尽量避免除法运算,因为除法运算本来就降低系统运行速度,可以采用乘法运算实现除法功能。43参数化模块库参数化模块库例:调用参数化模块库设计计数器。第一步,借助
23、工程创建向导建立工程。第二步,选择菜单Tools、MegaWizard Plug-in Manager,选择Creat a new custom megafunction viration,定制LPM,点击Next。44参数化模块库参数化模块库第三步,选择megafunction,设定定制LPM的文件属性。45参数化模块库参数化模块库第四步,设置LPM相关参数,设置完毕后点击Finish。46参数化模块库参数化模块库 /megafunction wizard:%LPM_COUNTER%/GENERATION:STANDARD/VERSION:WM1.0/MODULE:lpm_counter /
24、=/File Name:Counter.v/Megafunction Name(s):/lpm_counter/Simulation Library Files(s):/lpm/=/*/THIS IS A WIZARD-GENERATED FILE.DO NOT EDIT THIS FILE!/8.0 Build 215 05/29/2008 SJ Full Version/*/Copyright(C)1991-2008 Altera Corporation/Your use of Altera Corporations design tools,logic functions/and oth
25、er software and tools,and its AMPP partner logic/functions,and any output files from any of the foregoing/(including device programming or simulation files),and any/associated documentation or information are expressly subject/to the terms and conditions of the Altera Program License/Subscription Ag
26、reement,Altera MegaCore Function License/Agreement,or other applicable license agreement,including,/without limitation,that your use is for the sole purpose of/programming logic devices manufactured by Altera and sold by/Altera or its authorized distributors.Please refer to the/applicable agreement
27、for further details./synopsys translate_offtimescale 1 ps/1 ps/synopsys translate_onmodule Counter(clock,q);input clock;output 7:0 q;wire 7:0 sub_wire0;wire 7:0 q=sub_wire07:0;lpm_counterlpm_counter_component(.clock(clock),.q(sub_wire0),.aclr(1b0),.aload(1b0),.aset(1b0),.cin(1b1),.clk_en(1b1),.cnt_e
28、n(1b1),.cout(),.data(81b0),.eq(),.sclr(1b0),.sload(1b0),.sset(1b0),.updown(1b1);defparam lpm_counter_component.lpm_direction=UP,lpm_counter_component.lpm_port_updown=PORT_UNUSED,lpm_counter_component.lpm_type=LPM_COUNTER,lpm_counter_component.lpm_width=8;endmodule47参数化模块库参数化模块库第五步,新建Verilog HDL顶层设计实
29、体文件LPM.v。选择File、New、Verilog HDL,点击OK。注意:工程名与顶层设计实体文件名需相同。48参数化模块库参数化模块库顶层设计实体文件LPM.v程序如下,参数化模块Counter的例化名为M1。/Function:LPM/Yunnan Nationalities University/September,14,2008module LPM(clock,count_out);input clock;output 7:0 count_out;/reg 7:0count_out;Counter M1(.clock(clock),.q(count_out);endmodule
30、49参数化模块库参数化模块库第六步,编译、综合工程,并编制波形矢量文件,进行功能仿真。50约束输入约束输入创建工程和设计输入之后,可以利用任务编辑器、设置对话框、TimeQuest时序分析器、引脚布局图Pin Planner、设计分区窗口、设计分区布局、器件布局Chip Planner指定引脚分配、器件选型、逻辑选项、时序约束等设计约束,也可以通过任务菜单Assignments的Import Assignments输入任务,也可以使用Tcl命令或脚本命令从其他综合工具输入任务。51任务编辑器任务编辑器Assignment Editor创建工程和设计输入之后,可以利用任务编辑器、设置对话框、Ti
31、meQuest时序分析器、引脚布局图Pin Planner、设计分区窗口、设计分区布局、器件布局Chip Planner指定引脚分配、器件选型、逻辑选项、时序约束等设计约束,也可以通过任务菜单Assignments的Import Assignments输入任务,也可以使用Tcl命令或脚本命令从其他综合工具输入任务。当创建或编辑任务时,Quartus II动态地判断任务信息是否合法。若输入非法任务,Quartus II不再增加或更新任务,返回当前值。任务编辑器显示与当前所选择的种类有关的任务信息。52引脚布局图引脚布局图Pin Planner引脚布局图完成引脚和引脚组分配,它包括一个器件封装视图
32、,以颜色和符号表示相应类型的引脚、以附加的符号表示I/O引脚组,Pin Planner视图中使用的封装视图与产品说明书非常相似。从引脚组中拖动或双击引脚,即可分配该引脚,也可以过滤引脚列表而仅显示未分配的引脚。53设置对话框设置对话框设置对话框用于指定工程选项,指定工程的综合、适配、仿真、时序分析、功耗分析、调试选项。修改工程设置指定EDA工具设置指定分析与综合设置。指定编译过程设置。指定适配器设置。指定仿真器设置。指定功耗分析器设置。54时序约束时序约束Quartus II的TimeQuest Timing Analyzer接受Synopsys Design Constrait格式的约束,定
33、义时序分析参数也可以使用TimeQuest Timing Analyzer的图形用户接口或同等的Tcl脚本命令设置时序约束。55综合综合综合过程是EDA设计的重要环节,它将工程中的所有设计文件和层次实体整合为一个整体,利用编译器的分析/综合模块,分析工程设计文件的完整性、一致性、边界连接、语法错误,生成本工程数据库,以进行时序仿真、时序分析和编程等后续设计阶段所需的文件。综合过程还将工程文件中的触发器、状态机映射为物理逻辑,对状态机的状态分配、参数化模块库进行优化,将所需逻辑门的数目减少到最少,取消冗余逻辑,尽可能地优化芯片结构。5657分析与分析与综合综合支持的标准支持的标准QUARTUS
34、II的分析与综合模块支持如下标准:Verilog-1995标准(IEEE Std.1364-1995)Verilog-2001标准(IEEE Std.1364-2001)SystemVerilog-2005标准子集(IEEE Std.1800-2005)VHDL 1987标准(IEEE Std.1076-1987)VHDL 1993标准(IEEE Std.1076-1993)。默认标准为Verilog-2001和VHDL 1993设计者也可选择“Assignments”、“Settings”进入设置对话框的“Analysis&Synthesis Settings”栏,在上述标准之间随意选择。若
35、设计者选择使用第三方的综合工具,则须指定一个库映射文件(.lmf),以便将非QUARTUS II函数映射为QUARTUS II函数。5859综合综合分析过程可根据工程的文件对象分开进行,既可以对工程中的某个文件进行分析,也可对整个工程进行分析。选择菜单“Processing”“Analysis current File”,分析当前文件的完整性、语法错误、资源利用报告等。60综合综合例:综合工程文件。若前期设计文件未出现错误或违反设计规则的情况,选择菜单“Processing”、“Start Compilation”即可启动编译命令。61综合综合 综合过程中,QUARTUS II的任务区实时显示
36、任务进程,完成综合过程后显示编译成功“Full Compilation was successful”提示信息,提示信息可能会包含多条警告信息,可在提示信息区查阅。对工程进行分析和综合之后,即生成可供时序分析、编程等后续设计阶段所需的网表文件。对不同的工程设计对象,有不同的网表查看方式,QUARTUS II提供四种网表查看方式。62综合综合寄存器传输级视图RTL Viewer 要显示RTL Viewer 窗口,在Tools菜单中,点击Netlist Viewers,然后单击RTL Viewer。RTL Viewer 包括原理图视图,同时也包括层次结构列表,列出整个设计网表的实例、基本单元、引脚
37、和网络。63综合综合状态机视图State Machine Viewer 通过状态机视图可以查看设计中相关逻辑的状态机图。如果工程中含有状态机,在Tools 菜单中,指向Netlist Viewers,单击State Machine Viewer。还可以双击RTL Viewer窗口中的实例符号,来显示State Machine Viewer。64综合综合工艺映射视图(映射后)Technology Map Viewer(Post-Mapping)与寄存器传输级视图相似,Quartus II Technology Map Viewer 提供设计的底层或基元级专用技术原理表征。要为Quartus II
38、 工程运行Technology Map Viewer,必须首先进行Analysis&Synthesis,或者进行完整编译。成功进行Analysis&Synthesis 之后,在Toools 菜单中指向Netlist Viewers,单击Technology Map Viewer 来显示Technology Map Viewer 窗口。Technology Map Viewer包括一个原理视图以及一个层次列表,列出整个设计网表的实例、基本单元、引脚和网络。6566布局与布线布局与布线Quartus II的适配器Fitter对设计进行布局布线,Fitter使用由分析器和综合器建立的数据文件,将工程
39、的逻辑和时序要求与器件的可用资源相匹配,将每个逻辑功能分配给逻辑单元的最佳位置,进行布线和时序分析,并选定相应的互连路径和引脚分配。资源分配之后,适配器将资源分配结果与器件的资源相匹配,尽力满足预先设置的约束条件,然后优化设计中的其余逻辑。如果设计文件尚未设置任何约束条件,适配器将自动优化设计。如果适配不成功,适配器则终止编译,并给出错误信息。67分析适配结果分析适配结果Quartus II 软件提供Message窗口、Report窗口、Chip Planner器件布局图和设计助手等多种工具来帮助设计者分析编译和适配结果,以便对工程进行必要的管理和调整。1)使用Messages窗口查看适配结果
40、 Messages窗口的Processing标签、Report窗口或Report 文件的Messages部分显示最近编译或仿真产生的信息。68分析适配结果分析适配结果2)使用Report窗口或Report文件查看适配结果 Report窗口包含设计流、全局设置、编译消耗的时间、任务记录、分析与综合报告、适配报告、汇编报告、时序分析报告等部分,Fitter报告窗口可以帮助设计者利用Fitter进行布局布线的方式进行分析,显示资源使用情况,列出Fitter生成的错误消息,以及正在运行的任何其它模块的消息。69分析适配结果分析适配结果3)使用器件布局图Chip Planner分析结果70分析适配结果分
41、析适配结果4)使用设计助手Quartus II Design Assistant检查设计的可靠性 Quartus II Design Assistant 根据一组设计规则检查设计的可靠性,确定是否存在可能影响适配或设计优化的任何问题。Settings对话框的Design Assistant页面用于指定检查设计时要使用的设计可靠性准则。71 优化适配优化适配优化适配是数字系统设计的重要环节,运行Fitter并分析结果之后,可用多种方法来优化适配:使用位置分配优化、设置用于控制布局布线的选项优化、使用资源优化向导Resource Optimization Advisor优化、使用设计空间管理器De
42、sign Space Explorer优化。使用位置分配优化适配 为了优化适配,可以使用器件布局图Chip Planner或Assignment Editor 将逻辑分配给器件上的物理资源。72 优化适配优化适配2)用于控制布局布线的选项设置优化适配Quartus II允许三种优化适配设置:适配器选项、物理综合选项、影响适配的单个或全局逻辑选项。由Assignments、Settings进入Fitter设置。73 优化适配优化适配在综合和适配过程中,即使禁止WYSIWYG二次综合,仍然执行物理综合优化选项指定的优化工程:可选择执行组合逻辑或寄存器的性能优化,以及快速、标准、最优三种优化级别,还
43、可以选择适配器网表优化:异步信号流水线方式执行优化,还是寄存器复制方式,以及组合逻辑的物理综合密度优化。74 优化适配优化适配3)使用Resource Optimization Advisor优化适配 Resource Optimization Advisor 对逻辑单元、存储器块、DSP 块、I/O 单元、布线资源等设计资源的使用提供优化建议。75 优化适配优化适配工程编译完毕后,Resource Optimization Advisor在工程信息和当前设置的基础上,可为工程提供具有针对性的建议。76 优化适配优化适配4)使用Design Space Explorer优化适配 使用Desig
44、n Space Explorer(DSE)可控制Quartus II对功耗、面积、性能的优化适配,自动搜索一定范围内的Quartus II 选项和设置,确定使用哪个设置,使工程获得最佳结果。指定管理设置之后,可以利用管理空间命令进行管理。77时序分析时序分析Quartus II TimeQuest时序分析器和标准时序分析器用于分析系统的时序要求,利用时序分析器产生的信息分析、调试并验证设计的时序性能,还可以使用快速时序模型进行时序分析,验证最佳情况(最快速率等级的最小延时)条件下的时序。QUARTUS II软件支持两种时序分析器:标准时序分析器和TimeQuest 时序分析器。78 TimeQ
45、uest时序分析器时序分析器TimeQuest分析器使用业界标准Synopis设计约束(SDC)方法进行约束设计,提交报告。当使用TimeQuest时序分析器而不是标准时序分析器时,可以很容易实现很多专业应用的精确约束。79 TimeQuest时序分析器时序分析器TimeQuest和标准时序分析器的特性有很多不同之处,在分析上有些不同,它提供四个人机接口界面(GUI),以提高约束和分析设计的效率:1)分析结果界面View 2)任务界面Tasks 80 TimeQuest时序分析器时序分析器3)控制台界面Console4)报告界面Report 81 TimeQuest时序分析器时序分析器Time
46、Quest分析器的一般设计步骤:1,创建时序分析网表;2,读入Synopsys设计约束文件;3,分析报告文件。82标准时序分析器标准时序分析器标准时序分析器在完整编译之后自动进行时序分析,它能够完成如下任务:1)在完整编译期间进行时序分析或在初始编译之后单独进行时序分析;2)在部分编译之后,适配完成之前,进行早期时序估算;3)通过Report窗口和时序逼近布局图查看时序结果。83标准时序分析器标准时序分析器1,指定标准时序要求 时序要求允许为整个工程、特定的设计实体或个别实体、节点和引脚指定所需的速率性能。可以使用Timing向导帮助建立初始工程全局范围时序设置。指定初始时序设置之后,可以在T
47、iming向导中,或在Settings对话框的Timing Requirements&Options页面中再次修改设置。84标准时序分析器标准时序分析器使用Settings对话框或Timing向导,可以指定以下时序要求和其它选项:工程的总体频率要求,以及各个时钟信号的设置 延时要求、最短延时要求和路径剪切选项 报告选项,包括源和目的寄存器的数量,以及排除路径的数量 时序驱动编译选项 建立(恢复)和保持(删除)选项检查具有异步清除、预置或装入信号的时序路径。85标准时序分析器标准时序分析器2,进行工程全局范围的时序设置 工程全局范围的时序设置包括最大频率、建立时间、保持时间、时钟至输出延时和引脚
48、至引脚延时以及最小时序要求。还可以设置工程全局范围内的时钟设置和多时钟域、路径剪切选项。时序设置说明fMAX(最大频率)在不违反内部建立(tSU)和保持(tH)时间要求时,可以达到的最大时钟频率。tSU(时钟建立时间)触发寄存器的时钟信号在时钟引脚置位之前,经由数据输入或使能端输入进入寄存器的数据必须在输入引脚处出现的时间长度。tH(时钟保持时间)触发寄存器的时钟信号在时钟引脚置位之后,经由数据输入或使能端输入而进入寄存器的数据必须在输入引脚处保持的时间长度。tCO(时钟至输出延时)时钟信号在触发寄存器的输入引脚上发生跳变之后,寄存器馈送信号引脚输出有效所需的时间。tPD(引脚至引脚延时)输入
49、引脚上的信号通过组合逻辑进行传输并出现在外部输出引脚上所需的时间。最小tCO(时钟至输出延时)时钟信号在触发寄存器的输入引脚上发生跳变之后,寄存器馈送信号的输出引脚出现有效输出所需的最短时间。这个时间总是代表外部引脚至引脚延时。最小tPD(时钟至输出延时)指定可接受的引脚至引脚最小延时,即输入引脚信号通过组合逻辑传输并出现在外部输出引脚上所需的时间。86标准时序分析器标准时序分析器3,进行个别时序分配使用Assignment Editor对个别实体、节点和引脚分别进行时序分配。可以在时序分析器中进行以下类型的个别时序分配:1)个别时钟设置 2)时钟不确定分配 3)时钟延时分配 4)多周期路径
50、5)剪切路径 6)最大延时要求 7)最小延时要求 8)最大斜移要求 9)Time group分配87标准时序分析器标准时序分析器4,进行标准时序分析 完成时序设置和分配之后,可以通过完整编译来运行标准时序分析器。88标准时序分析器标准时序分析器5,标准时序分析报告 运行时序分析之后,可以在Compilation Report 的时序分析器文件夹中查看时序分析结果。列出时序路径以验证电路性能,确定关键速度路径以及限制设计性能的路径,进行其他的时序分配。89标准时序分析器标准时序分析器6,进行分配和查看延时路径 在Assignment Editor中分配个别时序的基本流程:1)在Category