QuartusI软件使用教程Altera公司的QuartusII软件是FPGA/CPLD开发集成环境,其界面友好,使用便捷。用户可以在QuartusII中实现整个数字集成电路的FPGA设计流程:设计输入、HDL综合、布局布线(适配)、仿真和下载测试等流程,提供了一种与结构无关的设计环境。QuartusII软件完成FPGA/CPLD设计所有阶段的流程如图1所示。Quartus I设计软件涵盖了从开发设计到器件实现所需要的全部功能设计输入包括基于模块的?设计、系统级设计和软件开发设计输人/RTL编码概念构想综合功能验证(RTL)·RTL功能仿真功耗分析·确认逻辑模型和数据流程遥辑综合布局布线调试·对于自标器件上实现逐辑回路所需的逻辑资源进行分配工作针对要求的领域与性能进行优化工程更改管理布局布线OUARTUS'E时序分析设计软件·把分配好的逻辅配置到器件里特定的位置m,根据领域与性能的约束条件实行布服布线·使用特定的布线资源时序逼近时序验证仿真·静态时序分析(内部时钟颈率,1/0时序)·确保达到要求的时序规格器件编程/片内调试编程和配置·将设计写人FPGA/CPLDCRO·将FPGACPLD安装于电路板上,以进行系统级的验证和调试置Altera芯片图1QuartusII设计流程QuartusII设计工具支持基于VHDL、VerilogHDLHDL逻辑综合器。可以利用第三方的综合工具如Synplify进行逻辑综合,也可以利用第三方的仿真工具如Modelsim进行仿真,其设定如图8所示。QuartusII提供了完整的多平台设计工具,能够直接满足各种特定设计的需要。为可编程芯片系统(SOPC)提供全面的设计环境,使用QuartusII内嵌的SOPCBuilder,配合NiosIIIDE集成开发环境,可以开发NiosII嵌入式软核处理器。QuartusII与MATLAB和DSPBui1der结合,可以进行基于FPGA的DSP系统开发,是DSP硬件系统实现的关键EDA工具。图形用户界面及设计流程1QuartusII软件为设计流程的每个阶段提供QuartusII图形用户界面。图2所示为QuartusII图形用户界面的功能。以下步骤描述了使用QuartusII图形用户界面的基本设计流程
Quartus II Quartus II Quartus II 软件使用教程 Altera 公司的 Quartus II 软件是 FPGA/CPLD 开发集成环境,其界面友好,使用便捷。 用户可以在 QuartusII 中实现整个数字集成电路的 FPGA 设计流程:设计输入、HDL 综合、 布局布线(适配)、仿真和下载测试等流程,提供了一种与结构无关的设计环境。Quartus II 软件完成 FPGA/CPLD 设计所有阶段的流程如图 1 所示。 图 1 Quartus II 设计流程 Quartus II 设计工具支持基于 VHDL、VerilogHDL HDL 逻辑综合器。可以利用第三方的 综合工具如 Synplify 进行逻辑综合,也可以利用第三方的仿真工具如 Modelsim 进行仿真, 其设定如图 8 所示。 Quartus II 提供了完整的多平台设计工具,能够直接满足各种特定设计的需要。为可 编程芯片系统(SOPC)提供全面的设计环境,使用 Quartus II 内嵌的 SOPC Builder,配合 Nios II IDE 集成开发环境,可以开发 Nios II 嵌入式软核处理器。Quartus II 与 MATLAB 和 DSP Builder 结合,可以进行基于 FPGA 的 DSP 系统开发,是 DSP 硬件系统实现的关键 EDA 工具。 1 图形用户界面及设计流程 Quartus II 软件为设计流程的每个阶段提供 Quartus II 图形用户界面。图 2 所示为 Quartus II 图形用户界面的功能。以下步骤描述了使用 Quartus II 图形用户界面的基本设 计流程。 设计输入 综 合 布局布线 时序分析 仿 真 编程和配置 置 功耗分析 调 试 工程更改管理 时序逼近 包括基于模块的 设计、系统级设 计和软件开发
1-量:/0费/数字电子技术实路(2011)/电扶数电实始证件/#接程交适灯/tr式ic-11..-回区菜单VsESe工作rafitJighccool60P0快捷jesntsoingoitamo_igkcond按钮kbmiiplieribraryieeTilitr indns+ Frject BavigateAtuae ieee.stdlogic_1164:al1agleatAeentity traffic_light_control ieBoie Eindrlt+1工程/notil SereaCtrl+tpareclk,energencykey:instd_logic431ad Ccasdle112导航std loaieaotoSHiwcheBFilePDesgnUnd:led_sel:outatdlogic_vector(2 hr ine alesausger2t3,D0TCopilaaend traffic_light_controlBstutsa/ Iigi Iratearchitecture behavoftraffie_lig任务人CotShr Indentatica GrideChunge langr1555780signalscan_olk,count_clk,temp_ke窗口sanael:etd loLenShn lhite Spuet16signaltenp_h,teap_l:std_iogic_veTeBeso消息AStnmAPoostsrgAEonsinhAinleAWerrgCacaWeng AEnSucusdAFig窗口图2QuartusII图形用户界面功能TaskB形式HDL编程器FilterAssembier(编Analysis & Synthesis编银(适配器)程文件汇编)日Compile Design(分析与综合)-Analysis &Synthesis...Fitter (Place& Route)Timing Analyzer-Assenbler (Generate progranning files)(时序分析器)Classic Timing Analysis设计输入综合或编辑适配器件下载D-EDA Netlist YriterFrogram Device (Open Programer)仿真图3QuartusII设计流程及task任务与EDA设计流程对照图图3所示的左边是QuartusII的task任务窗口,列出了设计分析与综合、适配、编程文件汇编、时序参数提取以及编程下载几个步骤。右边上排是QuartusII编译设计主控界面,显示了QuartusII自动设计的各主要环节和设计流程,包括输入编辑、设计分析与综合、适配、编程文件汇编、时序参数提取以及编程下载几个步骤,和软件的任务流程是一一对应的。图右边下排的流程框图QuartusII设计流程对照的标准的EDA开发流程。2QuartusII使用说明2.1创建工程(1)选择“File”菜单下的“NewProjectWizard”,打开新建项目指南(图4),完成新建工程的五项设定。点击“next”进入图5所示界面。XMeProject Fizard:IntroductioineEditYiew Broject assignentsD e....ThNewPrectWizayoucraleawojectandpeinaypoectetrsngCtrl+Hopen.Ctr1+0建立工程需完loseCtr1+F4O成的5项内容You can charoetheseltingsforanexistinDe rojet mizadesdrtheSengsdaogboxloaddfunctionalitytothepioiecOpen Project..Ctrl+JDont show me ifisinwoducion aganConvert MAI+PLIS II Project..Save FrojectClosg Project图4打开新建项目向导
图 3 Quartus II 设计流程及 task 任务与 EDA 设计流程对照图 图 3 所示的左边是 QuartusII 的 task 任务窗口,列出了设计分析与综合、适配、编程 文件汇编、时序参数提取以及编程下载几个步骤。右边上排是 QuartusII 编译设计主控界面, 显示了 QuartusII 自动设计的各主要环节和设计流程,包括输入编辑、设计分析与综合、适 配、编程文件汇编、时序参数提取以及编程下载几个步骤,和软件的任务流程是一一对应的。 图右边下排的流程框图 QuartusII 设计流程对照的标准的 EDA 开发流程。 2QuartusII QuartusII 使用说明 2.1 创建工程 (1)选择“File”菜单下的“New Project Wizard”,打开新建项目指南(图 4),完 成新建工程的五项设定。点击“next”进入图 5 所示界面。 菜单 快捷 按钮 工程 导航 任务 窗口 消息 窗口 工作 窗口 图 2 Quartus II 图形用户界面功能 图 4 打开新建项目向导 建立工程需完 成的 5 项内容
Ne Project izard: Direetory, Nane, Top-Level Entity Tpag...X此文件夹将被EDAWhat is the gorkiing drectocy for this.proiect?软件默认为工作库选择工程目录D-Vich(Work Library)。Vhat ie the name of this project?输入工程名称iah即编译、配置、仿Whatia the naforthisproject2ThitnameiscasesenabiveandmusFe0o真产生的所有文件顶层实体名称(默igh均在此文件夹中UeeExstngProectSettrgs认与工程名一致《BackHest>Finish取消图5创建工程图5中最上面一栏指示工作目录,缺省目录为QuartusII的安装目录,可单击最上面一栏右侧的“”按钮,找到或创建相应的工程文件夹。设置完后,单击“Next”按钮。(2)将设计文件加入工程。在图6中,最上面一栏“Filename”用于加入设计文件,可单击右侧的“...”按钮,找到相应的目录下的文件并加入。加入的文件可以有Graphic(.BDF、GDF)、AHDL、VHDL、VHDLHDL以及EDIF文件。单击“AddA11”按钮,将设定目录下的所有VHDL文件加入到此工程。设置完成后,单击“Next”按钮,进行目标芯片选择。4NowProject Vizard:Add Files Ipage 2 or blI design Hlee in thySelectthedesignfesyoueproect.CickAddAltoaddPLARSASpecilythepeatatUaerLbneBackHext>Pinssh取消图6在工程中加入所有相关文件(3)选择目标芯片。首先在“Family”栏中选择CycloneIII系列;然后在“Targetdevice”选项框中选择“Specificdeviceselectedin‘Availabledevices'list”,即选择一个确定的目标芯片。在这里,我们选择此系列的具体芯片EP3C16Q240C8。EP3C表示CycloneIII系列及此器件的规模:Q240表示PQFP240-pin封装;C8表示速度级别。可以通过图7所示窗口右边的“Filters”窗格“过滤”选择。选定目标器件后,单击“Next”按钮,进入EDA工具设定。NewPrasaetizardsily&Devsun Snttinga IpateSor Sl器件的封装、引脚、速度的过滤选择,-帮助用户快速查找dooe目标芯片图7选择目标芯片
图 5 中最上面一栏指示工作目录,缺省目录为 QuartusII 的安装目录,可单击最上面 一栏右侧的“.”按钮,找到或创建相应的工程文件夹。设置完后,单击“Next”按钮。 (2)将设计文件加入工程。在图 6 中,最上面一栏“File name”用于加入设计文件, 可单击右侧的“.”按钮,找到相应的目录下的文件并加入。加入的文件可以有 Graphic (.BDF、 .GDF)、AHDL、VHDL、VHDL HDL 以及 EDIF 文件。单击“Add All”按钮,将设定 目录下的所有 VHDL 文件加入到此工程。设置完成后,单击“Next”按钮,进行目标芯片选 择。 (3)选择目标芯片。首先在“Family”栏中选择 Cyclone III 系列;然后在“Target device”选项框中选择“Specific device selected in ‘Available devices’ list”, 即选择一个确定的目标芯片。在这里,我们选择此系列的具体芯片 EP3C16Q240C8。EP3C 表 示 Cyclone III 系列及此器件的规模:Q240 表示 PQFP 240-pin 封装;C8 表示速度级别。可 以通过图 7 所示窗口右边的“Filters”窗格“过滤”选择。选定目标器件后,单击“Next” 按钮,进入 EDA 工具设定。 图 6 在工程中加入所有相关文件 图 7 选择目标芯片 器件的封装、引脚、 速度的过滤选择, 帮助用户快速查找 目标芯片 选择工程目录 输入工程名称 顶层实体名称(默 认与工程名一致) 图 5 创建工程 此文件夹将被 EDA 软件默认为工作库 (Work Library)。 即编译、配置、仿 真产生的所有文件 均在此文件夹中
(4)选择第三方仿真器和综合器类型。默认选择QuartusII自带的仿真器和综合器,如果需要其他综合、仿真、时序分析的工具,在对应项选择。单击“Next”按钮后,工程设置统计列出了此项工程的相关设置情况,如图9所示。最后单击“Finish”按钮,结束该工程的设置,已经成功建立了工程。XNewProjectFizard:EDk Tool Settings Lpa;Hev Project Fizard:Sunary lpage 5 of 5]Specly the otheEDA tols--Intheunrtus IlsoftwaleclickFinish,thwahdwth.thefolowing.settinamProject directoryDesign Entry/5yritE-Auafic/ToolnaneanlightProjectnamelight--level design entity完成图4所列Numberoffiles addec0Numberofuseribrariesadded0出的5项内容SinudDeviceastignmentsFamily name.Cycilone llTool nameKNoneDeviceEP3C16Q2400:EDAtools<None)Design entry/synthesis<None)Simudation<None>Timing analysisTodl nameNone)-1.2VVCCINTyollage.Junction temperature tange:0-65<BackHanta取消rinish取消<BsckBext>图9建立工程的相关信息图8EDA工具设置2.2新建输入文件任何一项工程(Project),必须包含一个或以上的设计文件。打开QuartusII,选择“File”菜单下的“New”命令。在“New”窗口中的“DesignFiles”选项中选择“VHDLFile”(如图10所示)。然后在VHDL文本编辑窗中输入VHDL设计程序。数电实监理件/可编程bea+WelDHO新建快捷按钮-NewQuartus ProjecHEVOSDPC Buider SystemaAHDLFleEatisBkckDanarm/SchemaltieFileCyelee It:Er2C35reEDIFFieStateMachinMaineFHDLFITelSaF选择VHDL文件VHDLFIEmatjFikLCdPinhasFiAHerachyFies PDesiLocicAncherlrdetaceFiTaskicnalTapll LocicosFMenCaspilatinOtherFTaskEAHDLIncludeFieConpilDenigBlock SymbolFileChainDescription FilskodlysisSysDesignConstraintsFilFitterAsNarCassieTOKCancelnAHetl图10新建VHDL设计文件VHD1设计文件输入完毕后,选择“File”菜单下的“Save”命令或快捷按钮日,存放到工程目录下,保存类型选择VHDLFile(*.vhd*.VHDL),存盘文件名应与实体名一致。此时如图11所示
(4)选择第三方仿真器和综合器类型。默认选择 Quartus II 自带的仿真器和综合器, 如果需要其他综合、仿真、时序分析的工具,在对应项选择。单击“Next”按钮后,工程设 置统计列出了此项工程的相关设置情况,如图 9 所示。最后单击“Finish”按钮,结束该工 程的设置,已经成功建立了工程。 2.2 新建输入文件 任何一项工程(Project),必须包含一个或以上的设计文件。打开 Quartus II,选择 “File”菜单下的“New”命令。在“New”窗口中的“Design Files”选项中选择“VHDL File” (如图 10 所示)。然后在 VHDL 文本编辑窗中输入 VHDL 设计程序。 VHDl 设计文件输入完毕后,选择“File”菜单下的“Save”命令或快捷按钮 ,存放到工 程目录下,保存类型选择 VHDL File(*.vhd *.VHDL),存盘文件名应与实体名一致。此时如图 11 所示。 图 9 建立工程的相关信息 完成图 4 所列 出的 5 项内容 图 8 EDA 工具设置 新建快捷按钮 选择 VHDL 文件 图 10 新建 VHDL 设计文件
买0uartu件II-:/0盘/数字电子技本实等(2011)/电炎数电实验课件/可编程_交通灯/ain2/量aim口区OeMa00400Mainvhdlibraryiee顶层实体名称、文d_logio_1164.alluseieee.stAs件名、实体名必须1.Pnrclk,key:instd_logio一致,才能保证是4rl,gl,yl,r2,g2,y2:out std logie,2Avoice:out std logic对当前设计文件进num:outstd logic_vector(6downto0AD10catn:out std_logic_vector(3 downto行编译、适配和仿3end Main;Cagilatian-真图11VHDL设计文件的保存及注意事项2.3编译及其设置在对工程进行编译前,确定选的且标芯片是否跟实际的芯片型号一致,如果在建立工程时已经选择好了目标芯片,所以就不需要这一步过程了(见图7)。如果想重新选择,可以单击“Assignments”菜单下的“Device.”,打开始图12所示的对话框,重新选择目标芯片。ettinga-AssigimentsProcessing Iools HindoySclttheaeorddevico Device.FertCloneVPins- Tining Analysis Settings..EDA Tol Settings.ErtedruSettings..Ctrl+Shift+E图12FPGA/CPLD器件选择QuartusII的编译器由一系列处理模块构成,这些模块完成对设计项目的检错、逻辑综合、结构综合、输出结果的编译配置、时序分析等功能。在这个过程中将设计项目适配至FPGA/CPLD目标器中,同时产生各种输出文件编译报告,包括器件使用统计、编译设置、RTL级电路显示、器件资源利用率、状态机的实现、方程式、延时分析结构、CPU使用资源等。编译器首先从工程设计文件间的层次结构描述中提取信息,包括每个低层文件中的错误信息,供设计者排除。然后将这些层次构建产生一个结构化的以网表文件表达的电路原理图文件,并把各层次中所有的文件结合成一个数据包,以便更有效地处理。在编译前,设计者可以通过各种不同的设置,指导编译器使用各种不同的综合和适配技术,以便提高设计项目的工作速度,优化器件的资源利用率。在编译过程中及编译完成后,可以从编译报告窗口中获得所有相关的详细编译结果,以利于设计者及时调整设计方案。这里我们启动全程编译,可以选择“Processing”菜单下的“StartCompilation”项,也可以单击工具栏上的快捷方式按钮(图13所示)
2.3 编译及其设置 在对工程进行编译前,确定选择的目标芯片是否跟实际的芯片型号一致,如果在建立工 程时已经选择好了目标芯片,所以就不需要这一步过程了(见图 7)。如果想重新选择,可 以单击“Assignments”菜单下的“Device.”,打开始图 12 所示的对话框,重新选择目标 芯片。 Quartus II 的编译器由一系列处理模块构成,这些模块完成对设计项目的检错、逻辑 综合、结构综合、输出结果的编译配置、时序分析等功能。在这个过程中将设计项目适配到 FPGA/CPLD 目标器中,同时产生各种输出文件编译报告,包括器件使用统计、编译设置、RTL 级电路显示、器件资源利用率、状态机的实现、方程式、延时分析结构、CPU 使用资源等。 编译器首先从工程设计文件间的层次结构描述中提取信息,包括每个低层文件中的错误信 息,供设计者排除。然后将这些层次构建产生一个结构化的以网表文件表达的电路原理图文 件,并把各层次中所有的文件结合成一个数据包,以便更有效地处理。 在编译前,设计者可以通过各种不同的设置,指导编译器使用各种不同的综合和适配技 术,以便提高设计项目的工作速度,优化器件的资源利用率。在编译过程中及编译完成后, 可以从编译报告窗口中获得所有相关的详细编译结果,以利于设计者及时调整设计方案。 这里我们启动全程编译,可以选择“Processing”菜单下的“Start Compilation”项, 也可以单击工具栏上的快捷方式按钮(图 13 所示)。 顶层实体名称、文 件名、实体名必须 一致,才能保证是 对当前设计文件进 行编译、适配和仿 真 图 11 VHDL 设计文件的保存及注意事项 图 12 FPGA/CPLD 器件选择