基于Quartus的FPGACPLD数字系统设计
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
Βιβλιοθήκη 5.4.3 编译及其结果说明
在编译过程中将设计项目适配到FPGA/CPLD 目标器重,同时产生各种输出文件编译报告,包 括器件使用统计、编译设置、RTL级电路显示、 器件资源利用率、状态机的实现、方程式、延时 分析结构、CPU使用资源等;
5.5 仿真测试
5.5.1 5.5.2 5.5.3 5.5.4 5.5.5 创建一个仿真波形文件
打开Quartus II集成开发环境,选择File/New Project Wizard,弹出New Project Wizard对话框
在该对话框中依次指定工程目录、工程名和顶层文 件名,注意:工程名和顶层设计名必须相同
下面只要一直按照次序单击“Next”按钮,直到单击到 “Finish”按钮,一个工程就建立成功了。
• 设置方法是:选择项目导航器下方栏中的文件 (Files)标签,列出所有文件的层次关系。选中需 要处理的文件名,点击鼠标右键,在弹出的菜单中 选择“Set as Top-Level Entity”。
5.2.3 Quartus II文件的管理
(1)新建文件
点击新建文件快捷 图标或主菜单 Files/New…命令, 出现如图5.2-7所示 的新文件类型选择 框,点击选项框上 方的类型标签可切 换新建文件的类型, 选择不同的文件格 式。
(2)文件格式说明
表5.2-1 源文件输入方式和对应的文件格式(扩展名)
格式及图标
图形输入
输入方式 Block Diagrams/Schematics(模块结 构/逻辑原理图)
AHDL(Altera硬件描述语言)
扩展名
.bdf .tdf .vhd .v
文本输入
VHDL(Very High Speed Integrated Circuit硬件描述语言)
注意: • 初学者会因习惯于计算机视窗平台的操作 ,在进入 Quartus II后直接采用命令File/Open,打开设计文件。 • 由于工程尚未打开,Quartus II所有的处理功能,包括 分析综合、编译、仿真、下载等操作全部被禁止,相 应的命令和快捷键都呈灰色,不能激活。
(2)项目导航管理
(2)设计编译
检查设计错误、对逻辑进行综合、提取 定时信息、在指定的Altera系列器件中进行 适配分割,产生的输出文件将用于设计仿真、 定时分析及器件编程。 编译功能是通过几个模块来实现: ——分析与综合模块(Analysis & Synthesis); ——适配模块(Fitter); ——汇编模块(Assember); ——定时分析模块(Timing Analyzer)。 各个子模块还可以独立调用。
原理图设计输入内容包括:
基本单元符号的输入 ; 图形块输入 ; 建立完整的原理图文件。
5.3.2 文本文件输入
文本编辑器是Quartus II软件的一个非常
灵活的编辑工具; 可以方便地用于以AHDL、VHDL和 Verilog HDL语言形式以及Tcl脚本语言 输入文本型设计; 还可以在该文本编辑器下输入、编辑和 查看那其他ASCII文本文件。
5. 4.2 启动编译器
Quartus II编译器包括多个独立的模块,这些模块完 成对设计项目的检错、逻辑综合、结构综合、输出结 果的编译配置、时序分析等功能。 各模块可以单独运行,也可以选择Processing/Start compilation命令启动全编译过程。
编译的步骤如下:
① 选择Process//Start compilation命令,或单击工具栏上 的快捷按钮启动全编译过程。在编译过程中,状态窗口 和消息窗口自动显示出来。状态窗口将显示全编译过程 中各个模块和整个编译进程的进度以及所用的时间;在 消息窗口中将显示编译过程中的信息,包括警告、错误。 ② 在编译过程中,如果出现设计上的错误,可以在消息 窗口中选择错误信息,双击错误信息,就可以在设计文 件中定位错误信息所在处。这样不断修改错误直到全部 编译成功。 ③ 查看编译结果。编译成功后,编译报告会自动弹出来。 编译报告给出了当前编译过程中各个功能模块的详细信 息。
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)。
(1)仿真器的设置
一个Quartus II的工程可能包括多个设计文件,但只能由一个 顶层设计文件(Top file),其他下层文件与顶层文件呈树形关 系; Quartus II的所有处理操作(包括分析综合、编译、仿真)都面 向顶层文件; 项目导航器(Project Navigator): 导航窗口下方有3个可以 互相切换的标签,分别表示层次(Hierarchy)、文件(Files) 和设计单元(Design Units)。 修改文件层次:由于Quartus II的所有处理操作,包括分析综合、 编译、仿真等都是面向顶层文件的,当需要对某个底层文件进 行处理时,需要将该文件暂时设置为顶层文件。
(3) 设计仿真
设计仿真包括功能仿真分析和时序分析。 1、功能仿真: 测试设计的逻辑功能是否正确; 2、时序仿真: ——在目标器件中测试设计的逻辑功能和最 坏情况下的时序; ——时序仿真(延时仿真),由于不同器件、 不同布局布线给延时造成的影响不同,因此对 系统进行时序仿真、检验设计性能以及消除竞 争冒险是必不可少的步骤。
5.4 编译处理
5.4.1 编译前设置 5.4.2 启动编译器 5.4.3 编译及其结果说明
5.4.1 编译前设置
通过编译器选项设置可以控制编译过程。打开 Assignment/Settings对话框,如图5.4-1所示。
设置项目包括:
Device设置 Compilation Process设置 Analysis & Synthesis设置 Fitter设置
Quartus II开发工具支持的Altera公司主流FPGA全部 系列,器件支持如表5.1-1所示。
器件 说明
StratixII
StratixII GX
Cyclone APEXII Mercury
Excalibur APEX 20K/KE/KE
最高的性能,最高的密度,大量的存储资源, 特性丰富的平台 最高的性能结构,高速串行收发器 低成本,替代ASIC,适用于价格敏感的应用 高密度,高性能,支持高速差分I/O标准
Verilog HDL(硬件描述语言)
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.2.2 Quartus II工程的管理
(1)打开一个已经创建的工程
启动Quartus II后,点击File/Open Project…,下 拉“查找范围”栏,查找工程所在的路径和目录, 选择工程目录下显示的工程文件( *.qpf ),点击 “打开”按钮或双击图标,打开工程。 也可在工程目录中直接双击工程文件图标打开工 程文件。
5.1.1 Quartus II及其特点
Quartus II软件是Altera的综合开发工具,它集成了 Altera公司的FPGA/CPLD开发流程中所涉及的所有工具 和第三方软件接口。通过使用此综合开发工具,设计者可 以创建、组织和管理自己的设计。 Quartus II具有如下特点: ① 支持多时钟定时分析、基于块的设计、SOPC(单芯片 可编程系统)、内嵌SignalTap II逻辑分析器、功率估计 器等高级工具; ② 易于管脚分配和时序约束; ③ 强大的HDL综合能力; ④ 包含MAXPLUS II的GUI,且易于MAXPLUS II的工程 平稳地过渡到Quartus II开发环境; ⑤ 支持的器件种类众多; ⑥ 第三方工具如综合、仿真等的链接。
高性能,高带宽,中密度,包括时钟数据恢 复(CDR)支持 高性能,处理器硬核解决方案 高性能,中到高密度
FLEX 10K/KE ACEX 1K HardCopy
低成本,低到中密度 低成本,低到中密度 高密度,大批量ASIC替换器件
5.1.2 Quartus II软件的开发流程
(1)设计输入
Quartus II软件中的工程由所有设计文件和 与设计文件有关的设置组成。 设计文件输入方式: ——原理图输入方式; ——文本输入方式; ——模块输入方式; ——EDA设计输入工具等 这一步主要是建立源文件并形成顶层原理图文 件。
(4)器件编程
——Quartus II编程器(Programmer)使用编 译环节生成的编程文件与Altera编程硬件一起对 器件进行编程和配置。 ——Altera公司的编程器硬件包括 MasterBlaster、ByteBlaster -MV、ByteBlaster II、USB – Blaster和Ethernet Blaster五种下载电 缆或Altera编程单元APU方式。 ——Quartus II软件编程器支持四种编程模式: 被动串行(PS)编程模式、JTAG编程模式、主 动串行(AS)编程模式和套接字内编程模式。
5.5.3 编辑输入节点波形
在Quartus II软件的波形编辑器中编辑输入节点 的波形,也就是指定输入节点的逻辑电平变 化。包括: 时钟节点波形的输入 ; 总线信号波形的输入 ; 任意信号波形的输入 ;
5.5.4 设计仿真
在Quartus II软件中,创建了设计项目的矢量波形文件 以后,可以按下面的基本过程完成设计的功能仿真和 时序仿真。
5.3.3 宏功能模块的实例化
借助于Mega Wizard Plug-in Manager工具来 实现; 可以建立或修改包含自定义宏功能模块变量的 设计文件,然后还可以在设计文件中对这些文 件进行例化; 在这些自定义宏功能模块中的变量都是基于 Altera公司提供的宏功能模块,包括LPM、 MegaCore和AMPP功能; 通过运行一个Mega Wizard Plug-in Manager 向导,可以帮助我们轻松地为自定义攻功能模 块变量指定选项; 该向导用于为相关参数和可选端口设置数值。
在矢量波形文件中加入输入、输出结点
编辑输入节点波形 设计仿真 仿真结果分析
5.5.1 创建一个仿真波形文件
可以利用Quartus II软件波形编辑器创建 矢量波形文件,该文件是波形图的形式,用 于描述仿真输入矢量和仿真输出。
5.5.2 在矢量波形文件中加入输入、 输出结点
在第一步中建立的波形文件中添加输入和输出结点 查找设计中需要的结点名,可以通过下面两种方法。 • 方法一:通过选择“View/Utility Windows/Node Finder”命令,在弹出的“Node Finder”界面中, 查找需要加入波形文件中的结点名。 • 方法二:还可以在波形编辑器左边“Name”列的 空白出单击鼠标右键,在弹出的右键菜单中通过 选择“Insert Node or Bus...”命令,然后在弹出的 “Insert Node or Bus”对话框中单击“Node Finder...”按钮。
5 基于QuartusⅡ的 FPGA/CPLD数字系统设计
5.1 QuartusⅡ概述 5.2 QuartusⅡ工程的创建与管理 5.3 设计输入 5.4 编译处理 5.5 仿真测试 5.6 分配引脚与芯片 5.7 编程与配置 5.8 实例
5.1 QuartusⅡ概述
5.1.1 Quartus II及其特点 5.1.2 Quartus II软件的开发流程
在编译过程中将设计项目适配到FPGA/CPLD 目标器重,同时产生各种输出文件编译报告,包 括器件使用统计、编译设置、RTL级电路显示、 器件资源利用率、状态机的实现、方程式、延时 分析结构、CPU使用资源等;
5.5 仿真测试
5.5.1 5.5.2 5.5.3 5.5.4 5.5.5 创建一个仿真波形文件
打开Quartus II集成开发环境,选择File/New Project Wizard,弹出New Project Wizard对话框
在该对话框中依次指定工程目录、工程名和顶层文 件名,注意:工程名和顶层设计名必须相同
下面只要一直按照次序单击“Next”按钮,直到单击到 “Finish”按钮,一个工程就建立成功了。
• 设置方法是:选择项目导航器下方栏中的文件 (Files)标签,列出所有文件的层次关系。选中需 要处理的文件名,点击鼠标右键,在弹出的菜单中 选择“Set as Top-Level Entity”。
5.2.3 Quartus II文件的管理
(1)新建文件
点击新建文件快捷 图标或主菜单 Files/New…命令, 出现如图5.2-7所示 的新文件类型选择 框,点击选项框上 方的类型标签可切 换新建文件的类型, 选择不同的文件格 式。
(2)文件格式说明
表5.2-1 源文件输入方式和对应的文件格式(扩展名)
格式及图标
图形输入
输入方式 Block Diagrams/Schematics(模块结 构/逻辑原理图)
AHDL(Altera硬件描述语言)
扩展名
.bdf .tdf .vhd .v
文本输入
VHDL(Very High Speed Integrated Circuit硬件描述语言)
注意: • 初学者会因习惯于计算机视窗平台的操作 ,在进入 Quartus II后直接采用命令File/Open,打开设计文件。 • 由于工程尚未打开,Quartus II所有的处理功能,包括 分析综合、编译、仿真、下载等操作全部被禁止,相 应的命令和快捷键都呈灰色,不能激活。
(2)项目导航管理
(2)设计编译
检查设计错误、对逻辑进行综合、提取 定时信息、在指定的Altera系列器件中进行 适配分割,产生的输出文件将用于设计仿真、 定时分析及器件编程。 编译功能是通过几个模块来实现: ——分析与综合模块(Analysis & Synthesis); ——适配模块(Fitter); ——汇编模块(Assember); ——定时分析模块(Timing Analyzer)。 各个子模块还可以独立调用。
原理图设计输入内容包括:
基本单元符号的输入 ; 图形块输入 ; 建立完整的原理图文件。
5.3.2 文本文件输入
文本编辑器是Quartus II软件的一个非常
灵活的编辑工具; 可以方便地用于以AHDL、VHDL和 Verilog HDL语言形式以及Tcl脚本语言 输入文本型设计; 还可以在该文本编辑器下输入、编辑和 查看那其他ASCII文本文件。
5. 4.2 启动编译器
Quartus II编译器包括多个独立的模块,这些模块完 成对设计项目的检错、逻辑综合、结构综合、输出结 果的编译配置、时序分析等功能。 各模块可以单独运行,也可以选择Processing/Start compilation命令启动全编译过程。
编译的步骤如下:
① 选择Process//Start compilation命令,或单击工具栏上 的快捷按钮启动全编译过程。在编译过程中,状态窗口 和消息窗口自动显示出来。状态窗口将显示全编译过程 中各个模块和整个编译进程的进度以及所用的时间;在 消息窗口中将显示编译过程中的信息,包括警告、错误。 ② 在编译过程中,如果出现设计上的错误,可以在消息 窗口中选择错误信息,双击错误信息,就可以在设计文 件中定位错误信息所在处。这样不断修改错误直到全部 编译成功。 ③ 查看编译结果。编译成功后,编译报告会自动弹出来。 编译报告给出了当前编译过程中各个功能模块的详细信 息。
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)。
(1)仿真器的设置
一个Quartus II的工程可能包括多个设计文件,但只能由一个 顶层设计文件(Top file),其他下层文件与顶层文件呈树形关 系; Quartus II的所有处理操作(包括分析综合、编译、仿真)都面 向顶层文件; 项目导航器(Project Navigator): 导航窗口下方有3个可以 互相切换的标签,分别表示层次(Hierarchy)、文件(Files) 和设计单元(Design Units)。 修改文件层次:由于Quartus II的所有处理操作,包括分析综合、 编译、仿真等都是面向顶层文件的,当需要对某个底层文件进 行处理时,需要将该文件暂时设置为顶层文件。
(3) 设计仿真
设计仿真包括功能仿真分析和时序分析。 1、功能仿真: 测试设计的逻辑功能是否正确; 2、时序仿真: ——在目标器件中测试设计的逻辑功能和最 坏情况下的时序; ——时序仿真(延时仿真),由于不同器件、 不同布局布线给延时造成的影响不同,因此对 系统进行时序仿真、检验设计性能以及消除竞 争冒险是必不可少的步骤。
5.4 编译处理
5.4.1 编译前设置 5.4.2 启动编译器 5.4.3 编译及其结果说明
5.4.1 编译前设置
通过编译器选项设置可以控制编译过程。打开 Assignment/Settings对话框,如图5.4-1所示。
设置项目包括:
Device设置 Compilation Process设置 Analysis & Synthesis设置 Fitter设置
Quartus II开发工具支持的Altera公司主流FPGA全部 系列,器件支持如表5.1-1所示。
器件 说明
StratixII
StratixII GX
Cyclone APEXII Mercury
Excalibur APEX 20K/KE/KE
最高的性能,最高的密度,大量的存储资源, 特性丰富的平台 最高的性能结构,高速串行收发器 低成本,替代ASIC,适用于价格敏感的应用 高密度,高性能,支持高速差分I/O标准
Verilog HDL(硬件描述语言)
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.2.2 Quartus II工程的管理
(1)打开一个已经创建的工程
启动Quartus II后,点击File/Open Project…,下 拉“查找范围”栏,查找工程所在的路径和目录, 选择工程目录下显示的工程文件( *.qpf ),点击 “打开”按钮或双击图标,打开工程。 也可在工程目录中直接双击工程文件图标打开工 程文件。
5.1.1 Quartus II及其特点
Quartus II软件是Altera的综合开发工具,它集成了 Altera公司的FPGA/CPLD开发流程中所涉及的所有工具 和第三方软件接口。通过使用此综合开发工具,设计者可 以创建、组织和管理自己的设计。 Quartus II具有如下特点: ① 支持多时钟定时分析、基于块的设计、SOPC(单芯片 可编程系统)、内嵌SignalTap II逻辑分析器、功率估计 器等高级工具; ② 易于管脚分配和时序约束; ③ 强大的HDL综合能力; ④ 包含MAXPLUS II的GUI,且易于MAXPLUS II的工程 平稳地过渡到Quartus II开发环境; ⑤ 支持的器件种类众多; ⑥ 第三方工具如综合、仿真等的链接。
高性能,高带宽,中密度,包括时钟数据恢 复(CDR)支持 高性能,处理器硬核解决方案 高性能,中到高密度
FLEX 10K/KE ACEX 1K HardCopy
低成本,低到中密度 低成本,低到中密度 高密度,大批量ASIC替换器件
5.1.2 Quartus II软件的开发流程
(1)设计输入
Quartus II软件中的工程由所有设计文件和 与设计文件有关的设置组成。 设计文件输入方式: ——原理图输入方式; ——文本输入方式; ——模块输入方式; ——EDA设计输入工具等 这一步主要是建立源文件并形成顶层原理图文 件。
(4)器件编程
——Quartus II编程器(Programmer)使用编 译环节生成的编程文件与Altera编程硬件一起对 器件进行编程和配置。 ——Altera公司的编程器硬件包括 MasterBlaster、ByteBlaster -MV、ByteBlaster II、USB – Blaster和Ethernet Blaster五种下载电 缆或Altera编程单元APU方式。 ——Quartus II软件编程器支持四种编程模式: 被动串行(PS)编程模式、JTAG编程模式、主 动串行(AS)编程模式和套接字内编程模式。
5.5.3 编辑输入节点波形
在Quartus II软件的波形编辑器中编辑输入节点 的波形,也就是指定输入节点的逻辑电平变 化。包括: 时钟节点波形的输入 ; 总线信号波形的输入 ; 任意信号波形的输入 ;
5.5.4 设计仿真
在Quartus II软件中,创建了设计项目的矢量波形文件 以后,可以按下面的基本过程完成设计的功能仿真和 时序仿真。
5.3.3 宏功能模块的实例化
借助于Mega Wizard Plug-in Manager工具来 实现; 可以建立或修改包含自定义宏功能模块变量的 设计文件,然后还可以在设计文件中对这些文 件进行例化; 在这些自定义宏功能模块中的变量都是基于 Altera公司提供的宏功能模块,包括LPM、 MegaCore和AMPP功能; 通过运行一个Mega Wizard Plug-in Manager 向导,可以帮助我们轻松地为自定义攻功能模 块变量指定选项; 该向导用于为相关参数和可选端口设置数值。
在矢量波形文件中加入输入、输出结点
编辑输入节点波形 设计仿真 仿真结果分析
5.5.1 创建一个仿真波形文件
可以利用Quartus II软件波形编辑器创建 矢量波形文件,该文件是波形图的形式,用 于描述仿真输入矢量和仿真输出。
5.5.2 在矢量波形文件中加入输入、 输出结点
在第一步中建立的波形文件中添加输入和输出结点 查找设计中需要的结点名,可以通过下面两种方法。 • 方法一:通过选择“View/Utility Windows/Node Finder”命令,在弹出的“Node Finder”界面中, 查找需要加入波形文件中的结点名。 • 方法二:还可以在波形编辑器左边“Name”列的 空白出单击鼠标右键,在弹出的右键菜单中通过 选择“Insert Node or Bus...”命令,然后在弹出的 “Insert Node or Bus”对话框中单击“Node Finder...”按钮。
5 基于QuartusⅡ的 FPGA/CPLD数字系统设计
5.1 QuartusⅡ概述 5.2 QuartusⅡ工程的创建与管理 5.3 设计输入 5.4 编译处理 5.5 仿真测试 5.6 分配引脚与芯片 5.7 编程与配置 5.8 实例
5.1 QuartusⅡ概述
5.1.1 Quartus II及其特点 5.1.2 Quartus II软件的开发流程