《【精品】Verilog HDL数字系统设计——原理、实例及仿真第12章 Quartus Ⅱ功能及应用精品ppt课件.ppt》由会员分享,可在线阅读,更多相关《【精品】Verilog HDL数字系统设计——原理、实例及仿真第12章 Quartus Ⅱ功能及应用精品ppt课件.ppt(193页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、Verilog HDL数字系统设计原理、实例及仿真第12章 Quartus 功能及应用第12章 Quartus功能及应用2 2 2 212.1 Quartus软件简介及特点Quartus软件是Altera提供的完整的多平台设计环境,能够满足设计者特定的设计需要,可以完成FPGA/CPLD的开发与设计。Quartus提供了方便的设计输入方式、快速的编译和直接易懂的器件编程,能够支持百万门以上逻辑器件的开发,并且为第三方工具提供了无缝接口。Quartus软件的编程器是系统的核心,提供功能强大的设计处理,设计者可以添加特定的约束条件来提高芯片的利用率。第12章 Quartus功能及应用3 3 3 3
2、在设计流程的每一步,Quartus软件均能够引导设计者将注意力放在设计上,而不是软件的使用上。同时能够自动完成错误定位、错误和警告信息提示,使设计过程变得更加简单和快捷。第12章 Quartus功能及应用4 4 4 4Quartus软件主要具有以下特点:(1)支持多种输入方式,如原理图、模块图、HDL等。(2)易于引脚分配和时序约束。(3)内嵌SignalTap(逻辑分析仪)、功率估计器等高级工具。(4)支持市场主流的众多器件。(5)支持Windows、Solaris、Linux等操作系统。(6)支持第三方工具,如综合、仿真等工具的链接。第12章 Quartus功能及应用5 5 5 512.2
3、 Quartus软件开发流程Quartus软件开发的完整流程如图12.1所示。在实际的设计过程中,其中的一些步骤可以简化,简化后的Quartus设计流程如图12.2所示。本节将详细讲述Quartus软件开发流程的具体步骤。第12章 Quartus功能及应用6 6 6 6第12章 Quartus功能及应用7 7 7 7第12章 Quartus功能及应用8 8 8 812.2.1 设计输入1原理图输入原理图(Schematic)是使用“电路图”来描述设计的图形化表达形式。其特点是适合描述各部件的连接关系和接口关系。原理图输入的设计方法直观、易用,支撑它的是一个功能强大、分门别类的器件库,然而由于器
4、件库中元件的通用性差,导致其可重用性、可移植性较差。如需更换设计实现的芯片型号,整个原理图需要进行很大的修改甚至是全部重新设计。所以原理图设计常作为辅助的设计方式,它更多地应用于混合设计和个别模块设计。第12章 Quartus功能及应用9 9 9 92HDL文本输入HDL文本输入方式是利用HDL语言来对系统进行描述,然后通过EDA工具进行综合和仿真,最后变为目标文件后在ASIC或FPGA/CPLD上具体实现。这种设计方法是目前普遍采用的主流设计方法。第12章 Quartus功能及应用1010101012.2.2 综合综合(Synthesis)是将HDL语言、原理图等设计输入转换成由基本门电路(
5、与、或、非门等)及器件库提供的基本单元所组成的网表,并根据目标与要求(约束条件)优化所生成的逻辑连接,最后形成elf或vqm等标准格式的网表文件,供布局布线器进行实现。随着FPGA/CPLD复杂度的提高、硬件系统性能的要求越来越高,高级综合在设计流程中成为了重要部分,综合结果的优劣直接影响了布局布线的结果。好的综合工具能够使设计占用芯片的物理面积最小、工作效率最高。第12章 Quartus功能及应用11111111综合有以下几种表示形式:(1)算法表示、行为级描述转换到寄存器传输级(RTL),即从行为描述到结构描述,称为行为结构。(2)RTL级描述转换到逻辑门级(可包括触发器),成为逻辑综合。
6、(3)将逻辑门表示转换到版图表示,或转换到PLD器件的配置网表表示,称为版图综合或结构综合。根据版图信息进行ASIC生产,有了配置网表可在PLD器件上实现系统功能。第12章 Quartus功能及应用1212121212.2.3 布局布线Quartus软件中的布局布线(Fitter)是由“fitter”(适配)执行,其功能是使用Analysis&Synthesis生成的网表文件,将工程的逻辑和时序的要求与器件的可用资源相匹配。它将每个逻辑功能分配给最合适的逻辑单元进行布线,并选择相应的互连路径和引脚分配。如果在设计中执行了资源分配,则布局布线器将试图使这些资源与器件上的资源相匹配,努力满足用户设
7、置的其他约束条件并优化设计中的其余逻辑。如果没有对设计设置任何约束条件,布局布线器将自动对设计进行优化。Quartus软件中布局布线包含分析布局布线结果、优化布局布线、增量布局布线和通过反向标注分配等。第12章 Quartus功能及应用1313131312.2.4 仿真仿真(Simulation)的目的是在软件环境下,验证电路的设计结果是否和设想中的功能一致。在如图12.1所示的设计流程中,设计者在完成了设计输入、综合、布局布线后,需要验证设计的功能是否能够实现以及各部分的时序配合是否准确。如果存在问题则可以对设计进行修改,从而避免逻辑错误。高级的仿真软件还可以对整个系统设计的性能进行估计。规
8、模越大的设计,越需要进行仿真。常用的第三方仿真工具包括Mentor Graphics公司的ModelSim、Synopsys公司的VCS、Cadence公司的NC-SIM等软件。目前比较流行的仿真工具是ModelSim,本书将在第13章详细讲解ModelSim的使用。第12章 Quartus功能及应用1414141412.2.5 编译和配置将成功编译、仿真后的编程文件下载到可编程器件的过程称为配置。在配置前,首先需将下载电缆、硬件开发板和电源准备好,然后设置配置选项,对可编程器件进行配置。第12章 Quartus功能及应用1515151512.2.6 调试编译、仿真、器件配置与编程结束后,设计
9、者需要对所做的设计进行整体或局部模块的调试。Quartus软件中主要的调试工具是SingnalTap Logic Analyzer(嵌入式逻辑分析仪)和SignalProbe(信号探针)。第12章 Quartus功能及应用1616161612.2.7 系统级设计系统级设计是指Quartus软件支持SOPC Builder和DSP Builder系统级设计流程。Quartus与SOPC Builder一起为建立的SOPC提供标准化的设计环境,其中SOPC由CPU、存储器接口、标准外围设备和用户自定义的外围设备等组成。SOPC Builder允许用户选择系统组件和自定义组件,它可以将这些组件组合并
10、生成对这些组件进行实例化的系统模块,同时自动生成必要的总线逻辑。DSP Builder是帮助用户在易于算法应用的开发环境中建立DSP设计的硬件表,从而缩短DSP的设计周期。第12章 Quartus功能及应用1717171712.3 Quartus软件的使用本书中使用的Quartus软件的版本为Quartus 8.1(32bit)。下面以1bit半加器的实现为例,通过其实现流程详细介绍Quartus软件的主要功能和使用方法。加法器是构成算术运算器的基本单元,1bit半加器是指不考虑来自低位的进位,而将两个1位的二进制数直接相加。本实例设计1bit半加器模块adder,其真值表如表12.1所示。a
11、dder模块的外部接口如图12.3所示,输入分别为a、b,进位输出和结果分别定义为cout、sum,声明为wire数据类型。第12章 Quartus功能及应用18181818第12章 Quartus功能及应用19191919图12.3 1bit半加器adder第12章 Quartus功能及应用2020202012.3.1 创建Quartus工程创建Quartus工程的具体操作步骤如下:(1)打开Quartus软件,显示主界面,如图12.4所示。(2)选择菜单栏FileNew Project Wizard命令,如图12.5所示,启动工程建立向导。第12章 Quartus功能及应用21212121
12、图12.4 Quartu主界面 第12章 Quartus功能及应用22222222图12.5 建立工程第12章 Quartus功能及应用23232323(3)利用Quartus提供的新建工程向导可以方便地建立一个工程。在弹出的如图12.6所示的新建工程向导窗口中直接点击Next按钮,弹出图12.7所示的对话框。第12章 Quartus功能及应用24242424图12.6 新建工程向导第12章 Quartus功能及应用25252525图12.7 选择工程路径、工程名及顶层模块名第12章 Quartus功能及应用26262626 先创建一个文件夹。在硬盘中创建一个用于保存下一步工作中要产生的工程项
13、目的文件夹。注意:文件夹的命名及其保存的路径中不能有中文字符和空格。在如图12.7所示的窗口中,第一个空白处需填入建立的工程路径,为便于管理,Quartus软件要求每一个工程项目及其相关文件都统一存储在单独的文件夹中;在第二个空白处需填入建立的工程名称;在第三个空白处填入的是工程的顶层设计文件名称,建议顶层设计文件名称和建立的工程名称保持一致。完成上面的设置后按Next按钮,自动弹出如图12.8所示的对话框。第12章 Quartus功能及应用27272727图12.8 添加设计文件第12章 Quartus功能及应用28282828(4)在图12.8中将已有的设计文件添加到工程中,可以选择其他已
14、存在的设计文件加入到这个工程中,也可以使用User Library按钮把用户自定义的库函数加入到工程中使用。完成后按Next按钮,弹出图12.9所示的窗口。第12章 Quartus功能及应用29292929图12.9 选择器件、封装及速度级别第12章 Quartus功能及应用30303030(5)在图12.9所示窗口中进行器件选择,可以选择器件的系列、封装形式、引脚数目以及速度级别来约束可选器件的范围。本例中,在Family一栏选择“Cyclone”,在Target device一栏选择“Specific device selected in Available deviceslist”,在A
15、vailable devices一栏选择“EP1C3T144C6”。操作完成后按Next按钮,弹出如图12.10所示界面。第12章 Quartus功能及应用31313131图12.10 选择EDA综合、仿真、时序分析工具第12章 Quartus功能及应用32323232(6)在图12.10所示界面中可以为新建立的工程指定第三方的综合工具、仿真工具、时序分析工具。在本设计中使用默认设置。完成后按Next按钮进入下一步。(7)单击Finish按钮,在如图12.11所示的工程设置信息窗口中显示了工程的全部设置。第12章 Quartus功能及应用33333333图12.11 工程设置信息第12章 Qu
16、artus功能及应用3434343412.3.2 设计输入1基于原理图的设计输入与以半加器为例,介绍基于原理图输入方式的Quartus软件开发的具体流程。(1)建立Block Diagram/Schematic File。执行主窗口的FileNew菜单命令,在如图12.12所示的窗口中选择Block Diagram/Schematic File,然后单击OK按钮。此时工作区中打开空白的图纸Block1.dbf文件,并在图纸左侧自动打开如图12.13所示的绘图工具栏。开始设计“半加器”模块,其所需要做的是绘制一张“电路图”。第12章 Quartus功能及应用35353535图12.12 建立原理
17、图输入文件第12章 Quartus功能及应用36363636图12.13 原理图编辑窗口第12章 Quartus功能及应用37373737(2)放置元器件。双击图12.13中原理图编辑窗口的任意空白处,弹出图12.14所示的对话框,在Name处填写设计原理图所需的元器件名称,这里填入and2,则右侧同时给出该器件的预览,点击OK按钮确认后返回原理图编辑窗口,在合适的位置点击鼠标左键即可放置and2。当选择的元器件处于选中状态时边框呈蓝色,此时可对该元器件进行命名、复制、删除等操作。用同样的方法,可添加其他需要的元器件或I/O接口,如电源(VCC)、地(GND)、输入引脚(INPUT)和输出引脚
18、(OUTPUT)等。第12章 Quartus功能及应用38383838输入元器件的另一种方法是拖动图12.14所示的Libraries窗口右边的滑动条,按层次展开器件库,从中选择所需的元器件。此库中提供了各种逻辑功能符号,包括图元(primitives)、宏功能(megafunctions)、others等。图元库中主要包括基本逻辑单元库,如各种门电路、缓冲器、触发器、引脚、电源和地。第12章 Quartus功能及应用39393939图12.14 输入元器件第12章 Quartus功能及应用40404040(3)连线。添加所需元件后,还需要为电路的输入、输出信号分别添加INPUT和OUTPUT
19、引脚。将各元件按照电路图进行连接,连接时只要将鼠标放到元件的引脚上,鼠标会自动变成“十”形状。按左键拖动鼠标,就会有导线引出。根据要实现的逻辑,连好每个元件的引脚。(4)命名输入、输出引脚。在半加器的原理图中双击INPUT端口的默认引脚“pin_name”,弹出如图12.15所示对话框,修改引脚名为a,然后依次将pin_name2、pin_name3、pin_name4命名为b、sum、cout。最终完成的原理图如图12.16所示,其中引脚a、b为输入,sum为相加结果,cout为进位输出。第12章 Quartus功能及应用41414141图12.15 引脚属性对话框第12章 Quartus功
20、能及应用42424242图12.16 半加器的原理图第12章 Quartus功能及应用434343432基于Verilog HDL语言的文本输入下面仍以半加器为例,讲解基于Verilog HDL文本输入的Quartus软件开发的具体流程。(1)建立Verilog HDL File。执行主窗口的FileNew菜单命令,在Design Files下选择Verilog HDL File选项,点击OK按钮。(2)输入源代码。在文本的编辑窗口中输入半加器的源代码,具体见代码12.1。第12章 Quartus功能及应用44444444第12章 Quartus功能及应用45454545(3)创建模块。执行主
21、窗口的FileCreate/UpdateCreate Symbol Files for Current File菜单命令,便可创建当前设计文件的模块,可供下一次的设计直接调用。本例中创建的模块如图12.17所示。第12章 Quartus功能及应用46464646图12.17 由Verilog HDL File创建的半加器模块第12章 Quartus功能及应用4747474712.3.3 工程配置及时序约束1器件的选择执行AssignmentsDevice菜单命令,如图12.18所示,打开如图12.19所示的器件选择设置对话框,从中可选用工程所需要的、Quartus软件所支持的元器件种类。除了选
22、择器件的型号,还需选择“Device and Pin Options”选项,打开如图12.20所示的器件配置对话框。在Configuration选项卡中选择配置器件,如EPCS4;在Unused Pins选项卡中可以设置未使用引脚的工作状态,如设置成输入三态,如图12.21所示。第12章 Quartus功能及应用48484848图12.18 选择器件第12章 Quartus功能及应用49494949图12.19 器件选择设置第12章 Quartus功能及应用50505050图12.20 器件配置第12章 Quartus功能及应用51515151图12.21 未使用的引脚设置第12章 Quart
23、us功能及应用525252522引脚分配在选择器件后,为了能对“半加器”进行硬件测试,应将其输入、输出信号锁定在芯片确定的引脚上,以便编译后下载。执行AssignmentPins菜单命令,启动Pin Planner工具,如图12.22所示。Pin Planner是分配引脚的工具,它包括了器件的封装视图,以不同的颜色和符号表示不同类型的引脚,并以其他符号表示I/O块。引脚规划器使用的符号与器件数据手册中的符号非常相似,它还包括已分配和未分配引脚的列表。图中所示的Pin Planner窗口,默认状态下显示All Pins列表、Groups引脚分配组、器件封装视图和工具栏。第12章 Quartus功
24、能及应用53535353图12.22 Pin Planner界面第12章 Quartus功能及应用54545454图12.22中,在Pin Planner界面单击右键,可以选择在器件封装视图中显示指定特性的引脚、显示器件的总资源、查找引脚等功能。将鼠标放于某个引脚的上方,会自动弹出该引脚属性的标签,双击该引脚打开引脚的属性窗口可以对其进行分配,选择后需在Reserved组合列表框中设置引脚的工作状态,如图12.23所示。第12章 Quartus功能及应用55555555图12.23 引脚属性第12章 Quartus功能及应用56565656引脚分配的另外一种方法是在主窗口中执行Assignme
25、ntsAssignment Editor菜单命令,在Category中选择Pin,如图12.24所示。双击To栏选择输入需要分配的引脚a,再双击Location打开下拉菜单,选择芯片的引脚。如图12.25所示,将芯片的I/O Bank1 RowI/O类型的引脚PIN_27分配给半加器的引脚a。以同样的方法给b、cout、sum进行引脚分配。第12章 Quartus功能及应用57575757图12.24 Assignment Editors界面第12章 Quartus功能及应用58585858图12.25 引脚分配第12章 Quartus功能及应用595959593时序约束分配引脚后,在执行编译
26、前,可以利用菜单栏中AssignmentsSettingsTiming Analysis Settings和Assignment Editor两种方法对系统信号的时序特性进行设置。Timing Analysis Settings为传统时序分析模式,一般从全局设置Timing属性,如图12.26所示,可设置选项包括时钟约束、延时要求、最小延时要求等。第12章 Quartus功能及应用60606060图12.26 时序约束界面第12章 Quartus功能及应用61616161利用Assignment Editor方法进行时序约束时,可以对个别实体、节点和引脚进行个别时序分配。Assignment
27、Editor支持点到点的时序分配,即在Assignment Editor界面的Category栏中选择Timing。例如,本例中时序约束要求从输入信号引脚a到输出信号引脚tpd为10ns,具体步骤为:首先在Assignment Editor界面的Category栏中选择Timing中的tpd,再在From栏中双击打开Node Finder,如图12.27所示。在Node Finder界面中选择引脚a,如图12.28所示。以同样的方法双击To栏,选择引脚cout,Value中的约束值填写为10ns,如图12.29所示。此选择表示引脚a到引脚cout可接受的最少延时为10ns。第12章 Quart
28、us功能及应用62626262图12.27 Assignment Editor新建时序约束窗口第12章 Quartus功能及应用63636363图12.28 打开Node Finder选择引脚a第12章 Quartus功能及应用64646464图12.29 设置点到点的时序约束第12章 Quartus功能及应用6565656512.3.4 编译1编译编译分为完整编译和不完整编译。不完整编译包括编译设计文件和综合产生门级代码,编译器只运行到综合这步就停止,只产生估算的延时数值。完整编译包括Analysis&Synthesis、Fitter、Assembler和Timing Analyzer四个主
29、要过程的连续执行。第12章 Quartus功能及应用66666666编译可在主界面的工具栏中点击进行编译,或者执行ProcessingCompiler Tool菜单命令启动编译窗口,然后点击Start按钮进行编译。本实例“半加器”的编译过程如图12.30所示。若顺利通过编译,主界面下方的Messages框中系统提示“Quartus II Full Compilation was successful”,并给出如图12.31所示的编译报告。第12章 Quartus功能及应用67676767图12.30 Compiler Tool界面第12章 Quartus功能及应用68686868图12.31
30、编译报告第12章 Quartus功能及应用696969692RTL视图分析RTL视图分析是指在综合或全编译以后,设计者可以打开综合后的原理图以分析综合结果是否与所设想的设计一致。执行ToolsNetlist ViewersRTL Viewer菜单命令打开RTL视图,本实例的RTL级综合结果如图12.32所示。图中左侧列表项表示adder模块的元件、输入输出和连线情况。第12章 Quartus功能及应用70707070图12.32 RTL视图第12章 Quartus功能及应用7171717112.3.5 功能仿真1建立矢量波形文件在进行仿真之前,必须为仿真器提供测试激励,这个测试激励被保存在矢量
31、波形文件中。(1)打开波形编辑器。在主菜单中执行FileNew命令,在弹出的New对话框中选择“Vector Waveform File”。波形编辑器如图12.33所示,该窗口分为左右两部分。左边是信号窗口,显示用于仿真的输入和输出信号的名称及信号在标定时刻的状态取值;右边是波形窗口,是对应信号的波形图。最左侧为波形编辑工具栏。第12章 Quartus功能及应用72727272图12.33 波形编辑窗口第12章 Quartus功能及应用73737373(2)输入信号节点。在如图12.33所示的信号窗口的空白处双击鼠标左键,弹出如图12.34所示的Insert Node or Bus窗口。或者在
32、主窗口的菜单栏中执行EditInsertInsert Node or Bus命令,同样也可以打开Insert Node or Bus窗口。在此窗口中单击Node Finder按钮。第12章 Quartus功能及应用74747474图12.34 Insert Node or Bus窗口第12章 Quartus功能及应用75757575在如图12.35所示的Node Finder窗口中,在信号类型栏中选择“Pins:all”,再点击List按钮。其中左侧为待选信号窗口,列出了设计项目所有输入、输出引脚,本例中的输入、输出引脚为a、b、cout、sum;右侧为已选信号窗口,可在左侧的待选信号窗口选择
33、功能测试所需的输入和输出信号,然后点击中间的按钮将所需仿真的信号加至右侧列表。若需要将所有输入、输出信号加至右侧列表,则直接点击中间的按钮。选择完成后,点击OK按钮,返回图12.34所示的Insert Node or Bus窗口,再次点击OK按钮,则返回到波形编辑窗口。如图12.36所示是添加仿真信号后的波形编辑窗口。第12章 Quartus功能及应用76767676图12.35 Node Finder窗口第12章 Quartus功能及应用77777777图12.36 添加了信号的波形编辑窗口第12章 Quartus功能及应用78787878(3)设置激励信号。常用的信号包括时钟信号clk、清
34、零信号clr、输入波形信号等。图12.37所示工具条可以方便地输入信号波形进行设置。第12章 Quartus功能及应用79797979图12.37 波形赋值的工具条第12章 Quartus功能及应用80808080点击时钟信号生成按钮,弹出如图12.38所示的 Clock信号设置窗口,在此窗口中可以设置时钟信号的时间长度、周期、相位、占空比。如果设定清零信号clr高电平有效,则在clr的波形图上先用鼠标左键点击选中一小段,再点击低电平按钮,然后选中clr波形其他段,点击高电平按钮,或者点击波形翻转按钮。利用图12.37所示的各种波形赋值的快捷键可以编辑输入信号的波形。信号数据显示时的格式可以在
35、图12.39中进行选择。第12章 Quartus功能及应用81818181图12.38 Clock信号设置窗口 第12章 Quartus功能及应用82828282 图12.39 数据格式设置 第12章 Quartus功能及应用83838383(4)保存矢量波形文件。激励波形设置完成后,单击主窗口的保存按钮,并对输入波形文件命名后,就将其保存在工程文件夹中。第12章 Quartus功能及应用848484842仿真在主窗口中,执行AssignmentsSettings菜单命令,在弹出的窗口的Category类别中选择Simulator Settings,弹出如图12.40所示窗口。在其中的Simu
36、lation mode下拉菜单中选择Functional,表示“功能仿真”。或者在菜单栏执行ProcessingSimulator Tool命令,打开图12.41所示的Simulator Tool窗口,同样可以设置仿真模式。选择Functional功能仿真后,在仿真输入中添加激励文件。第12章 Quartus功能及应用85858585本例中添加“add.vwf”波形文件,点击“Generate Functional Simulation Netlist”命令,生成功能仿真的网表文件。注意选择“Overwrite simulation input file with simulation res
37、ults”项,这样就会在“add.vwf”波形文件中写入仿真后的输出波形。仿真参数设置完毕,可点击Start按钮执行仿真,同时在仿真过程中显示仿真进度和处理时间。在仿真过程中,可点击Stop按钮随时中止仿真过程。仿真结束后,可点击Open或Report按钮观察仿真输出波形。第12章 Quartus功能及应用86868686图12.40 仿真器参数的设置 第12章 Quartus功能及应用87878787图12.41 Simulator Tool窗口第12章 Quartus功能及应用88888888仿真顺利完成后,系统会弹出对话框“Simulator was successful”。功能仿真的结
38、果如图12.42所示。第12章 Quartus功能及应用89898989图12.42 功能仿真结果第12章 Quartus功能及应用9090909012.3.6 时序仿真功能仿真正确后,可以加入延时模型进行时序仿真。在菜单栏执行ProcessingSimulator Tool命令,打开图12.41所示的Simulator Tool窗口,设置仿真模式。选择“Timing”时序仿真后,在仿真输入中添加激励文件。仿真参数设置完毕,可点击Start按钮执行仿真。时序仿真的结果如图12.43所示,与图12.42比较,可以明显地看到输出波形的延时及毛刺。第12章 Quartus功能及应用91919191图
39、12.43 时序仿真结果第12章 Quartus功能及应用9292929212.3.7 器件编程和配置1配置文件首先将实验开发板和PC通过通信线连接好,打开电源。本实验使用的是ByteBlaster并口下载电缆。其次,执行主窗口的ToolsProgrammer菜单命令,启动如图12.44所示的下载窗口。图中的Mode栏有4种编程模式可以选择,即JTAG、In-Socket Programming、Passive Serial、Active Serial Programming,此处选择默认的JTAG模式,注意核对下载的文件名。若需要下载的文件没有出现,则需要在左侧单击Add File按钮,手动
40、选择12.3.1节的半加器,编译成功后会产生adder.sof文件。选择好文件后,注意勾选“Program/Configure”项。第12章 Quartus功能及应用93939393图12.44 JATG编程窗口第12章 Quartus功能及应用94949494JTAG模式和主动串行编程模式是Quartus软件的Programmer 编程器最常用的模式。如果是将设计下载至配置芯片上,则需要选择Mode为Active Serial Programming,单击Add File按钮,手动添加adder.pof文件,如图12.45所示,注意勾选“Program/Configure”项。第12章 Qu
41、artus功能及应用95959595图12.45 Active Serial Programming编程窗口第12章 Quartus功能及应用969696962设置编程器在图12.44中,点击“Hardware Setup”选择实验所使用的下载电缆类型,如图12.46所示。在“Available hardware items”项中选中“ByteBlasterLPT1”,然后点击Close按钮,回到图12.44所示的界面,点击Start按钮,即可对实验开发板的FPGA器件进行下载。第12章 Quartus功能及应用97979797图12.46 编程硬件设置第12章 Quartus功能及应用989
42、89898当“Progress”显示下载进度为100%,Quartus软件的底部信息显示栏显示“Configuration Succeeded”时,表示编程成功,如图12.47所示。成功下载后,可以通过实验开发板观察半加器的工作情况。第12章 Quartus功能及应用99999999图12.47 编程下载成功第12章 Quartus功能及应用10010010010012.4 LPM宏功能模块与IP核的应用IP(Intellectual Property)即常说的知识产权,是指一些封装好的、经过验证的、成熟高效的设计代码。美国Dataquest咨询公司将半导体产业的IP定义为用于ASIC、ASS
43、P、PLD等芯片当中的预先设计好的电路功能模块。对于一个面向市场和实际工程应用的系统设计来说,开发效率和开发周期是非常重要的。但随着数字系统设计的越来越复杂,如果将系统中的每个模块都从头开始设计则工作量是十分繁重的。因此设计者在自己的系统设计中,可以使用经过严格测试和优化过的IP,从而简化设计流程,提高设计质量,降低开发成本,加速开发效率。第12章 Quartus功能及应用10110110110112.4.1 宏功能模块概述Altera 公司的LPM宏功能模块属于IP的一种,其中包括可参数化的LPM宏功能模块和LPM函数。所有LPM宏功能模块经严格的测试和优化,可以在Altera专用器件结构中
44、发挥出最佳性能。使用LPM宏功能模块,能够减少设计和测试时间。第12章 Quartus功能及应用1021021021021宏功能模块所包含的内容(1)算术组件:包括累加器、加法器、乘法器和LPM算术函数。(2)门电路:包括多路复用器和LPM门函数。(3)DSP块:包括信号发生器(Signal Generation)、音频视频处理(Video and Image Processing)等模块。(4)I/O组件:包括锁相环(PLL)、千兆位收发器块(GXB)、LVDS接收器和发送器、PLL重新配置(PLL_RECONFIG)和远程更新(REMOTE_UPDATE)等宏功能模块。(5)存储器编译器:
45、包括FIFO Partitional、RAM和ROM宏功能模块。(6)存储组件:包括存储器、移位寄存器和LPM存储器函数。第12章 Quartus功能及应用1031031031032宏功能模块的使用方法(1)通过Quartus软件的IP工具MegaWizard Plug-In Manager建立或修改包含自定义宏功能模块变量的设计文件,封装后在用户的设计代码中调用该封装文件。(2)在Quartus软件中对宏功能模块进行实例化。对宏功能模块进行实例化的途径包括在原理图编辑窗口中直接实例化、在HDL代码中通过端口和参数定义方法实例化等途径。第12章 Quartus功能及应用104104104104
46、12.4.2 宏功能模块的应用使用基本宏功能模块设计项目的步骤如下:(1)建立工程;(2)使用MegaWizard Plug-In Manager工具定制宏功能模块;(3)在设计中实例化定制的宏功能模块;(4)继续完成设计的其他部分;(5)编译及布局布线;(6)仿真;(7)时序分析。第12章 Quartus功能及应用1051051051051建立工程(1)执行菜单栏的FileNew Project Wizard命令新建立一个project,本例中建立的工程路径为“E:/mult”,工程名称为“mult”。建立工程的其他操作见12.3.1节的内容。(2)工程建立后,执行FileNew命令,选择B
47、lock Diagram/Schematic File建立名为Block1.bdf的顶层设计文件。第12章 Quartus功能及应用1061061061062使用MegaWizard Plug-In Manager工具(1)在生成的Block1.bdf的顶层设计文件的原理图编辑窗口的任意空白处双击鼠标左键,打开如图12.48所示的输入元器件窗口,点击MegaWizard Plug-In Manager按钮打开MegaWizard Plug-In Manager窗口,如图12.49所示。第12章 Quartus功能及应用107107107107图12.48 输入元器件窗口第12章 Quartus
48、功能及应用108108108108图12.49 创建新的宏功能模块第12章 Quartus功能及应用109109109109(2)在图12.49中选择创建新的宏功能模块,然后单击Next按钮,弹出如图12.50所示的窗口,在左侧栏中选择“Arithmetic”项下的“LPM_MULT”,再选择器件和输出文件的HDL语言。本例中选择Cyclone器件和Verilog HDL。本例中乘法器的名称为mymult,存放的路径为“E:mult”。第12章 Quartus功能及应用110110110110图12.50 选择乘法器宏功能模块 第12章 Quartus功能及应用111111111111(3)点
49、击Next按钮,弹出如图12.51所示的窗口,可设置数据线位宽。本例中乘法器的两输入端dataa和datab的位宽都为8位,其他使用默认设置。第12章 Quartus功能及应用112112112112图12.51 设置乘法器的数据线位宽第12章 Quartus功能及应用113113113113(4)点击Next按钮后,弹出如图12.52所示的窗口,可进行乘法器的其他选项设置,包括datab输入端是否设置为固定值、乘法器类型和使用资源等,本例中都选用默认设置。第12章 Quartus功能及应用114114114114图12.52 乘法器的参数设置第12章 Quartus功能及应用11511511
50、5115(5)点击Next按钮,弹出如图12.53所示的窗口,可进行时钟信号、使能信号的设置及优化方式的选择。本例中选择“Yes,I want an output latency of 1 clock cycles”添加时钟控制信号clock,并选择“Create an asynchronous Clear input”添加异步清零信号aclr,其他使用默认设置。第12章 Quartus功能及应用116116116116图12.53 乘法器的时钟信号、使能信号设置第12章 Quartus功能及应用117117117117(6)在按照以上提示顺序完成设置后,进入图12.54所示界面,这里显示为定