QuartusII简明教程.docx
《QuartusII简明教程.docx》由会员分享,可在线阅读,更多相关《QuartusII简明教程.docx(21页珍藏版)》请在冰点文库上搜索。
QuartusII简明教程
QuartusII简明教程
Altera公司的QuartusII设计软件是用来进行SOPC(System-on-a-programmable-chip)设计的综合的设计环境。
本教程适用于QuartusII软件的新用户,介绍使用QuartusII软件的进行FPGA设计的基本方法。
需要注意,本教程并不是QuartusII软件的详尽的参考手册。
本教程包含的主要内容:
1、典型的FPGA设计流程;
2、开始
3、新建project
4、设计输入
5、编译
6、引脚分配
7、仿真
8、编程、配置FPGA器件
9、板级调试
1、
典型的FPGA设计流程
计算机辅助设计(ComputerAidedDesign,CAD)软件的使用使得使用可编程逻辑器件(ProgrammableLogicDevice,PLD)器件(比如FieldProgrammableGateArray,FPGA)进行数字逻辑电路设计变得非常容易。
使用CAD软件进行FPGA设计的典型流程如图1所示。
设计输入(DesignEntry):
采用什么样方法描述你的设计,比如原理图方式、硬件描述语言方式(HardwareDescriptionLanguage,HDL)等。
综合(Synthesis):
将高层次描述转换为低层次描述。
对于FPGA设计就是将设计转换成由FPGA器件所提供的基本单元(LogicElements,LE)所组成的电路。
功能仿真(FunctionalSimulation):
综合后的电路测试你的设计的正确性。
适配(Fitter):
时序分析和仿真(TimingAnalysisandSimulation):
编程和配置(ProgrammingandConfiguration):
图1FPGA设计的典型设计流程
QuartusII软件支持以上设计流程的所有阶段。
本教程介绍QuartusII软件的基本特征。
2、开始
在QuartusII软件中设计的每个电路或者子电路都叫做项目(Project)。
QuartusII软件每次只能打开一个Project,并且一个Project的所有信息都必须保存在同一个文件夹。
为了开始一个新逻辑电路的设计,首先第一步就是新建一个文件夹来保存此Project的文件。
为了保存本教程的设计项目Project,新建文件夹D:
\introtutorial。
本教程运行的例子是一个简单两路开关控制电路。
启动QuartusII软件,会打开如图2所示启动画面。
启动画面中包含了使用QuartusII软件所需要的几个窗口,用户可以通过鼠标在窗口中选择想要执行的功能。
QuartusII软件所提供的绝大多数命令都可以通过选择位于标题栏下面的一系列菜单命令来完成。
比如,在QuartusII软件的菜单File单击鼠标左键,打开如图3所示的文件菜单。
图2QuartusII启动画面
在弹出的File菜单上单击单击Exit菜单项,这样可以退出QuartusII软件。
一般情况下,无论任何时候使用鼠标选择时,都是使用鼠标左键。
因此,通常情况下我们不再明确指出使用鼠标的那个键。
少数情况下,当有必要使用鼠标右键时,我们才明确指出。
对于有些命令,需要按顺序访问几个菜单命令才可以。
本教程中使用符号Menu1>Menu2>Item表示使用鼠标左键先点击菜单Menu1,然后在弹出的菜单中鼠标左键点击Menu2项,然后在弹出的菜单中鼠标单击Item项。
例如,File许多的命令也可以通过鼠标点击工具栏上相应得图标来完成。
将鼠标放到工具栏上相应的图标上,与图标相对应的命令会显示出来。
1.1QuartusII在线帮助
QuartusII软件提供了大量的在线帮助文档,帮您解决在使用QuartusII软件过程中遇到的许多问题。
这些文档可以通过Help窗口中菜单访问。
图3文件菜单
3、新建Project
为开始一个新设计,必须先定义一个设计项目project。
QuartusII软件通过提供一个Wizard,使用户的设计任务变得非常简单。
为新建一个Project可按如下步骤执行:
1、选择File如果选中Don’tshowmethisintroductionagain。
那么在下一次在新建项目是可以不再显示本对话框。
点击Next按钮,显示图5所示对话框。
图4
图5
2、设定工作目录为introtutorial,当然如果你喜欢你也可以选择其它的文件夹作为工作目录。
Project项目必须有一个名字,而且项目名一般与设计的顶层模块名一致。
本教程中的Project名和顶层模块名都为light,如图5所示。
点击Next。
因为我们还没有建立文件夹introtutorial,QuartusII软件弹出如图6所示对话框,询问你是否新建introtutorial文件夹,点击Yes,这样会打开如图7所示窗口。
图6
图7
3、如果有些设计文件已经存在,你可以在这一步将文件加入到project中。
因为我们没有任何已经设计好的文件,点击Next,显示图8所示窗口。
4、我们必须项目选择一个器件以实现设计好的电路。
在器件Family中选择CycloneII。
QuartusII软件可以自动帮你从CycloneII系列中选择一个具体的器件,当然你也可以自己选择一个器件。
我们采用后一种方法。
从availabledevices列表中选择器件EP2C35F672C6作为目标器件,因为Altera公司的DE2开发板上用的FPGA用的就是这个器件。
点击Next,打开如图9所示对话框。
图8
5、用户可以指定你想使用的第三方的EDA工具。
电子电路设计中常用的一个名词就是EDA(ElectronicDesignAutomation)工具,EDA工具在QuartusII软件中主要指第三方工具,第三方工具就是指由Altera公司以外的一些其它公司开发的一些工具。
因为我们只使用QuartusII软件,我们不选择任何其它的工具,选择Next,如图10所示。
6、关于整个项目的一些设定会显示在如图10所示的对话框。
点击Finish按钮,返回到QuartusII主窗口。
但是在标题栏中显示的项目名称为light,如图11所示。
图9
图10
图11
4、使用Verilog作为设计输入
本教程使用一个两路Led灯控制电路,如图12所示。
本电路可以用两个开关x1和x2作为输入来控制一个LED灯。
开关的闭合代表逻辑值1。
电路的真值表在图12中一并给出。
注意到该电路实现的正好是输入x1和x2的异或功能,但是我们将使用该电路的门级描述。
图12
图13给出了12所示电路的Verilog描述。
注意到这个Verilog模块叫做light,正好与图5中所填写的项目顶层模块名相匹配。
这些代码可以使用任何的文本编辑器进行编辑并将其保存成ASCII文件,或者使用QuartusII软件的文本编辑工具。
文件可以保存成任意的名字,但一般的设计惯例是使用与顶层模块同样的名字。
文件的扩展名必须是.v,扩展名为.v表明它是Verilog文件,所以我们使用light.v作为文件名。
图13
4.1使用QuartusII文本编辑器
本节介绍如何使用QuartusII文本编辑器。
如果你使用其它的文本编辑器新建Verilog源代码,你可以跳过本节内容,并将其命名为light.v。
选择File>New弹出如图14所示对话框,选择VerilogHDL,点击OK。
这样会打开文本编辑器窗口。
首先需要为新建的Verilog文件指定一个文件名。
选择File>SaveAs打开如图15所示的对话框。
在Saveastype中选择VerilogHDLFile。
在Filename中填写light。
并且勾选Addfiletocurrentproject。
点击Save,这样会将该文件保存在introtutorial文件夹,同时打开TextEditor窗口。
图14
图15
图16
(在light.v标签上点击鼠标右键,弹出图窗口16-1所示,选择DetachWindow,弹出如图16-2所示文本编辑窗口,点击最大化按钮,最大化文件编辑器)
在TextEditor窗口输入图13所示的Verilog代码,点击File图16-1
图16-2
4.2在项目中加入设计文件
我们在图7中已经介绍过,可以通过勾选复选框的方法来指定哪个设计文件应该包括在项目中。
为了检查哪个文件包含在目前的项目中,选择Assignment>Settings,打开如图17所示对话框,在左侧的Category中选择File选项。
选择Project>Add/RemoveFiles也可以打开此对话框。
图17
如果你使用QuartusII文本编辑器新建Verilog文件,并且勾选了Addfiletocurrentproject复选框(按照前面的描述),那么light.v已经是project的一部分了,而且在图17中已经列了出来。
否则light.v必须被加入到该项目中。
所以如果你使用的不是QuartusII软件的文本编辑器,先拷贝light.v文件到introtutorial文件夹,然后在图17中,点击Filename按钮,弹出窗口如图18所示。
图18
选择light.v文件然后点击Open按钮。
弹出图18-1窗口,在图18-1窗口中点击Add按钮,弹出图17所示对话框。
点击OK按钮将light.v文件包含到该项目中。
(需要补充)
图18-1
5、编译
文件light.v中的Verilog代码被QuartusII软件的几个工具所处理,以分析代码的语法有无错误、综合并且产生针对特定目标器件的配置文件,这些工具由Quartus软件的编译器所控制。
通过选择Processing>StartCompilation,或者点击工具栏
图标。
随着编译过程的进行,QuartusII软件主窗口的左侧会显示编译的进度。
如编译成功会弹出对话框请求确认,如图19-1所示,点击OK,弹出如图19所示的窗口
图19-1
图19
在QuartusII窗口的底部的message窗口,会显示在编译过程中的各种信息。
如果编译过程中有错误出现,都会有相应的错误信息给出。
编译结束后,QuartusII软件会给出一个编译报告。
显示编译报告的窗口会自动显示,如图19所示。
窗口可以以正常的方式改变大小、最大化或者关闭,可以通过选择Processing>CompilationReport或者点击
图标随时打开CompilationReport。
6、引脚分配
以上编译过程中,QuartusII软件自由选择FPGA器件的引脚作为电路的输入和输出。
然而,DE2开发板上的FPGA与其它的器件已经连接好。
我们使用扳钮开关Switch,SW0和SW1作为我们的例子电路的外部输入x1和x2。
这两个开关分别被连接到FPGA的N25和N26引脚。
连接输出f到绿色的发光二极管LEDG0,LEDG0连接到FPGA的AE22引脚。
QuartusII软件的引脚分配通过AssignmentEditor完成。
选择Assignments>Pins打开如图24所示的
7、电路仿真
附录
限于作者水平
作者:
王建民
作者单位:
哈尔滨理工大学电子科学与技术系
修该时间:
2008年5月12日
版本:
0.1