




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
大家好1大家好1第10章QuartusII开发环境EDA设计技术2第10章QuartusII开发环境EDA设计技术2校验方法常规可编程逻辑器件的EDA设计主要有两种设计流程:QuartusII图形用户界面设计流程和QuartusII支持的EDA工具设计流程,包括设计输入、综合、功能仿真、适配、汇编、时序分析、时序仿真、编程或配置等设计阶段。3校验方法常规可编程逻辑器件的EDA设计主要有两种设计流程:QQuartusII设计流程创建工程阶段设计输入阶段综合与实施阶段编程、调试阶段4QuartusII设计流程创建工程阶段4QuartusII设计流程例:采用QuartusII图形用户界面设计流程创建工程。第一步,启动QUARTUSII。由任务栏或快捷方式启动QuartusII。5QuartusII设计流程例:采用QuartusII图形QuartusII设计流程第二步,用向导创建工程。选择“File”、“NewProjectWizard”,出现“NewProjectWizard:Introduction”,点击“Next”。6QuartusII设计流程第二步,用向导创建工程。选择“FQuartusII设计流程第三步,指定输入工程所在路径、工程名、顶层设计名。需要注意的是,工程名和顶层设计名要相同,而且工程名也要具有一定的代表意义。7QuartusII设计流程第三步,指定输入工程所在路径、工QuartusII设计流程第四步,加载设计文件。本例没有预先编制的设计文件,直接点击“Next”。8QuartusII设计流程第四步,加载设计文件。本例没有预QuartusII设计流程第五步,选择芯片。有四个复选框,分别是器件族(Devicefamily)、封装型式(Package)、引脚数(Pincount)、速度等级(Speedgrade)。一般应依据工程的资源要求、性能、价格等因素综合考虑。9QuartusII设计流程第五步,选择芯片。有四个复选框,QuartusII设计流程若在设计过程中,设计者要更改各项上述相关设置,可点击命令“Assignments”“Setting”逐条修改。工程名为74LS138的QuartusII图形用户界面由菜单、快捷命令、工程结构导航区、工程工作区、任务区、提示信息区等组成。10QuartusII设计流程若在设计过程中,设计者要更改各项QuartusII及EDA工具设计流程与图形用户界面设计的设计流程不同,EDA工具设计流程可由设计者自由选择第三方提供的EDA设计输入、综合、仿真、时序分析、校验工具,而不必使用Altera公司的全部设计工具。11QuartusII及EDA工具设计流程与图形用户界面设计的功能QuartusII版本支持的EDA工具供应商设计输入与综合MentorGraphicsLeonardoSpectrumMentorGraphicsMentorGraphicsPrecisionRTLSynthesisMentorGraphicsViewDrawSynopsysDesignCompilerSynplicitySynplicitySynplifySynplicitySynplifyPro仿真CadenceNC-VerilogCadenceCadenceNC-VHDLMentorGraphicsModelSimMentorGraphicsMentorGraphicsModelSim-AlteraSynopsysVCSMXSynplicitySynopsysVCSActive-HDLALDEC时序分析MentorGraphicsTau(要利用Stamp实现)MentorGraphicsSynopsysPrimeTimeSynplicity板级设计Hyperlynx(要利用信号完整性分析工具IBIS实现)MentorGraphicsXTK(要利用信号完整性分析工具IBIS实现)
ICX(要利用信号完整性分析工具IBIS实现)
SpectraQuest(要利用信号完整性分析工具IBIS实现)
MentorGraphicsSymbolGeneration(Viewdraw)MentorGraphics校验CadenceEncounterConformalCadence物理综合MagmaDesignAutomationPALACEMagmaSynplicityAmplifySynplicityPrecisionPhysicalSynthesisMentorGraphics第三方提供的EDA设计工具12功能QuartusII版本支持的EDA工具供应商设计输入与QuartusII及EDA工具设计流程一般来说,选择哪一种EDA工具由工程实施计划、设计者个人的爱好决定。下面是采用第三方提供的EDA工具的设计流程:新建一个工程文件,指定一个目标芯片或一类芯片,指定与QuartusII软件配合使用的EDA设计输入、综合、仿真、时序分析、校验工具,并设定这些工具的其他相关选择工程,使用文本编辑器编制VerilogHDL或VHDL源文件,用QuartusII支持的EDA综合工具综合设计文件,生成EDIF网表文件(.edf)或VerilogQuartus映射文件(.vqm),用QuartusII支持的访真工具执行功能仿真(可选),在QuartusII下编译设计文件,用网表写入器生成输出文件,供其他EDA工具使用,用QuartusII支持的仿真工具或分析工具进行时序仿真和时序分析(可选),用QuartusII支持的校验工具进行校验,让QuartusII适配后网表与综合网表一致(可选),用QuartusII支持的校验工具进行板级校验(可选),用QuartusII支持的物理综合工具进行物理综合(可选),用编程器将编程文件写入芯片中。13QuartusII及EDA工具设计流程一般来说,选择哪一种QuartusII及EDA工具设计流程一般来说,选择哪一种EDA工具由工程实施计划、设计者个人的爱好决定。下面是采用第三方提供的EDA工具的设计流程:新建一个工程文件,指定一个目标芯片或一类芯片,指定与QuartusII软件配合使用的EDA设计输入、综合、仿真、时序分析、校验工具,并设定这些工具的其他相关选择工程,使用文本编辑器编制VerilogHDL或VHDL源文件,用QuartusII支持的EDA综合工具综合设计文件,生成EDIF网表文件(.edf)或VerilogQuartus映射文件(.vqm),用QuartusII支持的访真工具执行功能仿真(可选),在QuartusII下编译设计文件,用网表写入器生成输出文件,供其他EDA工具使用,用QuartusII支持的仿真工具或分析工具进行时序仿真和时序分析(可选),用QuartusII支持的校验工具进行校验,让QuartusII适配后网表与综合网表一致(可选),用QuartusII支持的校验工具进行板级校验(可选),用QuartusII支持的物理综合工具进行物理综合(可选),用编程器将编程文件写入芯片中。14QuartusII及EDA工具设计流程一般来说,选择哪一种设计输入设计输入包括建立工程必需的所有设计文件和源代码文件,可使用QuartusII的块编辑器、文本编辑器、宏功能模块库MegaWizardPlug-InManager及EDA设计输入工具,创建包括ALTERA公司的万能模块(megafunctions)、参数化模块(LPM)、知识产权核(IP)等设计文件。15设计输入设计输入包括建立工程必需的所有设计文件和源代码文件,设计输入QuartusII支持多种设计输入方法创建的文件类型输入文件类型设计输入文件创建方法扩展名图形块设计文件用QUARTUSII的块图编辑器创建的电路原理图设计文件.bdfEDIF输入文件EDIF网表文件,可由任何标准EDIF网表写入器创建.edf.edif图形设计文件用MAXPLUSII的图形编辑器创建的电路原理图设计文件.gdf状态机文件用状态机编辑器创建的状态机文件.smf文本设计文件用ALTERA公司的AHDL语言创建的设计文件.tdfVerilog设计文件包含了VerilogHDL所定义的设计逻辑的设计文件.v.vlg.verilogVerilog设计文件包含了VHDL所定义的设计逻辑的设计文件.vh.vhd.vhdlVerilogQUARTUS映射文件VerilogHDL格式的网表文件,由Synplicity公司的Synplify软件或QuartusII创建。.vqm16设计输入QuartusII支持多种设计输入方法创建的文件类创建工程一个工程由多个不同设计输入文件按照一定的设计流实施完成的,每个设计输入文件都在QuartusII设计软件集中进行管理。17创建工程一个工程由多个不同设计输入文件按照一定的设计流实施完块编辑器QuartusII允许以原理图或块图的形式,利用块编辑器输入并编辑图形化设计信息。块设计文件中,每一个块设计文件包含多个代表设计信息的块图和符号,当修改某个块图或符号之后,可以更新相应的设计文件,以更新块设计文件中的块图或符号。块编辑器还提供一套帮助工具,对块图或原语的总线和节点进行连接、映射信号名、引脚锁定等。18块编辑器18块编辑器例:采用块编辑器设计输入方式设计74LS138译码电路。第一步,建立原理图设计文件。选择菜单“File”、“New”,选择“DesignFiles”的“BlockDiagram/SchematicFile”,新建电路原理图设计文件Block1.bdf。19块编辑器例:采用块编辑器设计输入方式设计74LS138译码电块编辑器例:采用块编辑器设计输入方式设计74LS138译码电路。第二步,在设计文件工作区输入元件。双击工作区的定位网格,可看到符号库的三类符号库文件夹:megafunctions,others和primitives,每一类符号库文件夹前均有一个加号,点击加号可展开相应的文件夹。20块编辑器例:采用块编辑器设计输入方式设计74LS138译码电块编辑器设计者可依次展开三个文件夹查找所需的原理图符号。若预先知道符号名,也可在“Name”框中直接输入符号名,网格中显示该元件的原理图。21块编辑器设计者可依次展开三个文件夹查找所需的原理图符号。若预块编辑器单击“OK”,拖动鼠标,将74138符号放入工作区合适位置,单击鼠标左键完成。22块编辑器单击“OK”,拖动鼠标,将74138符号放入工作区合块编辑器第三步,输入元件并连线。再次双击网格,输入符号名:input,放置在74LS138的引脚A的左侧,引脚符号名为pin_name,双击pin_name符号,出现“PinProperties”,修改引脚属性。23块编辑器第三步,输入元件并连线。再次双击网格,输入符号名:i块编辑器在引脚名“PinName(s)”框中输入A,点击“确定”。同时用正交节点工具命令
将引脚A与74LS138的引脚A相连。24块编辑器在引脚名“PinName(s)”框中输入A,点击“块编辑器第四步,命名引脚。按上述方法,依次将输入口“B”、“C”,控制口“G1”、“G2AN”、“G2BN”,输出口“Y0N”~“Y7N”的对应引脚,进行输入、连接并修改符号属性,完成74LS138译码电路的完整电路原理图。注意,逻辑1用“VCC”符号,逻辑0用“GND”符号。25块编辑器第四步,命名引脚。按上述方法,依次将输入口“B”、“块编辑器第五步,保存原理图输入文件。26块编辑器第五步,保存原理图输入文件。26文本编辑器文本编辑器是一种灵活的、文本表达形式的设计工具支持AHDL、VHDL、VerilogHDL语言或TCL脚本语言支持片上系统设计文件;可输入、编辑其他ASCII码文本文件。可利用AHDL、VHDL、VerilogHDL语言的模板输入HDL语句,加快设计速度,提高设计输入的准确度。27文本编辑器27文本编辑器例:采用文本编辑器的设计输入方式设计74LS138模块。第一步,创建VerilogHDL文件。选择“File”、“New”,选择设计文件“DesignFiles”的“VerilogHDLFile”,点击“OK”。28文本编辑器例:采用文本编辑器的设计输入方式设计74LS138文本编辑器第二步,编制VerilogHDL文件。29文本编辑器第二步,编制VerilogHDL文件。29文本编辑器第三步,保存VerilogHDL文件,并添加设计文件至当前工程。30文本编辑器第三步,保存VerilogHDL文件,并添加设计文本编辑器第四步,创建用户自定义模块。选择“File”、“Creat/Update”、“CreatSymbolFilesforCurrentFile”,开始创建。若源文件有语法错误,返回修改之。31文本编辑器第四步,创建用户自定义模块。选择“File”、“C文本编辑器创建成功之后,出现创建完毕提示信息“CreatSymbolwassuccessful”,点击“确定”。32文本编辑器创建成功之后,出现创建完毕提示信息“CreatS文本编辑器第五步,使用块编辑器载入本工程用户自定义模块。回到原理图工作区,双击工作区网格,可看到符号模块库里面多了一个“Project”文件夹,展开该文件夹,出现Decoder38符号,此即为用户自定义的模块符号。注意:1。该模块符号不能与顶层文件名相同,否则出错。2。用SOPCBuilder或其他EDA工具设计的用户自定义模块的加载过程也采用相同的方法。33文本编辑器第五步,使用块编辑器载入本工程用户自定义模块。回到文本编辑器第六步,完善顶层原理图设计文件。并保存该文件。QuartusII支持文本编辑器对工具命令语言(Tcl)的设计输入,以实现工程管理、分配设计任务、定义设计约束、对器件进行引脚分配或引脚锁定、编译控制、执行时序分析、输出设计报告、共享设计资源等。Tcl语言和Tk图形控件请参阅文献[24]、[25],在此以文本编辑器设计Tcl脚本文件为例,实现对器件的引脚分配。34文本编辑器第六步,完善顶层原理图设计文件。并保存该文件。Qu文本编辑器例:采用文本编辑器的设计输入方式进行器件引脚分配。第一步,新建Tcl脚本文件。选择“File”、“New”,选择设计文件“DesignFiles”的“TclScriptFile”,点击“OK”。35文本编辑器例:采用文本编辑器的设计输入方式进行器件引脚分配。文本编辑器第二步,编制、保存并加载引脚分配脚本文件。本例先定义全局未连接引脚的默认分配和初始化定义,之后依次定义时钟引脚、复位、及其他引脚,每个引脚的分配必须保证原理图、PCB布局布线、Tcl脚本文件中引脚分配的一致性。36文本编辑器第二步,编制、保存并加载引脚分配脚本文件。本例先定文本编辑器第三步,执行Tcl脚本文件。在Tools菜单下,点击“TclScripts…”,选择并指定引脚分配的脚本文件(本例为Pin_configuration.tcl),从Preview窗口可预览脚本文件信息。点击“Run”,执行引脚锁定任务。37文本编辑器第三步,执行Tcl脚本文件。在Tools菜单下,点文本编辑器回到原理图所在的块图文件中,可看到各输入输出端口均按照Tcl文件进行引脚分配。38文本编辑器回到原理图所在的块图文件中,可看到各输入输出端口均文本编辑器第三步,执行Tcl脚本文件。在Tools菜单下,点击“TclScripts…”,选择并指定引脚分配的脚本文件(本例为Pin_configuration.tcl),从Preview窗口可预览脚本文件信息。点击“Run”,执行引脚锁定任务。39文本编辑器第三步,执行Tcl脚本文件。在Tools菜单下,点状态机编辑器状态机编辑器是一种以图形化方式表达状态机设计的设计输入方式,在新建设计文件对话框中,选择“StateMachineFile”,即启动状态机编辑器。40状态机编辑器状态机编辑器是一种以图形化方式表达状态机设计的设文本编辑器在状态机编辑器里,有两种操作方式设计状态机:菜单操作或状态机向导。状态机设计向导包括复位信号的同步、异步方式选择和复位电平设置;输入输出端口设置;指定状态和状态跳转条件;指定各输出端口及其输出值的状态行为等。41文本编辑器在状态机编辑器里,有两种操作方式设计状态机:菜单操参数化模块库Megafunction是一种设计资源,由芯片提供商、合作伙伴公司或第三方提供,有免费和付费两种使用方式,设计者或设计团队在系统设计中可以图形方式或文本方式调用参数化模块,以提高设计效率和系统可靠性。Megafunction包括万能参数化模块库(libraryofparameterizedmodules,LPM)、专用芯片模块库(device-specificAlteramegafunctions)、知识产权核(intellectualproperty,IP)、AlteraMegaCore和合作伙伴提供的知识产权核(AlteraMegafunctionPartnersProgram,AMPPSM)。42参数化模块库Megafunction是一种设计资源,由芯片提参数化模块库当然,Megafunction虽有“万能”之名,但在下述场合则不太适用:1,简单的加、减运算逻辑系统。例化LPM不利于优化,且降低效率;2,简单的乘法器和译码器。这时最好使用数组表达,使源代码简洁高效,而不要使用LPM。或者利用APEX系列芯片级联链的特有优势,使用lpm_mux功能。3,尽量避免除法运算,因为除法运算本来就降低系统运行速度,可以采用乘法运算实现除法功能。43参数化模块库当然,Megafunction虽有“万能”之名,参数化模块库例:调用参数化模块库设计计数器。第一步,借助工程创建向导建立工程。第二步,选择菜单Tools、MegaWizardPlug-inManager,选择Creatanewcustommegafunctionviration,定制LPM,点击Next。44参数化模块库例:调用参数化模块库设计计数器。44参数化模块库第三步,选择megafunction,设定定制LPM的文件属性。
45参数化模块库第三步,选择megafunction,设定定制L参数化模块库第四步,设置LPM相关参数,设置完毕后点击Finish。
46参数化模块库第四步,设置LPM相关参数,设置完毕后点击Fin参数化模块库
//megafunctionwizard:%LPM_COUNTER%//GENERATION:STANDARD//VERSION:WM1.0//MODULE:lpm_counter
//============================================================//FileName:Counter.v//MegafunctionName(s)://lpm_counter////SimulationLibraryFiles(s)://lpm//============================================================//************************************************************//THISISAWIZARD-GENERATEDFILE.DONOTEDITTHISFILE!////8.0Build21505/29/2008SJFullVersion//************************************************************
//Copyright(C)1991-2008AlteraCorporation//YouruseofAlteraCorporation'sdesigntools,logicfunctions//andothersoftwareandtools,anditsAMPPpartnerlogic//functions,andanyoutputfilesfromanyoftheforegoing//(includingdeviceprogrammingorsimulationfiles),andany//associateddocumentationorinformationareexpresslysubject//tothetermsandconditionsoftheAlteraProgramLicense//SubscriptionAgreement,AlteraMegaCoreFunctionLicense//Agreement,orotherapplicablelicenseagreement,including,//withoutlimitation,thatyouruseisforthesolepurposeof//programminglogicdevicesmanufacturedbyAlteraandsoldby//Alteraoritsauthorizeddistributors.Pleaserefertothe//applicableagreementforfurtherdetails.//synopsystranslate_off`timescale1ps/1ps//synopsystranslate_onmoduleCounter(clock,q);
inputclock;output[7:0]q;wire[7:0]sub_wire0;wire[7:0]q=sub_wire0[7:0];
lpm_counter lpm_counter_component(.clock(clock),.q(sub_wire0),.aclr(1'b0),.aload(1'b0),.aset(1'b0),.cin(1'b1),.clk_en(1'b1),.cnt_en(1'b1),.cout(),.data({8{1'b0}}),.eq(),.sclr(1'b0),.sload(1'b0),.sset(1'b0),.updown(1'b1));
defparamlpm_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参数化模块库//megafunctionwiza参数化模块库第五步,新建VerilogHDL顶层设计实体文件LPM.v。选择File、New、VerilogHDL,点击OK。注意:工程名与顶层设计实体文件名需相同。
48参数化模块库第五步,新建VerilogHDL顶层设计实体文参数化模块库顶层设计实体文件LPM.v程序如下,参数化模块Counter的例化名为M1。//Function:LPM//YunnanNationalitiesUniversity//September,14,2008moduleLPM(clock,count_out);inputclock;output[7:0]count_out;//reg[7:0]count_out;
CounterM1(.clock(clock),.q(count_out));
endmodule
49参数化模块库顶层设计实体文件LPM.v程序如下,参数化模块C参数化模块库第六步,编译、综合工程,并编制波形矢量文件,进行功能仿真。50参数化模块库第六步,编译、综合工程,并编制波形矢量文件,进行约束输入创建工程和设计输入之后,可以利用任务编辑器、设置对话框、TimeQuest时序分析器、引脚布局图PinPlanner、设计分区窗口、设计分区布局、器件布局ChipPlanner指定引脚分配、器件选型、逻辑选项、时序约束等设计约束,也可以通过任务菜单Assignments的ImportAssignments输入任务,也可以使用Tcl命令或脚本命令从其他综合工具输入任务。51约束输入创建工程和设计输入之后,可以利用任务编辑器、设置对话任务编辑器AssignmentEditor创建工程和设计输入之后,可以利用任务编辑器、设置对话框、TimeQuest时序分析器、引脚布局图PinPlanner、设计分区窗口、设计分区布局、器件布局ChipPlanner指定引脚分配、器件选型、逻辑选项、时序约束等设计约束,也可以通过任务菜单Assignments的ImportAssignments输入任务,也可以使用Tcl命令或脚本命令从其他综合工具输入任务。当创建或编辑任务时,QuartusII动态地判断任务信息是否合法。若输入非法任务,QuartusII不再增加或更新任务,返回当前值。任务编辑器显示与当前所选择的种类有关的任务信息。52任务编辑器AssignmentEditor创建工程和设计输引脚布局图PinPlanner引脚布局图完成引脚和引脚组分配,它包括一个器件封装视图,以颜色和符号表示相应类型的引脚、以附加的符号表示I/O引脚组,PinPlanner视图中使用的封装视图与产品说明书非常相似。从引脚组中拖动或双击引脚,即可分配该引脚,也可以过滤引脚列表而仅显示未分配的引脚。53引脚布局图PinPlanner引脚布局图完成引脚和引脚组分设置对话框设置对话框用于指定工程选项,指定工程的综合、适配、仿真、时序分析、功耗分析、调试选项。修改工程设置指定EDA工具设置指定分析与综合设置。指定编译过程设置。指定适配器设置。指定仿真器设置。指定功耗分析器设置。54设置对话框设置对话框用于指定工程选项,指定工程的综合、适配、时序约束QuartusII的TimeQuestTimingAnalyzer接受SynopsysDesignConstrait格式的约束,定义时序分析参数也可以使用TimeQuestTimingAnalyzer的图形用户接口或同等的Tcl脚本命令设置时序约束。55时序约束55综合综合过程是EDA设计的重要环节,它将工程中的所有设计文件和层次实体整合为一个整体,利用编译器的分析/综合模块,分析工程设计文件的完整性、一致性、边界连接、语法错误,生成本工程数据库,以进行时序仿真、时序分析和编程等后续设计阶段所需的文件。综合过程还将工程文件中的触发器、状态机映射为物理逻辑,对状态机的状态分配、参数化模块库进行优化,将所需逻辑门的数目减少到最少,取消冗余逻辑,尽可能地优化芯片结构。56综合综合过程是EDA设计的重要环节,它将工程中的所有设计文件5757分析与综合支持的标准QUARTUSII的分析与综合模块支持如下标准:Verilog-1995标准(IEEEStd.1364-1995)Verilog-2001标准(IEEEStd.1364-2001)SystemVerilog-2005标准子集(IEEEStd.1800-2005)VHDL1987标准(IEEEStd.1076-1987)VHDL1993标准(IEEEStd.1076-1993)。默认标准为Verilog-2001和VHDL1993设计者也可选择“Assignments”、“Settings”进入设置对话框的“Analysis&SynthesisSettings”栏,在上述标准之间随意选择。若设计者选择使用第三方的综合工具,则须指定一个库映射文件(.lmf),以便将非QUARTUSII函数映射为QUARTUSII函数。58分析与综合支持的标准QUARTUSII的分析与综合模块支持5959综合分析过程可根据工程的文件对象分开进行,既可以对工程中的某个文件进行分析,也可对整个工程进行分析。选择菜单“Processing”“AnalysiscurrentFile”,分析当前文件的完整性、语法错误、资源利用报告等。60综合分析过程可根据工程的文件对象分开进行,既可以对工程中的某综合例:综合工程文件。
若前期设计文件未出现错误或违反设计规则的情况,选择菜单“Processing”、“StartCompilation”即可启动编译命令。61综合例:综合工程文件。61综合
综合过程中,QUARTUSII的任务区实时显示任务进程,完成综合过程后显示编译成功“FullCompilationwassuccessful”提示信息,提示信息可能会包含多条警告信息,可在提示信息区查阅。
对工程进行分析和综合之后,即生成可供时序分析、编程等后续设计阶段所需的网表文件。对不同的工程设计对象,有不同的网表查看方式,QUARTUSII提供四种网表查看方式。62综合综合过程中,QUARTUSII的任务综合寄存器传输级视图RTLViewer
要显示RTLViewer窗口,在Tools菜单中,点击NetlistViewers,然后单击RTLViewer。RTLViewer包括原理图视图,同时也包括层次结构列表,列出整个设计网表的实例、基本单元、引脚和网络。63综合寄存器传输级视图RTLViewer63综合状态机视图StateMachineViewer
通过状态机视图可以查看设计中相关逻辑的状态机图。如果工程中含有状态机,在Tools菜单中,指向NetlistViewers,单击StateMachineViewer。还可以双击RTLViewer窗口中的实例符号,来显示StateMachineViewer。64综合状态机视图StateMachineViewer64综合工艺映射视图(映射后)TechnologyMapViewer(Post-Mapping)
与寄存器传输级视图相似,QuartusIITechnologyMapViewer提供设计的底层或基元级专用技术原理表征。要为QuartusII工程运行TechnologyMapViewer,必须首先进行Analysis&Synthesis,或者进行完整编译。成功进行Analysis&Synthesis之后,在Toools菜单中指向NetlistViewers,单击TechnologyMapViewer来显示TechnologyMapViewer窗口。TechnologyMapViewer包括一个原理视图以及一个层次列表,列出整个设计网表的实例、基本单元、引脚和网络。65综合工艺映射视图(映射后)TechnologyMapVi6666布局与布线QuartusII的适配器Fitter对设计进行布局布线,Fitter使用由分析器和综合器建立的数据文件,将工程的逻辑和时序要求与器件的可用资源相匹配,将每个逻辑功能分配给逻辑单元的最佳位置,进行布线和时序分析,并选定相应的互连路径和引脚分配。资源分配之后,适配器将资源分配结果与器件的资源相匹配,尽力满足预先设置的约束条件,然后优化设计中的其余逻辑。如果设计文件尚未设置任何约束条件,适配器将自动优化设计。如果适配不成功,适配器则终止编译,并给出错误信息。67布局与布线QuartusII的适配器Fitter对设计进行分析适配结果QuartusII软件提供Message窗口、Report窗口、ChipPlanner器件布局图和设计助手等多种工具来帮助设计者分析编译和适配结果,以便对工程进行必要的管理和调整。1)使用Messages窗口查看适配结果Messages窗口的Processing标签、Report窗口或Report文件的Messages部分显示最近编译或仿真产生的信息。68分析适配结果QuartusII软件提供Message窗口分析适配结果2)使用Report窗口或Report文件查看适配结果Report窗口包含设计流、全局设置、编译消耗的时间、任务记录、分析与综合报告、适配报告、汇编报告、时序分析报告等部分,Fitter报告窗口可以帮助设计者利用Fitter进行布局布线的方式进行分析,显示资源使用情况,列出Fitter生成的错误消息,以及正在运行的任何其它模块的消息。69分析适配结果2)使用Report窗口或Report文件查看适分析适配结果3)使用器件布局图ChipPlanner分析结果70分析适配结果3)使用器件布局图ChipPlanner分析结分析适配结果4)使用设计助手QuartusIIDesignAssistant检查设计的可靠性QuartusIIDesignAssistant根据一组设计规则检查设计的可靠性,确定是否存在可能影响适配或设计优化的任何问题。Settings对话框的DesignAssistant页面用于指定检查设计时要使用的设计可靠性准则。71分析适配结果4)使用设计助手QuartusIIDesig优化适配优化适配是数字系统设计的重要环节,运行Fitter并分析结果之后,可用多种方法来优化适配:使用位置分配优化、设置用于控制布局布线的选项优化、使用资源优化向导ResourceOptimizationAdvisor优化、使用设计空间管理器DesignSpaceExplorer优化。使用位置分配优化适配
为了优化适配,可以使用器件布局图ChipPlanner或AssignmentEditor将逻辑分配给器件上的物理资源。72优化适配优化适配是数字系统设计的重要环节,运行Fitter优化适配2)用于控制布局布线的选项设置优化适配QuartusII允许三种优化适配设置:适配器选项、物理综合选项、影响适配的单个或全局逻辑选项。由Assignments、Settings进入Fitter设置。73优化适配2)用于控制布局布线的选项设置优化适配73优化适配在综合和适配过程中,即使禁止WYSIWYG二次综合,仍然执行物理综合优化选项指定的优化工程:可选择执行组合逻辑或寄存器的性能优化,以及快速、标准、最优三种优化级别,还可以选择适配器网表优化:异步信号流水线方式执行优化,还是寄存器复制方式,以及组合逻辑的物理综合密度优化。74优化适配在综合和适配过程中,即使禁止WYSIWYG二次综合优化适配3)使用ResourceOptimizationAdvisor优化适配ResourceOptimizationAdvisor对逻辑单元、存储器块、DSP块、I/O单元、布线资源等设计资源的使用提供优化建议。75优化适配3)使用ResourceOptimization优化适配工程编译完毕后,ResourceOptimizationAdvisor在工程信息和当前设置的基础上,可为工程提供具有针对性的建议。76优化适配工程编译完毕后,ResourceOptimiza优化适配4)使用DesignSpaceExplorer优化适配
使用DesignSpaceExplorer(DSE)可控制QuartusII对功耗、面积、性能的优化适配,自动搜索一定范围内的QuartusII选项和设置,确定使用哪个设置,使工程获得最佳结果。指定管理设置之后,可以利用管理空间命令进行管理。77优化适配4)使用DesignSpaceExplorer时序分析QuartusIITimeQuest时序分析器和标准时序分析器用于分析系统的时序要求,利用时序分析器产生的信息分析、调试并验证设计的时序性能,还可以使用快速时序模型进行时序分析,验证最佳情况(最快速率等级的最小延时)条件下的时序。QUARTUSII软件支持两种时序分析器:标准时序分析器和TimeQuest时序分析器。78时序分析QuartusIITimeQuest时序分析器和TimeQuest时序分析器TimeQuest分析器使用业界标准Synopis设计约束(SDC)方法进行约束设计,提交报告。当使用TimeQuest时序分析器而不是标准时序分析器时,可以很容易实现很多专业应用的精确约束。79TimeQuest时序分析器TimeQuest分析器使用业TimeQuest时序分析器TimeQuest和标准时序分析器的特性有很多不同之处,在分析上有些不同,它提供四个人机接口界面(GUI),以提高约束和分析设计的效率:1)分析结果界面View2)任务界面Tasks80TimeQuest时序分析器TimeQuest和标准时序分TimeQuest时序分析器3)控制台界面Console4)报告界面Report81TimeQuest时序分析器3)控制台界面Console8TimeQuest时序分析器TimeQuest分析器的一般设计步骤: 1,创建时序分析网表; 2,读入Synopsys设计约束文件; 3,分析报告文件。82TimeQuest时序分析器TimeQuest分析器的一般标准时序分析器标准时序分析器在完整编译之后自动进行时序分析,它能够完成如下任务: 1)在完整编译期间进行时序分析或在初始编译之后单独进行时序分析; 2)在部分编译之后,适配完成之前,进行早期时序估算; 3)通过Report窗口和时序逼近布局图查看时序结果。83标准时序分析器标准时序分析器在完整编译之后自动进行时序分析,标准时序分析器1,指定标准时序要求
时序要求允许为整个工程、特定的设计实体或个别实体、节点和引脚指定所需的速率性能。可以使用Timing向导帮助建立初始工程全局范围时序设置。指定初始时序设置之后,可以在Timing向导中,或在Settings对话框的TimingRequirements&Options页面中再次修改设置。84标准时序分析器1,指定标准时序要求84标准时序分析器使用Settings对话框或Timing向导,可以指定以下时序要求和其它选项:
工程的总体频率要求,以及各个时钟信号的设置
延时要求、最短延时要求和路径剪切选项
报告选项,包括源和目的寄存器的数量,以及排除路径的数量
时序驱动编译选项
建立(恢复)和保持(删除)选项检查具有异步清除、预置或装入信号的时序路径。85标准时序分析器使用Settings对话框或Timing向导,标准时序分析器2,进行工程全局范围的时序设置
工程全局范围的时序设置包括最大频率、建立时间、保持时间、时钟至输出延时和引脚至引脚延时以及最小时序要求。还可以设置工程全局范围内的时钟设置和多时钟域、路径剪切选项。时序设置说明fMAX(最大频率)在不违反内部建立(tSU)和保持(tH)时间要求时,可以达到的最大时钟频率。tSU(时钟建立时间)触发寄存器的时钟信号在时钟引脚置位之前,经由数据输入或使能端输入进入寄存器的数据必须在输入引脚处出现的时间长度。tH(时钟保持时间)触发寄存器的时钟信号在时钟引脚置位之后,经由数据输入或使能端输入而进入寄存器的数据必须在输入引脚处保持的时间长度。tCO(时钟至输出延时)时钟信号在触发寄存器的输入引脚上发生跳变之后,寄存器馈送信号引脚输出有效所需的时间。tPD(引脚至引脚延时)输入引脚上的信号通过组合逻辑进行传输并出现在外部输出引脚上所需的时间。最小tCO(时钟至输出延时)时钟信号在触发寄存器的输入引脚上发生跳变之后,寄存器馈送信号的输出引脚出现有效输出所需的最短时间。这个时间总是代表外部引脚至引脚延时。最小tPD(时钟至输出延时)指定可接受的引脚至引脚最小延时,即输入引脚信号通过组合逻辑传输并出现在外部输出引脚上所需的时间。86标准时序分析器2,进行工程全局范围的时序设置时序设置说明fM标准时序分析器3,进行个别时序分配使用AssignmentEditor对个别实体、节点和引脚分别进行时序分配。可以在时序分析器中进行以下类型的个别时序分配:1)个别时钟设置2)时钟不确定分配3)时钟延时分配4)多周期路径5)剪切路径6)最大延时要求7)最小延时要求8)最大斜移要求9)Timegroup分配87标准时序分析器3,进行个别时序分配87标准时序分析器4,进行标准时序分析
完成时序设置和分配之后,可以通过完整编译来运行标准时序分析器。88标准时序分析器4,进行标准时序分析88标准时序分析器5,标准时序分析报告
运行时序分析之后,可以在CompilationReport的时序分析器文件夹中查看时序分析结果。
列出时序路径以验证电路性能,确定关键速度路径以及限制设计性能的路径,进行其他的时序分配。89标准时序分析器5,标准时序分析报告89标准时序分析器6,进行分配和查看延时路径
在AssignmentEditor中分配个别时序的基本流程:1)在Category栏中,单击Timing,指明要做的分配类别。2)在电子表格中单击To单元格,使用NodeFinder查找节点,或输入希望分配的目标节点名称、通配符以及timegroup。3)在电子表格中单击From单元格,使用NodeFinder查找节点,或输入希望进行分配的源节点名称、通配符以及timegroup。4)在电子表格中,双击AssignmentName单元格并选定要分配的时序。5)可以双击Value单元格并键入或选择相应的分配值。90标准时序分析器6,进行分配和查看延时路径90标准时序分析器7,使用技术映射查看器查看时序延时QuartusIITechnologyMapViewer提供设计的底层或者原语的专用技术原理表征。使用以下方法,在进行时序分析之后显示TechnologyMapViewer:1)在Tools菜单中,单击TechnologyMapViewer。2)在时序分析器报告中右键单击路径信息,然后单击LocateinTechnologyMapViewer。3)在Messages窗口中选择路径,然后从Location列表中选择TechnologyMapViewer(使用ListPaths命令之后)。91标准时序分析器7,使用技术映射查看器查看时序延时91时序分析QuartusII软件支持在UNIX工作站上使用SynopsysPrimeTime软件进行时序分析和最小时序分析,并支持使用MentorGraphics®Tau板级验证工具进行板级时序分析。92时序分析QuartusII软件支持在UNIX工作站上使时序分析1,使用PrimeTime软件QuartusII软件生成Verilog或VHDL输出文件、包含时序延时信息的标准延时格式输出文件(.sdo)以及设置PrimeTime环境的Tcl脚本文件。如果正在进行最小时序分析,QuartusII软件将使用由时序分析器在该设计的SDF输出文件中生成的最小延时信息。手动使用PrimeTime软件对设计进行时序分析的基本流程:1)通过Settings对话框(Assignments菜单)或在工程设置期间使用NewProjectWizard(File菜单)进行EDA工具设置。2)在QuartusII软件中编译设计,生成输出网表文件。QuartusII软件将该文件放置在特定工具目录中。3)查找QuartusII生成的Tcl脚本文件(.tcl),以设置PrimeTime环境。4)在PrimeTime软件中进行时序分析。93时序分析1,使用PrimeTime软件93时序分析2,使用Tau软件QuartusII软件生成STAMP模型文件,将STAMP模型文件导入Tau软件中,进行板级时序验证。生成STAMP模型文件的基本流程:1)通过Settings对话框(Assignments菜单)或在工程设置期间使用NewProjectWizard(File菜单)指定EDA工具设置。2)在QuartusII软件中编译设计,生成STAMP模型文件。QuartusII软件将该文件放置在特定工具目录中。3)在Tau软件中使用STAMP模型文件进行板级时序验证。94时序分析2,使用Tau软件94时序逼近QuartusII软件通过控制设计综合和布局布线以满足时序设计目标,实现完全集成的时序逼近流程。95时序逼近95平面布局图或器件布局图Quartus10.0以前版本可以使用TimingClosure时序逼近平面布局图、Quartus10.0以后版本改为器件布局图ChipPlanner,查看Fitter生成的逻辑布局,查看用户分配和LogicLock区域分配,以及设计的布线信息。可以使用这些信息在设计中识别关键路径,进行时序分配、位置分配和LogicLock区域分配,达到时序逼近。96平面布局图或器件布局图96平面布局图或器件布局图1,查看分配与布线结果TimingClosure平面布局图(参见图10-66)可同时显示用户分配和Fitter位置分配。查看以下布线信息类型1)节点之间的路径2)节点扇入和扇出3)布线延时4)连接计数5)物理时序估计6)布线拥塞7)关键路径97平面布局图或器件布局图97平面布局图或器件布局图2,位置和时序分配
为便于达到时序逼近,TimingClosure平面布局图允许直接从布局图进行位置和时序分配。以下方法在TimingClosure平面布局图中编辑分配:1)剪切、复制和粘贴节点和引脚分配。2)启动AssignmentEditor进行分配。3)使用NodeFinder协助分配工作。4)在LogicLock区域中建立和分配逻辑。5)用鼠标从ProjectNavigator的Hierarchy选项标签、LogicLock区域和TimingClosure平面布局图中拖出节点和实体,放到布局图的其它区域中。98平面布局图或器件布局图98时序优化向导TimingOptimizationAdvisor在以下方面提出设计时序优化建议:最大频率(fMAX)、建立时间(tSU)、时钟至输出时间(tCO)、传输延时(tPD)。99时序优化向导99使用网表优化实现时序逼近QuartusII软件的网表优化选项用于在分析与综合期间、布局布线期间进一步优化设计。100使用网表优化实现时序逼近100使用网表优化实现时序逼近综合网表优化包括以下选项:1)执行WYSIWYG基本单元再综合PerformWYSIWYGprimitiveresynthesis2)执行门级寄存器再定时Performgate-levelregisterretiming3)允许寄存器再定时,平衡fmax和Tsu/Tco时间101使用网表优化实现时序逼近101使用网表优化实现时序逼近物理综合优化包括以下选项:1)进行组合逻辑物理综合Performphysicalsynthesisforcombinationallogic2)进行寄存器复制Performregisterduplication3)进行寄存器再定时Performregisterretiming4)物理综合工作等级Physicalsynthesiseffort102使用网表优化实现时序逼近102时序逼近设计方法时序逼近的三种方法:1)使用LogicLock区域达到时序逼近2)使用设计空间管理器达到时序逼近3)使用渐进式编译达到时序逼近。103时序逼近设计方法103使用LogicLock区域达到时序逼近1,软LogicLock区域LogicLock区域具有预定义边界和节点,这些边界和节点分配给一直驻留在边界或LogicLock区域范围之内的特定区域。2,基于路径的分配
软件可以将特定的源和目标路径分配给LogicLock区域,从而可以方便地将关键设计节点组合进一个LogicLock区域。104使用LogicLock区域达到时序逼近104使用设计空间管理器达到时序逼近可以使用DesignSpaceExplorer(DSE)来优化设计时序。DSE界面可以使用户浏览一定范围内的QuartusII选项和设置,自动确定应采用哪种设置以获得工程的最佳可能结果。可以指定允许DSE所作修改的级别、优化目标、目标器件和允许的编译时间。105使用设计空间管理器达到时序逼近105使用渐进式编译达到时序逼近可以使用渐进式编译,通过分配设计分区、编译设计、处理其他设计分区时,只修改设计中的关键单元布局来达到时序逼近。106使用渐进式编译达到时序逼近106功耗分析QuartusIIPowerPlay功耗分析工具提供的界面使设计者能够在设计过程中,估算静态和动态功耗。PowerPlayPowerAnalyzer进行适配后功耗分析,产生高亮的功耗报告,显示模块类型和实体,以及消耗的功率。AlteraPowerPlayEarlyPowerEstimator在设计的其他阶段估算功耗,产生估算信息的MicrosoftExcel电子表格。107功耗分析QuartusIIPowerPlay功耗分析工具功耗分析器工具可以指定使用QuartusIISimulator生成的SignalActivityFile(.saf)等输入文件,还是其他EDA仿真工具生成的ValueChangeDump文件(.vcd)作为输入来初始化功耗分析过程中的触发速率和静态几率,以及是否需要将功耗分析过程中使用的信号活动写入到输出文件中。108功耗分析器工具可以指定使用QuartusIISimula早期功耗估算使用AlteraPowerPlay早期功耗估算器的电子表单,计算Stratix系列、StratixII系列、StratixGX系列、Cyclone系列以及MAXII系列器件的功耗。在设计过程的任何阶段,都可以使用PowerPlay早期功耗估算器来估算功耗。但是,Altera推荐在设计完成后尽量使用PowerPlay功耗分析器而不是PowerPlay功耗估算器,以得到最精确的功耗分析。109早期功耗估算使用AlteraPowerPlay早期功耗估编程与配置使用QuartusII软件成功编译工程之后,就可以对Altera器件进行编程或配置。QuartusIICompiler的汇编器模块生成编程文件,结合Altera编程硬件,QuartusIIProgrammer可以对器件进行编程或配置,还可以使用独立运行的版本QuartusIIProgrammer对器件进行编程和配置。110编程与配置使用QuartusII软件成功编译工程之后,就可编程文件与编程设置汇编器自动将适配器的器件、逻辑单元和引脚分配转换为器件的编程镜像,其形式是目标器件的一个或多个编程器目标文件(.pof)或者SRAM目标文件(.sof)。1)Settings对话框(Assignments菜单)Device页面的Device&PinOptions对话框允许指定可选编程文件格式。2)File菜单中Create/Update下的创建JAM、SVF或ISCFile命令生成Jam文件、JamByte-Code文件、SerialVectorFormat文件,或者InSystemConfiguration文件。3)File菜单中Create/Update下的Create/UpdateIPSFile命令显示ISPCLAMPStateEditor对话框,能够建立或更新I/OPinState文件(.ips)。
111编程文件与编程设置汇编器自动将适配器的器件、逻辑单元和引脚分编程文件与编程设置
4)ConvertProgrammingFiles命令(File菜单)将一个或多个设计的SRAMObject文件和ProgrammerObject文件组合并转换为其它辅助编程文件格式。5)Programmer使用Assembler生成的ProgrammerObject文件和SRAMObject文件6)Programmer允许建立包含设计所用器件名称和选项的器件链描述文件ChainDescriptionFile(.cdf),还可以打开一个MAX+PLUSIIJTAGChainFile(.jcf)或FLEXChainFile(.fcf),并在QuartusIIProgrammer中保存为.cdf文件。
112编程文件与编程设置112编程模式与编程电缆联机QuartusII的Programmer支持四种编程模式:被动串行模式PassiveSerial、JTAG模式、激活串行模式ActiveSerialProgramming、In-SocketProgramming模式。除EthernetBlaster外,ByteBlasterII和USBBlaster编程电缆支持的芯片基本相同支持芯片ByteBlasterIIUSBBlasterEthernetBlasterStratix系列FPGA√√√Cyclone系列FPGA√√√Mercury系列√√√ACEX1K系列√√√APEXII系列√√√APEX20K系列√√√FLEX10K/6000/8000系列√√√MAXII系列√√√MAX7000A/S系列√√√MAX3000A系列√√√Excalibur系列√√√EPCS系列串行存储器√√
增强型器件配置√√√113编程模式与编程电缆联机QuartusII的Programme编程模式与编程电缆联机编程电缆是计算机的Programmer和目标器件之间的桥梁,不同的编程电缆遵循不同的通信协议、连接方式和引脚定义,但对某一类型的编程电缆接口和引脚排列,由厂商自定义接口规范(如JTAG接口),而且第三方厂商提供的编程硬件也与ALTERA、XILINX、LATTICE等公司的相关产品在接口、引脚排列等方面兼容。需要特别注意的是,连接编程电缆之前,都必须关闭计算机、目标板或实验板,可靠连接之后,再重新开机,并加载目标板或实验板电源。在实验或编程过程中,不允许带电插拔编程电缆,也不允许插错电缆。若不按照上述操作规程操作,将会损坏计算机接口、编程电缆或目标电路板。114编程模式与编程电缆联机编程电缆是计算机的Programmer编程模式与编程电缆联机ByteBlasterII115编程模式与编程电缆联机ByteBlasterII115编程模式与编程电缆联机USBBlasterII116编程模式与编程电缆联机USBBlasterII116编程模式与编程电缆联机EthernetBlaster117编程模式与编程电缆联机EthernetBlaster11编程模式与编程电缆联机连接编程电缆之后,须查找并设置编程硬件和编程模式,即编程电缆初始化。118编程模式与编程电缆联机连接编程电缆之后,须查找并设置编程硬件编程模式与编程电缆联机119编程模式与编程电缆联机119编程模式与编程电缆联机Windows成功枚举USBBlaster电缆之后,在设备管理器的“通用串行总线控制器”一栏中可看到相关信息。120编程模式与编程电缆联机120编程模式与编程电缆联机EthernetBlaster电缆的联机操作要牵涉到远程编程、远程更新所需的工厂设置连接、IP地址配置、编程电缆设置等。若设计者的网络支持DHCP,设计者就可以以编程电缆底部标签的主机名作为地址,访问EthernetBlasterConfiguration管理页面。121编程模式与编程电缆联机121编程模式与编程电缆联机若设计者的网络不支持DHCP,则必须将计算机地址配置为192.168.0.X,再访问网页地址0,以admin为登录名和密码登录EthernetBlasterConfiguration管理页面。122编程模式与编程电缆联机122编程操作QuartusIIProgrammer允许编辑CDF,CDF存储器件名称、器件顺序和设计的可选编程文件名称信息。使用Programmer对一个或多个器件进行编程的基本流程:1,将Altera编程硬件与待编程的目标系统相连,并安装所需的驱动程序。2,进行设计的完整编译,或至少运行Compiler的Analysis&Synthesis、Fitter和Assembler模块。3,打开Programmer,建立新
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 校园环保课堂合作合同(2篇)
- 《机器学习技术应用》课件-任务1-1 项目需求分析
- 品种品质差异深度解析与评估研究
- 浙江省台州市十校联盟2024-2025学年高二下学期期中联考地理试题(含答案)
- 新质生产力数控
- 环形胰腺的临床护理
- 克-雅病性痴呆的临床护理
- 老年挛缩的临床护理
- 2025标准城市公寓购房合同范本
- 2025全新合同公证服务指南
- 2025-2030中国宠物行业市场发展分析及发展趋势与投资前景预测报告
- AGC-AVC培训课件教学课件
- 山洪灾害防御知识课件
- 决胜新高考·四川名优校联盟2025届高三4月联考英语+答案
- 宾馆卫生考试题及答案
- 殡葬法律法规试题及答案
- 带货主播职业发展路径与技能提升指南
- DB52/T 1212-2017 煤矿地面在用瓦斯泵及瓦斯泵站安全检查规范
- 境外道路货物运输应急预案
- 软件测试技术课程教学大纲
- 液压与气压传动完整版课件
评论
0/150
提交评论