3.7QuartusⅡ设计简介一、QuartusⅡ的设计流程二、QuartusⅡ的图形用户界面三、QuartusⅡ的图形用户界面功能3.7.1QuartusⅡ简介一、QuartusⅡ的设计流程(1)(2)(4)(5)(3)设计要求设计输入功能仿真综合布局布线时序分析时序仿真编程、配置设计修改(6)(7)全编译(3)Synthesis-TranslateDesignintoDeviceSpecificPrimitives-OptimizeDesigntoMeetRequiredArea&PerformanceConstraintsDesignSpecification(4)Place&Route-MapPrimitivestoSpecificLocationsInsideTargetTechnologywithReferencetoArea&PerformanceConstraints-SpecifyRoutingResourcestoBeUsed(1)DesignEntry/RTLCoding-BehavioralorStructuralDescriptionofDesign(2)FunctionSimulation-VerifyLogicModel&DataFlow(NoTimingDelays)LEM512M4KI/O(5)TimingAnalysis-VerifyifDesignMeetsTimingPerformanceSpecifications(6)TimingSimulation-Verifyifthelogicfunctionandtimingperformancearecorrect(WithTimingDelays)(7)PCBSimulation&Test-SimulateBoardDesign-Program&TestDeviceonBoardtclk几乎所有这些步骤可由EDA工具自动完成!设计人员只需简单地以适当的设计输入方式来描述其设计.二、QuartusⅡ的图形用户界面2Status窗口3主工作区域4ChangeManager窗口1ProjectNavigator窗口5Messages窗口6Tclconsole窗口三、QuartusⅡ的图形用户界面功能1DesignEntry(设计输入)•TextEditor•Block&SymbolEditor•MegaWizardPlug-InManager•AssignmentEditor•FloorplanEditor2Synthesis(综合)•Analysis&Synthesis•VHDL,VerilogHDL&AHDL•DesignAssistant•RTLViewer•TechnologyMapViewer•IncrementalSynthesis3Place&Route(布局布线)•Fitter•AssignmentEditor•FloorplanEditor•ChipEditor•ReportWindow•ResourceOptimizationAdvisor•DesignSpaceExplorer4TimingAnalysis(时序分析)•TimingAnalyzer•ReportWindow•TechnologyMapViewer5Simulation(仿真)•Simulator•WaveformEditor10EDAInterface(EDA界面)•EDANetlistWriter11PowerAnalysis(功耗分析)•PowerPlayAnalyzerTool•PowerPlayEarlyPowerEstimator12TimingClosure(时序逼近)•FloorplanEditor•LogicLockWindow•TimingOptimizationAdvisor•DesignSpaceExplorer6Programming(编程)•Assembler•Programmer•ConvertProgrammingFiles7System-LevelDesign(系统级设计)•SOPCBuilder•DSPBuilder8SoftwareDevelopment(软件开发)•SoftwareBuilder9Block-BasedDesign(基于块的设计)•LogicLockWindow•FloorplanEditor•VQMWriter13Debugging(调试)•SignalTapII•SignalProbe•In-SystemMemoryContentEditor•RTLViewer•TechnologyMapViewer•ChipEditor14EngineeringChangeManagement(工程变动管理)•ChipEditor•ResourcePropertyEditor•ChangeManage3.7.2设计输入一、创建工程二、图形设计输入方法三、文本输入方法四、建立存储器编辑文件五、创建顶层图形设计文件QuartusIITextEditor文本输入AHDL,VHDL,VerilogHDLMemoryEditor存储器输入HEX,MIFSchematicDesignEntry图形设计输入3rd-PartyEDATools第3方EDA工具EDIFHDLVQM(VerilogQuartusMapping)Mixing&MatchingDesignFilesAllowedEDA设计输入方法设计输入文件QuartusIIMemoryEditorQuartusIITextEditorQuartusIIBlockEditorTop-LevelFile.bdf.gdfTop-leveldesignfilescanbe.bdf,.tdf,.vhd,.vhdl,.v,.vlg,.edifor.edf.bsf.vhdBlockFileSymbolFileTextFileTextFile.vTextFileImportedfromthird-partyEDAtoolsMentorGraphics,Synopsys,Synplicity,etc...GeneratedwithinQuartusIIVHDLSchematicSchematic.tdfTextFileAHDLVerilog.edf.edifTextFile.v,.vlg,.vhd,.vhdl,vqmMegaWizard®Manager一、创建工程1.打开创建工程向导执行菜单命令“FileNewProjectWizard”,打开Introduction对话框。单击“Next”。2.选择所建立工程的工作目录,输入工程名称、顶层实体名工程名称可以是任何名字,建议使用和顶层实体名相同的名字。顶层实体名称必须和顶层文件名字相同!单击“Next”。工作目录和工程名不能有空格和汉字!3.加入设计文件(必要时)(1)单击Add按钮,从其他工作目录中选择所需要的现成的源文件(只是指向该文件位置);(2)单击“UserLibraryParameters”按钮,可以加入用户自己定义的库函数:选择其路径和文件名,单击“Add”加入。(3)单击“Next”。第3步也可以略过,以后再创建设计文件,或者以后再用“ProjectAdd/RemoveFilesinProject…”命令将其他工作目录中的文件添加到本工程中。4.指定第三方对代码进行综合和仿真的工具(需要时)在安装QuartusII软件时,缺省的情况下安装了综合和仿真工具,也可以选择QuartusII软件支持的其它综合或仿真工具。在弹出的对话框中,选择适当的工具,或者什么也不选,单击“Next”。5.指定目标器件类型在“Family”栏中选择“StratixII”,选择“Yes”单选钮;单击“Next”;在下一对话框中选择具体的器件型号,然后单击“Next”。6.完成在最后一步中,显示了在前面几步中所做选择的信息。确认无误后单击“Finish”。执行“AssignmentsSettings”菜单命令,弹出“Settings”窗口Files——添加和删除文件;UserLibraries——添加用户库;Device——更改器件系列;EDAToolSettings——设置其它EDA工具;TimingAnalyzer——定时分析设置Simulator——仿真设置:选择功能仿真或时序仿真对工程设置进行修改二、图形设计输入方法图形设计文件的创建利用库函数LibraryFunction(Block)画原理图逻辑门、触发器、引脚和其它基本单元符号Altera兆功能函数(Megafunction)和LPM(LibraryofParameterizedModules,参数化的模型库)为Verilog、VHDL或AHDL设计文件创建符号使用导线和总线连接所有的图形块(Block)图形编辑器(SchematicEditor)的使用创建简单的测试设计文件来理解Altera的兆功能函数PLL,LVDSI/O,Memory创建顶层图形文件便于查看和连接又称为块编辑器(BlockEditor),可以原理图(Schematic)和结构图(BlockDiagram)形式输入和编辑图形设计信息。[例]4位乘法器的设计:在资源管理器下新建schematic文件夹,并在其中创建工程mult4x4.qpf,新建图形文件mult4x4.bdf。mult4x4.bdf建立图形设计文件的方法:1.建立一个新文件执行File-New命令,打开“New”对话框;选择“DeviceDesignFiles”标签下的“BlockDiagram/SchematicFile”;单击OK,打开图形编辑器。文件名后缀为.bdf工作区域常用快捷按钮图形编辑器界面2.输入图元和宏功能符号在窗口的空白处双击鼠标左键,或单击符号工具按钮或选择菜单“EditInsertSymbol”,打开“Symbol”对话框;在“Libraries”栏中单击某单元库前的加号,选择所需图元或符号名;单击“OK”。若已知图元或符号在库中的名字,可在“Symbol”对话框的“Name”栏中直接键入名称(如input、output)!当符号放置好后,单击鼠标右键,选择下拉菜单的Properties项,弹出“SymbolProperties”对话框,可修改符号的属性(如实例名、端口状态、LPM的参数等)。QuartusⅡ的模块库(在c:/altera/quartus50/libraries下有3个库):(1)Megafunctions(兆功能函数):包含许多可直接使用的参数化模块arithmetic(参数化累加器、乘法器、比较器、计数器、除法器等)embedded_logic(双端口RAM)gates(参数化与门、或门、三态缓冲器、译码器、多路选择器等)IO(各种I/O接口电路模块)storage(参数化D触发器、锁存器、FIFO、ROM等)丰富的设计库(基本逻辑块、74系列器件、特殊的逻辑宏函数、参数化模块)(2)others(其他库):包括与MAX+PLUSⅡ兼容的所有中规模器件,如74系列器件及特殊的逻辑宏函数如多路选择器,计数器,加法器,比较器,乘法器(3)Primitives(基本单元符号库):包含所有的Altera基本图元buffer:缓冲器logic:各种扇入的与门、或门等;other:电源、地等;pin:input,output,bidirstorage:D触发器、JK触发器、锁存器等3.结构图(BlockDiagram)输入方法自顶向下的设计方法blocktest.bdf步骤:(1)新建一个图形设计文件。(2)选择工具条上的块工具按钮,拖动鼠标画图形块;单击鼠标右键,选择下拉菜单的BlockProperties项,弹出“BlockProperties”对话框,在其中设置图形