5.5 创建工程设计文件
5.5.1 创建工程
Quartus II软件将工程信息存储在Quartus II工程配置文件中,如表5.1所示。它包含有关Quartus II工程的所有信息,包括设计文件、波形文件、SignalTap® II文件、内存初始化文件以及构成工程的编译器、仿真器和软件构建设置。
表5.1 Quartus II工程文件
文 件 类 型 |
说 明 |
Quartus II Project File(.qpf) |
指定用来建立和修订工程的Quartus II软件版本 |
Quartus II Setting File(.qsf) |
包括Assignment Editor、Floorplan Editor、“Setting”对话框(“Assignment”菜单),Tcl脚本或者Quartus II可执行文件产生的所有修订范围或者独立的分配。工程中每个修订有一个QSF |
Quartus II Workspace File(.qws) |
包含用户偏好和其他信息,例如窗口信息、窗口打开文件及其位置 |
Quartus II Default Settings File(.qdf) |
位于<Quartus II system directory>bin目录下,包括所有全局默认工程设置。QSF中的设置将替代这些设置 |
可以使用“File”菜单中的“New Project Wizard”来创建工程。使用“New Project Wizard”可以为工程指定工作目录、分配工程名称以及指定最高层设计实体的名称,还可以指定工程中使用的设计文件、其他源文件、用户库、EDA工具以及目标器件。
建立工程后,可以使用“Assignments”菜单的“Settings”对话框中的“Add/Remove”页,在工程中添加和删除设计和其他文件。在执行Quartus II Analysis & Synthesis期间,Quartus II软件将按“Add/Remove”页中显示的顺序处理文件。
如图5.5~图5.10所示为使用New Project Wizard来创建工程的流程。
图5.5 新建工程向导 图5.6 选择工程路径、名、顶层模块名
图5.7 添加设计文件 图5.8 选择目标器件(FPGA型号)
图5.9 选择EDA综合、仿真、时序分析工具 图5.10 工程信息汇总
如果想通过Quartus II来查看和编辑MAX+PLUS II工程,还可以使用“File”菜单的“Convert MAX+PLUS II Project”命令,将MAX+PLUS II分配与配置文件(.acf)转换为Quartus II工程可编辑的文件,如图5.11所示。
图5.11 “Convert MAX+PLUS II Project”对话框
5.5.2 添加设计文件
1.添加设计文件方式
Quartus II软件支持如下几种设计输入方式。
· 在Block Editor中建立设计。
· 在Text Editor中通过AHDL、Verilog HDL或VHDL设计语言建立设计。
· 采用EDA设计输入和综合工具生成的EDIF输入文件(.edf)或VQM文件(.vqm)建立设计。
2.支持的设计文件类型
如表5.2所示为Quartus II软件支持的设计文件类型。
表5.2 Quartus II设计文件类型
类 型 |
描 述 |
扩 展 名 |
原理图设计文件 |
使用Quartus II Block Editor建立的原理图设计文件 |
.bdf |
EDIF输入文件 |
使用任何标准EDIF网表编写程序生成的2000版EDIF网表文件 |
.edf .edif |
图形设计文件 |
使用MAX+PLUS II Graphic Editor建立的原理图设计文件 |
.gdf |
文本设计文件 |
以Altera硬件描述语言(HDL)编写的设计文件 |
.tdf |
Verilog设计文件 |
包含使用Verilog HDL定义的设计逻辑的设计文件 |
.v .vlg |
VHDL设计文件 |
包含使用VHDL定义的设计逻辑的设计文件 |
.vh .vhd .vhdl |
VQM设计文件 |
通过Synplicity Synplify软件或Quartus II软件生成的Verilog HDL格式网表文件 |
.vqm |
如图5.12是Quartus II软件所支持的设备设计文件类型。
如图5.13所示是Quartus II软件所支持的软件文件类型。
图5.12 “Device Design Files”对话框 图5.13 “Software Files”对话框
如图5.14所示是Quartus II软件所支持的其他文件类型。
图5.14 其他文件类型
3.使用Block editor设计文件
Block Editor用于以原理图和流程图的形式输入和编辑图形设计信息。Quartus II Block Editor可以读取并编辑原理图设计文件和MAX+PLUS II图形设计文件。也可以在Quartus II 软件中打开图形设计文件并将其另存为原理图设计文件。
Block Editor将每个流程图、原理图或符号代表的设计逻辑融合到工程中。这些图形设计文件包含块和符号,这些块和符号代表设计中的逻辑。
可以使用原理图设计文件的块建立新设计文件,或在修改块和符号时更新设计文件,也可以在原理图设计文件的基础上生成块符号文件(.bsf)、AHDL包含文件(inc)和HDL文件。
还可以在编译之前分析原理图设计文件是否出错。Block Editor还提供有助于在原理图设计文件中连接块和基本单元(包括总线和节点连接以及信号名称映射)的一组工具。可以更改Block Editor的显示选项,例如根据偏好更改导向线和网格间距、橡皮带式生成线、颜色和屏幕元素、缩放以及不同的块属性等。
Block Editor具备以下的功能。
· 插入块和基本单元符号。流程图使用称为块的矩形符号代表设计实体以及相应的已分配信号,在从上到下的设计中很有用。块是用代表相应信号流程的管道连接起来的。可以只用流程图进行设计,也可以将流程图与图形单元相结合进行设计。
从块或原理图文件建立文件。在层次化设计中,可以在使用Block Editor中的Create/Update命令,利用原理图文件中的块建立其他类型的设计文件,还可以从原理图文件本身建立这些设计文件。
4.使用Text Editor设计文件
Text Editor是一个灵活的工具,用于以AHDL、VHDL和Verilog HDL语言以及Tcl脚本语言输入文本型设计。还可以使用Text Editor输入、编辑和查看其他ASCII文本文件,包括为Quartus II软件或由Quartus II软件建立的那些文本文件。
5.使用Symbol Editor设计文件
Symbol Editor用于查看和编辑代表宏功能、宏功能模块、基本单元或设计文件的预定义符号。每个Symbol Editor文件代表一个符号。对于每个符号文件,均可以从包含Altera宏功能模块和LPM函数的库中选择。
可以自定义这些块符号文件,然后将这些符号添加到使用Block Editor建立的原理图中。Symbol Editor读取并编辑块符号文件和MAX+PLUS II符号文件(.sym),并将它们转存为块符号文件。
6.使用Verilog HDL、VHDL与AHDL设计文件
可以使用Text Editor或其他文本编辑器建立文本设计文件、Verilog设计文件和VHDL设计文件,并在分级设计中将这些文件与其他类型的设计文件相结合。Verilog设计文件和VHDL设计文件可以包含由Quartus II支持的构造的任意组合。
它们还可以包含Altera提供的逻辑函数,包括基本单元和宏功能模块以及用户自定义的逻辑函数。在Text Editor中,使用Create/Update命令(“File”菜单)从当前的Verilog HDL或VHDL设计文件建立块符号文件,然后将其合并到原理图设计文件中。
同样,可以建立代表Verilog HDL或VHDL设计文件的AHDL包含文件,并将其合并到文本设计文件中或另一个Verilog HDL或VHDL设计文件中。
AHDL是一种完全集成到Quartus II系统中的高级模块化语言。AHDL支持布尔等式、状态机、条件逻辑和解码逻辑。AHDL还可用于建立和使用参数化函数,并完全支持LPM函数。AHDL特别适合设计复杂的组合逻辑、批处理、状态机、真值表和参数化逻辑。
7.使用宏功能模块设计文件
Altera宏功能模块是复杂的高级构建模块,可以在Quartus II设计文件中与逻辑门和触发器基本单元一起使用。Altera提供的参数化宏功能模块和LPM功能均为Altera 器件结构做了优化。
必须使用宏功能模块才可以使用一些Altera专用器件的功能,例如,存储器、DSP块、LVDS驱动器、PLL以及SERDES和DDIO电路。可以使用Mega Wizard Plug-In Manager(“Tools”菜单)建立Altera宏功能模块、LPM功能和IP功能,用于Quartus II软件和EDA设计输入与综合工具中的设计。
表5.3列出了能够由Mega Wizard Plug-In Manager建立的Altera提供的宏功能模块和LPM功能类型。
表5.3 Altera提供的宏功能模块与LPM功能表
类 型 |
说 明 |
算术组件 |
|
逻辑门 |
包括多路复用器和LPM门功能 |
I/O组件 |
包括时钟数据恢复(CDR)、锁相环(PLL)、双数据速率(DDR)、千兆收发器块(GXB)、LVDS接收器和发送器、PLL重新配置和远程更新宏功能模块 |
存储器编译器 |
包括FIFO Partitioner、RAM和ROM宏功能模块 |
存储组件 |
存储器,移位寄存器宏功能模块和LPM存储器功能 |