Quartus Prime16.1是Altera公司最新提供的可编程逻辑器件的集成开发软件,包括了从设计输入和综合直至优化、验证和仿真各个阶段设计Altera FPGA、SoC和CPLD所需的一切步骤。Quartus Prime软件提供三种版本:专业版、标准版和精简版。Quartus Prime集成开发软件支持可编程逻辑器件开发的整个过程,它提供一种与器件结构无关的设计环境,使设计者能方便地进行设计输入、设计处理和器件编程。Quartus Prime集成开发软件开发流程如图1-2-1所示。
图1-2-1 Quartus Prime集成开发软件开发流程
Quartus Prime16.1集成开发软件要求的平台工作环境为Win7sp1、Win8.1、Win10及部分Linux的64位操作系统。它支持更多种类的可编程逻辑器件的开发,同时也提供在片可编程系统(System On a Programmable Chip,SOPC)设计的综合性环境和基本设计工具。另外,Quartus Prime集成开发软件也可以利用第三方软件的结果,并支持第三方软件的工作。
为加快应用系统的开发,Quartus Prime集成开发软件提供更多的知识产权模块(Intellectual Property,IP)。知识产权模块是一些预先设计好的电路功能模块,在设计中使用这些模块不仅可以加快设计进程,而且还可以提高系统性能。
图1-2-2 Quartus Prime集成开发软件的开发流程
Quartus Prime集成开发软件的核心是模块化的编译器。编译器包括的功能模块有分析与综合器(Analysis & Synthesis)、适配器(Fitter)、装配器(Assembler)、时序分析器(Timing Analyzer)、设计辅助模块(Design Assistant)及EDA网表文件生成器(EDA Netlist Writer)等。可编程逻辑器件的开发流程为:设计输入、综合、布局和布线、时序分析、仿真,以及可编程逻辑器件的编程和配置。Quartus Prime集成开发软件的开发流程如图1-2-2所示。
Quartus Prime集成开发软件允许用户在开发过程中使用 Quartus Prime图形用户界面、EDA工具界面和命令行界面。用户可以在整个开发过程中使用这些界面中的任意一个,也可以在开发过程中的不同步骤使用不同的界面。
1.2.1 Quartus Prime16.1软件的特点及支持的器件
Quartus Prime16.1具有以下特点:
➢ 和以往的软件版本相比,新版本通过使用新的Hybrid Placer和Global Router算法,平均下来具有一个完整的速率等级优势。
➢ 使用新的BluePrint Platform Designer,可以比以往快10倍。
➢ 使用软件新的重新编译特性,编译时间可以比以往快4倍。
➢ 对扩展的硬件描述语言的支持,其中包括SystemVerilog-2005和VHDL-2008。
Quartus Prime16.1支持的器件:
➢ Quartus Prime软件专业版16.1支持以下器件系列:Arria 10。
➢ Quartus Prime 软件标准版16.1支持以下器件系列:Arria Ⅱ、Arria 10、Arria Ⅴ、ArriaⅤ GZ、Cyclone Ⅳ、Cyclone Ⅴ、MAX Ⅱ、MAX Ⅴ、MAX 10 FPGA、Stratix Ⅳ和Stratix Ⅴ。
➢ Quartus Prime软件精简版16.1支持以下器件系列:Arria Ⅱ、Cyclone Ⅳ、CycloneⅤ、MAX Ⅱ、MAX Ⅴ和MAX 10 FPGA。
1.2.2 Quartus Prime软件的集成工具及其功能简介
Quartus Prime软件允许用户在设计流程的每个阶段使用Quartus Prime软件图形用户界面、EDA工具界面或命令行方式,Quartus Prime软件集成的工具模块如图1-2-3所示。
图1-2-3 Quartus Prime软件集成的工具模块
1)设计输入 设计输入即使用Quartus Prime软件的模块输入方式、文本输入方式、Core输入方式和EDA设计输入工具等表达用户的电路构思,同时使用分配编辑器(Assignment Editor)设定初始约束条件。
2)综合 综合是将HDL语言、原理图等设计输入翻译成由与门、或门、非门、RAM和触发器等基本逻辑单元组成的逻辑链接(网络表),并根据目标与要求(约束条件)优化所生成的逻辑链接,输出edf或vqm等标准格式的网络表文件,供布局布线器实现。除了用Quartus Prime软件的“Analysis & Synthesis”命令进行综合外,也可以使用第三方综合工具生成与Quartus Prime软件配合使用的edf网络表文件或vqm文件。
3)布局布线 布局布线输入文件是综合后的网络表文件,Quartus Prime软件中布局布线包含分析布局布线结果、优化布局布线、增量布局布线和通过反向标注分配等。
4)时序分析 允许用户分析设计中所有逻辑的时序性能,并协助引导布局布线以满足设计中的时序分析要求。默认情况下,时序分析作为全编译的一部分自动运行,它观察和报告时序信息,如建立时间、保持时间、时钟至输出延时、最大时钟频率,以及设计的其他时序特性,可以使用时序分析生成的信息分析,调试和验证设计的时序性能。
5)仿真 仿真分为功能仿真和时序仿真。功能仿真用来验证电路功能是否符合设计要求;时序仿真包含了延时信息,它能较好地反映芯片的工作情况。可以使用Quartus Prime集成的仿真工具进行仿真,也可以使用第三方工具对设计进行仿真,如ModelSim仿真工具。
6)编程和配置 在全编译成功后,对Altera器件进行编程和配置,包括Assemble(生成编程文件)、Programmer(建立包含设计所用器件名称和选项的链式文件)和转换编程文件等。
7)系统级设计 系统级设计包括SOPC Builder和DSP Builder。Quartus Prime与SOPC Builder一起为建立SOPC设计提供标准化的图形环境,其中SOPC由CPU、存储器接口、标准外围设备和用户自定义的外围设备等组成。SOPC Builder允许用户选择和自定义系统模块的各个组件和接口,它将这些组件组合起来,生成对这些组件进行实例化的单个系统模块,并自动生成必要的总线逻辑。DSP Builder是帮助用户在易于算法应用的开发环境中建立DSP设计的硬件表示,缩短了DSP设计周期。
8)软件开发 Software Builder是Quartus Prime软件的集成编程工具,它可以将软件源文件转换为用户配置Excalibur器件的闪存格式编程文件或无源格式编程文件。Software Builder在创建编程文件的同时自动生成仿真器初始化文件,仿真器初始化文件指定了存储单元的每个地址的初始值。
9)基于块的设计 LogicLock模块化设计流程支持对复杂设计的某个模块独立地进行设计、实现与优化,并将该模块的实现结果约束在规划好的FPGA区域内。
10)EDA界面 EDA界面中的EDA Netlist Writer生成时序仿真所需要的包含延迟信息的文件,如.vo、.sdo文件等。
11)时序逼近 时序逼近即通过控制综合和设计的布局布线来达到时序目标。使用时序逼近流程可以对复杂的设计进行更快的时序逼近,减少优化迭代次数并自动平衡多个设计约束。
12)调试 SignalTap Ⅱ逻辑分析器和SignalProbe功能可以分析内部器件节点和I/O引脚,同时在系统内以系统速度运行。SignalTap Ⅱ逻辑分析器可以捕获和显示FPGA内部的实时信号行为。SignalProbe可以在不影响设计现有布局布线的情况下将内部电路中特定的信号迅速布线到输出引脚,从而无须对整个设计另作一次全编译。
13)工程更改管理 工程更改管理即在全编译后对设计做的少量修改或调整。这种修改是直接在设计数据库上进行的,而不是修改源代码或配置文件,这样就无须重新运行全编译而快速地实施这些更改。
除了上述集成工具外,Quartus Prime软件还提供第三方工具的链接。第三方工具包括综合工具和仿真工具,其中综合工具有Synplify、SynplifyPro和LeonardoSpectrum;仿真工具有ModelSim和Aldec HDL等,它们都是业内公认的专业综合和仿真工具,以其功能强大、界面友好、易学易用而被广泛使用。
1.2.3 Quartus Prime软件的用户界面
Quartus Prime软件的默认启动界面如图1-2-4所示,由标题栏、菜单栏、工具栏、资源管理窗口、编译状态显示窗口、信息显示窗口和工程工作区等组成。
图1-2-4 Quartus Prime软件的默认启动界面
1.标题栏
标题栏显示当前工程的路径和程序的名称。
2.菜单栏
菜单栏主要由文件(File)、编辑(Edit)、视图(View)、工程(Project)、资源分配(Assignments)、操作(Processing)、工具(Tools)、窗口(Window)和帮助(Help)下拉菜单组成。
其中工程(Project)、资源分配(Assignments)、操作(Processing)和工具(Tools)菜单集中了Quartus Prime软件核心的操作命令,下面分别介绍。
(1)“Project”菜单主要是对工程的一些操作,包括以下几个命令。
· Add Current File to Project:添加当前文件到本工程。
· Add/Remove Files in Project:添加或移除文件。
· Revisions:创建或删除工程。
· Archive Project:为工程归档或备份。
· Restore Archived Project:恢复工程备份。
· Import Database/Export Database…:导入和导出数据库。
· Import Design Partition/Export Design Partition:导入和导出设计分区。
· Generate Design Partition Scripts:生成设计分区脚本。
· Generate Tcl File for Project:生成工程的Tcl脚本文件。
· Generate PowerPlay Early Power Estimator File:生成估算静态和动态功耗的表单。
· Upgrade IP Components:升级IP器件。
· Organize Quartus Prime Settings File:管理Quartus Prime的设置文件。
· Set as Top-Level Entity:把工程工作区打开的文件设定为顶层文件。
· Hierarchy:打开工程工作区显示的源文件的上一层或下一层的源文件及顶层文件。
(2)“Assignments”菜单的主要功能是对工程的参数进行配置,如引脚分配、时序约束、参数设置等。
· Device:设置目标器件型号。
· Settings:打开参数设置页面,可以切换到使用Quartus Prime软件开发流程的每个步骤所需的参数设置页面。
· Assignment Editor:分配编辑器,用于分配引脚、设定引脚电平标准和设置时序约束等。
· Pin Planner:打开引脚分配对话框。
· Remove Assignments:删除设定类型的分配,如引脚分配、时序分配和SignalProbe分配等。
· Back-Annotate Assignments:允许用户在工程中反向标注引脚、逻辑单元、LogicLock区域、节点、布线分配等。
· Import Assignments/Export Assignments:为当前工程导入和导出分配文件。
· Assignment Groups:用于建立引脚分配组。
· LogicLock Regions Window:允许用户查看、创建和编辑LogicLock区域约束,以及导入和导出LogicLock区域约束文件。
· Design Partition Window:打开设计分区窗口。
(3)“Processing”菜单包含了对当前工程执行各种设计流程,如综合、布局、布线、时序分析等。
(4)“Tools”菜单用来调用Quartus Prime软件中集成的一些工具,如Generate Simulatior Setup Script for IP、Chip Editor、Programmer等。
3.工具栏
工具栏包含了常用命令的快捷图标。将光标移到相应图标时,在光标下方出现此图标对应的注释,而且每种图标在菜单栏均能找到相应的命令菜单。用户可以根据需要将自己常用的功能定制为工具栏上的图标,方便操作。
4.资源管理窗口
资源管理窗口用于显示当前工程中所有相关的资源文件。资源管理窗口左下角有5个标签,分别是结构层次(Hierarchy)、文件(Files)、设计单元(Design Units)、IP元件(IP components)和储量修正(Revisions)。结构层次窗口在工程编译之前只显示顶层模块名,工程编译一次后,此窗口按层次列出工程中所有的模块,并列出每个源文件所用资源的具体情况。顶层显示的可以是用户产生的文本文件,也可以是图形编辑文件。文件窗口列出了工程编译后的所有文件,文件类型有设计器件文件(Design Device Files)、软件文件(Software Files)和其他文件(Others Files)。设计单元窗口列出了工程编译后的所有单元,如AHDL单元、Verilog单元和VHDL单元等,一个设计器件文件对应生成一个设计单元,参数定义文件没有对应设计单元。
5.工程工作区
器件设置、定时约束设置、底层编辑器和编译报告等均显示在工程工作区中,当Quartus Prime实现不同功能时,此区域将打开相应的操作窗口。
6.编译状态显示窗口
编译状态显示窗口主要是显示模块综合、布局布线过程及时间。模块(Module)项列出工程模块;过程(Process)项显示综合、布局布线进度条;时间(Time)项显示综合、布局布线所耗费时间。
7.信息显示窗口
信息显示窗口(Messages)显示Quartus Prime软件综合、布局布线过程中的信息,如综合时调用源文件、库文件,综合布局布线过程中的定时、报警、错误等。如果是报警和错误,则会给出具体的引起报警和错误的原因,方便设计者查找及修改错误。