《基于Quartus的FPGACPLD数字系统设计教学课件PPT》由会员分享,可在线阅读,更多相关《基于Quartus的FPGACPLD数字系统设计教学课件PPT(47页珍藏版)》请在金锄头文库上搜索。
1、5.1 Quartus概述5.2 Quartus工程的创建与管理5.3 设计输入 5.4 编译处理 5.5 仿真测试5.6 分配引脚与芯片5.7 编程与配置5.8 实例,5 基于Quartus的FPGA/CPLD数字系统设计,5.1 Quartus概述,5.1.1 Quartus II及其特点 5.1.2 Quartus II软件的开发流程,Quartus II软件是Altera的综合开发工具,它集成了Altera公司的FPGA/CPLD开发流程中所涉及的所有工具和第三方软件接口。通过使用此综合开发工具,设计者可以创建、组织和管理自己的设计。 Quartus II具有如下特点: 支持多时钟定时
2、分析、基于块的设计、SOPC(单芯片可编程系统)、内嵌SignalTap II逻辑分析器、功率估计器等高级工具; 易于管脚分配和时序约束; 强大的HDL综合能力; 包含MAXPLUS II的GUI,且易于MAXPLUS II的工程平稳地过渡到Quartus II开发环境; 支持的器件种类众多; 第三方工具如综合、仿真等的链接。,5.1.1 Quartus II及其特点,Quartus II开发工具支持的Altera公司主流FPGA全部系列,器件支持如表5.1-1所示。,Quartus II软件中的工程由所有设计文件和与设计文件有关的设置组成。 设计文件输入方式: 原理图输入方式; 文本输入方式
3、; 模块输入方式; EDA设计输入工具等 这一步主要是建立源文件并形成顶层原理图文件。,(1)设计输入,5.1.2 Quartus II软件的开发流程,(2)设计编译 检查设计错误、对逻辑进行综合、提取定时信息、在指定的Altera系列器件中进行适配分割,产生的输出文件将用于设计仿真、定时分析及器件编程。 编译功能是通过几个模块来实现: 分析与综合模块(Analysis & Synthesis); 适配模块(Fitter); 汇编模块(Assember); 定时分析模块(Timing Analyzer)。各个子模块还可以独立调用。,(3) 设计仿真,设计仿真包括功能仿真分析和时序分析。1、功能
4、仿真: 测试设计的逻辑功能是否正确;2、时序仿真: 在目标器件中测试设计的逻辑功能和最坏情况下的时序; 时序仿真(延时仿真),由于不同器件、不同布局布线给延时造成的影响不同,因此对系统进行时序仿真、检验设计性能以及消除竞争冒险是必不可少的步骤。,Quartus II编程器(Programmer)使用编译环节生成的编程文件与Altera编程硬件一起对器件进行编程和配置。 Altera公司的编程器硬件包括MasterBlaster、ByteBlaster -MV、ByteBlaster II、USB Blaster和Ethernet Blaster五种下载电缆或Altera编程单元APU方式。 Q
5、uartus II软件编程器支持四种编程模式:被动串行(PS)编程模式、JTAG编程模式、主动串行(AS)编程模式和套接字内编程模式。,(4)器件编程,5.2 Quartus工程的创建与管理,5.2.1 Quartus II工程的创建 5.2.2 Quartus II工程的管理 5.2.3 Quartus II文件的管理,5.2.1 Quartus II工程的创建,任何一项设计都是一项工程(Project);必须为此工程建立一个放置此工程相关文件的文件夹;此文件夹将被EDA软件默认为工作库(Work Libraly)。,打开Quartus II集成开发环境,选择File/New Project
6、 Wizard,弹出New Project Wizard对话框,在该对话框中依次指定工程目录、工程名和顶层文件名,注意:工程名和顶层设计名必须相同,下面只要一直按照次序单击“Next”按钮,直到单击到“Finish”按钮,一个工程就建立成功了。,5.2.2 Quartus II工程的管理,启动Quartus II后,点击File/Open Project,下拉“查找范围”栏,查找工程所在的路径和目录,选择工程目录下显示的工程文件(*.qpf),点击“打开”按钮或双击图标,打开工程。也可在工程目录中直接双击工程文件图标打开工程文件。 注意:初学者会因习惯于计算机视窗平台的操作,在进入Quartu
7、s II后直接采用命令File/Open,打开设计文件。由于工程尚未打开,Quartus II所有的处理功能,包括分析综合、编译、仿真、下载等操作全部被禁止,相应的命令和快捷键都呈灰色,不能激活。,(1)打开一个已经创建的工程,(2)项目导航管理,一个Quartus II的工程可能包括多个设计文件,但只能由一个顶层设计文件(Top file),其他下层文件与顶层文件呈树形关系;Quartus II的所有处理操作(包括分析综合、编译、仿真)都面向顶层文件;项目导航器(Project Navigator): 导航窗口下方有3个可以互相切换的标签,分别表示层次(Hierarchy)、文件(Files
8、)和设计单元(Design Units)。修改文件层次:由于Quartus II的所有处理操作,包括分析综合、编译、仿真等都是面向顶层文件的,当需要对某个底层文件进行处理时,需要将该文件暂时设置为顶层文件。设置方法是:选择项目导航器下方栏中的文件(Files)标签,列出所有文件的层次关系。选中需要处理的文件名,点击鼠标右键,在弹出的菜单中选择“Set as Top-Level Entity”。,5.2.3 Quartus II文件的管理,(1)新建文件,点击新建文件快捷图标或主菜单Files/New命令,出现如图5.2-7所示的新文件类型选择框,点击选项框上方的类型标签可切换新建文件的类型,选
9、择不同的文件格式。,(2)文件格式说明,表5.2-1 源文件输入方式和对应的文件格式(扩展名),5.3 设计输入,5.3.1 原理图设计输入 5.3.2 文本文件输入 5.3.3 宏功能模块的实例化,5.3.1 原理图设计输入,选择File/New命令,弹出一个新建设计文件选择对话框。创建图形设计文件,选择New对话框中的Design Files选项卡下的Block Diagram/Schematic File,单击OK按钮,弹出原理图编辑对话框。,原理图设计输入内容包括: 基本单元符号的输入 ; 图形块输入 ; 建立完整的原理图文件。,5.3.2 文本文件输入,文本编辑器是Quartus I
10、I软件的一个非常灵活的编辑工具;可以方便地用于以AHDL、VHDL和Verilog HDL语言形式以及Tcl脚本语言输入文本型设计;还可以在该文本编辑器下输入、编辑和查看那其他ASCII文本文件。,5.3.3 宏功能模块的实例化,借助于Mega Wizard Plug-in Manager工具来实现;可以建立或修改包含自定义宏功能模块变量的设计文件,然后还可以在设计文件中对这些文件进行例化;在这些自定义宏功能模块中的变量都是基于Altera公司提供的宏功能模块,包括LPM、MegaCore和AMPP功能;通过运行一个Mega Wizard Plug-in Manager向导,可以帮助我们轻松地
11、为自定义攻功能模块变量指定选项;该向导用于为相关参数和可选端口设置数值。,5.4.1 编译前设置 5.4.2 启动编译器 5.4.3 编译及其结果说明,5.4 编译处理,通过编译器选项设置可以控制编译过程。打开Assignment/Settings对话框,如图5.4-1所示。,5.4.1 编译前设置,设置项目包括: Device设置 Compilation Process设置 Analysis & Synthesis设置 Fitter设置,5. 4.2 启动编译器,Quartus II编译器包括多个独立的模块,这些模块完成对设计项目的检错、逻辑综合、结构综合、输出结果的编译配置、时序分析等功能
12、。各模块可以单独运行,也可以选择Processing/Start compilation命令启动全编译过程。,编译的步骤如下: 选择Process/Start compilation命令,或单击工具栏上的快捷按钮启动全编译过程。在编译过程中,状态窗口和消息窗口自动显示出来。状态窗口将显示全编译过程中各个模块和整个编译进程的进度以及所用的时间;在消息窗口中将显示编译过程中的信息,包括警告、错误。 在编译过程中,如果出现设计上的错误,可以在消息窗口中选择错误信息,双击错误信息,就可以在设计文件中定位错误信息所在处。这样不断修改错误直到全部编译成功。 查看编译结果。编译成功后,编译报告会自动弹出来。
13、编译报告给出了当前编译过程中各个功能模块的详细信息。,在编译过程中将设计项目适配到FPGA/CPLD目标器重,同时产生各种输出文件编译报告,包括器件使用统计、编译设置、RTL级电路显示、器件资源利用率、状态机的实现、方程式、延时分析结构、CPU使用资源等;,5.4.3 编译及其结果说明,5.5.1 创建一个仿真波形文件 5.5.2 在矢量波形文件中加入输入、输出结点 5.5.3 编辑输入节点波形 5.5.4 设计仿真 5.5.5 仿真结果分析,5.5 仿真测试,可以利用Quartus II软件波形编辑器创建矢量波形文件,该文件是波形图的形式,用于描述仿真输入矢量和仿真输出。,5.5.1 创建一
14、个仿真波形文件,在第一步中建立的波形文件中添加输入和输出结点查找设计中需要的结点名,可以通过下面两种方法。方法一:通过选择“View/Utility Windows/Node Finder”命令,在弹出的“Node Finder”界面中,查找需要加入波形文件中的结点名。方法二:还可以在波形编辑器左边“Name”列的空白出单击鼠标右键,在弹出的右键菜单中通过选择“Insert Node or Bus.”命令,然后在弹出的“Insert Node or Bus”对话框中单击“Node Finder.”按钮。,5.5.2 在矢量波形文件中加入输入、输出结点,5.5.3 编辑输入节点波形,在Quart
15、us II软件的波形编辑器中编辑输入节点的波形,也就是指定输入节点的逻辑电平变化。包括:时钟节点波形的输入 ;总线信号波形的输入 ;任意信号波形的输入 ;,5.5.4 设计仿真,在Quartus II软件中,创建了设计项目的矢量波形文件以后,可以按下面的基本过程完成设计的功能仿真和时序仿真。,(1)仿真器的设置,选择Assignment/Settings,在弹出的Settings对话框中Category列表中选择Simulator,则在对话框右边显示仿真器页面。如图5.5-8所示。,(2)启动仿真器,在完成上面的仿真器设置以后,通过选择“ Processing/Simulation Tool”命令,便可启动仿真器,同时状态窗口和仿真窗口将自动打开,并在状态窗口中显示仿真进度以及仿真时所用时间。仿真结束后,在仿真报告窗口中显示输出节点的仿真波形。,在仿真过程中,Quartus II软件的仿真器报告窗口自动打开。默认情况下,仿真器报告窗口显示仿真波形部分。但仿真器报告窗口也包含与当前相关的其他有用部分,包括仿真器设置信息、仿真消息等。,5.5.5 仿真结果分析,5.6.1 在分配编辑器(Assignment Editor)中完成引脚分配 5.6.2 底层图编辑器(Floorplan Editor)中完成引脚分配,