Quartus Prime的应用
目录
Quartus Prime:
基本设计流程
设计输入
编译、综合与适配
引脚锁定
编程与配置
Quartus Prime:
(1) Intel公司EDA综合开发环境: 能够完成从设计输入,编译、综合与适配,仿真,以及编程与配置的全部设计流程。
(2) 支持硬件描述语言、原理图和状态机等多种设计输入方式。同时支持第三方工具软件,如Modelsim,Sysplify Pro等专业的工具软件。
(3) 支持Intel公司的PLD。不同版本支持的器件种类和范围有所不同。 Quartus II 13.0: Cyclone II/III/IV/V, Quartus Prime 18.1: Cyclone IV/V/10,,, 本章以基于Quartus Prime 18.1标准版,以DE2-115开发板为实现载体,讲述Intel公司EDA集成开发环境Quartus Prime的应用,包括EDA设计的基本流程、原理图输入方法、仿真方法和嵌入式逻辑分析仪的应用。
基本设计流程
在Quartus Prime开发环境下,进行EDA设计的基本流程如右图所示。 包括五个主要任务: (1) 建立工程 (2) 设计输入 (3) 编译、综合与适配 (4) 引脚锁定 (5) 编程与配置 同时,还可以根据需要进行仿真分析、在线测试和时序分析。
建立工程 step1:启动 Quartus Prime。启动后的主界面由项目管理器(Project Nevigator) 和任务指示(Tasks)、信息框(Messages)、设计主窗口以及IP目录(IP Catalog) 五部分组成。
step2: 在 Quartus Prime 主界面中,选择 File 菜单下的 New Project Wizard...命令,将弹出新建工程向导提示页。
(a) 指定工程名和工程目录; (b) 指定顶层设计文件名; (c) 添加或者删除工程文件和库; (d) 指定目标器件类型和型号; (e) 设置 EDA 工具。
step3: 点击工程向导提示页下方的 Next>按钮进入设置工程目录、工程名和顶层设计名对话页。其中第一栏用于指定存放工程文件的工作目录,第二栏用于指定工程名,第三栏用于指定顶层设计文件名。
点击上图中的Next>按钮进入工程类型(Project Type)选择对话页。对于Quartus Prime初学者,建议先选择空工程(Empty project),如图所示,以便熟悉在Quartus Prime开发环境下进行EDA设计的基本流程。对于已经熟悉基本设计流程的用户,则可以选择下方的工程模板(Project template)以提高设计效率。
step4: 点击上图中的 Next>按钮进入添加/删除文件对话页,既可以用来添加工程所需要的文件,也可以用来删除多余的文件。当新建的工程不包含任何设计文件时,可以跳过这一步。
step5: 点击上图中的 Next>按钮进入指定目标器件对话页。首先在 Family 下拉菜单中选择目标器件的类型,然后在 Available Devices 列表栏中选择具体的器件型号。
step6: 点击上图中的 Next>按钮进入 EDA工具设置对话页,选择工程的综合工具、仿真工具和时序分析工具,不选时(None)则应用 Quartus Prime默认的EDA工具。
step7: 点击上图中的 Next>进入工程信息汇总页,列出了新建工程的所有信息。
step8: 点击Finish回到 Quartus Prime主界面。这时标题栏已经包含了工程目录和工程名两项信息,同时项目管理器 中包含了目标器件和顶层模块名两项信息。
设计输入
设计输入(Design Entry)是将需要设计的电路或系统以EDA软件支持的某种形式表达出来。 Quartus Prime支持硬件描述语言(HDL)、原理图(Schematic File)和状态机(State Machine File)等多种输入方式,同时又提供了第三方输入接口,如EDIF网表文件等。
step1: 在 Quartus Prime主界面下,选择 File菜单下的New命令,将弹出新建文件对话页。
Quartus Prime支持四种类型的文件: (1) 设计文件(Design Files); (2) 存储器文件(Memory Files); (3) 验证与调试文件; (4) 其它类型文件(Other Files)。
step2:若采用 Verilog HDL 进行设计,则选择 Design Files 栏下的Verilog HDL File,点击 OK 进入硬件描述语言设计文件编辑页面。
step3: 在硬件描述语言设计文件编辑窗口中,输入Verilog HDL代码并以模块名(本例为Mux4to1)为文件名保存(Verilog HDL文件的扩展名为.v,VHDL文件的扩展名为.vhd),如图所示。
编译、综合与适配
编译 (Compile) 是调用Quartus Prime内嵌的编译器检查输入代码中是否存在的语法错误和潜在的逻辑错误。 综合 (Synthesize) 是面向给定的设计约束,将HDL代码转换成门级电路网表的过程,是将HDL描述转化为硬件电路的关键步骤。 编译和综合完成后,Quartus Prime会自动将综合后产生的网表文件针对选定的目标器件进行逻辑映射,将工程的逻辑和时序要求与目标器件的可用资源相匹配,这一过程称为适配 (Fit),包括逻辑分割、逻辑优化和布局布线。
编译、综合和适配完成后,Quartus Prime会生成针对具体目标器件的编程与配置文件,以及工程适配报告,说明目标器件的资源占用率等情况。
step1: 在Quartus Prime主界面下,选择Processing菜单下的Start Complication命令或者直接点击 按钮启动编译、综合与适配过程。若设计代码没有错误,则编译、综合和适配过程会自动完成,生成能够下载到CPLD/FPGA或者其外部配置芯片的编程与配置文件,并显示工程统计信息汇总页面,说明该工程的编译时间、版本信息、器件信息和资源占用等情况。
[step2]: 在Quartus Prime Tools菜单下的Netlist Viewers中选择RTL Viewer可以查看综合出的RTL级电路结构。
引脚锁定
编译、综合与适配过程完成之后,就可以进行分析和测试了。如果要将设计电路下载到可编程逻辑器件中进行测试,那么还需要进行引脚锁定,以确定工程的顶层设计模块端口与目标器件引脚的对应关系。
Quartus Prime提供了三种引脚锁定方法: (1) 应用Pin Planner锁定引脚; (2) 编写Tcl脚本文件一次完成所有的引脚锁定; (3) 应用属性定义锁定引脚。
method1. 应用 Pin Planner 锁定引脚
step1: 在Quartus Prime主界面中,选择Assignments菜单下的Pin Planner将弹出下图所示的引脚锁定对话页。需要在图中Location栏填入引脚锁定信息。
step2: 查阅开发板应用手册(User Manual),为模块的I/O端口指定对应的引脚。 对于DE2-115开发板,开关量输入电路与FPGA引脚的连接信息和发光二极管驱动电路与FPGA引脚的连接信息如下图所示。
对于4选一数据选择器的设计,若将4路数据d3、d2、d1和d0分别锁定到开关SW17、SW16、SW15和SW14上,2位地址a[1]和a[0]分别锁定到开关SW1和SW0上,输出y锁定到时绿色发光二极管LEDG8上,则需要在引脚锁定对话页下部的Location栏填入相应的FPGA引脚名:
step3: 重新编译工程,生成带有引脚锁定信息的编程与配置文件。
step4: 下载测试。 (编程与配置)
method2. 编写 Tcl 文件锁定引脚
需要锁定的引脚很多时,使用Pin Planner进行引脚锁定效率很低。对于大型工程项目,建议使用Tcl(Tool command language)脚本文件一次完成所有引脚的锁定。
#setup.tcl
#setup pin setting
set_global_assignment -name RESERVE_ALL_UNUSED_PINS "AS INPUT TRI-STATED"
set_global_assignment -name ENABLE_INIT_DONE_OUTPUT OFF
set_location_assignment 引脚名 -to 端口名
.......
其中“setup”为tcl文件名,建议修改为工程名。
使用Tcl脚本文件锁定引脚的具体方法如下:
step1: 在Quartus Prime主界面下,选择Files菜单下的New命令弹出新建文件对话页,选中Design Files栏下的Tcl Script File(Tcl脚本文件),点击OK进入Tcl 文件编辑窗口。
step2: 编辑Tcl文件。在编辑窗口中输入4选一数据选择器mux4to1的Tcl文件内容,并保存为MUX4to1.tcl。
step3: 选择Tools菜单下的Tcl Scripts...将弹出下图所示Tcl Scripts对话页。打开相应的Tcl文件,然后点击Run运行tcl文件即可一次完成引脚锁定。
在Verilog代码中添加芯片引脚属性不会影响Verilog的语法和功能,但在布局布线过程中Quartus Prime会根据chip_pin Attribute来分配引脚。
编程与配置
编程与配置是指将编译、综合与适配后产生含有电路设计信息的目标文件(.sof或.pof)下载到可编程逻辑器件中或者固化到外围的配置器件中。一般地,习惯于将.sof文件加载到FPGA内部查找表的SRAM中的过程称为配置,将.pof文件写入CPLD或者固化到FPGA外部EPCS配置器件中的过程称为编程。 在编程与配置之前,首先需要将装有Quartus Prime软件的计算机通过USB设备电缆(Type A to B)与DE2-115开发板的USB Blaster接口连接起来。
Quartus Prime常用的编程与配置方式有JTAG配置和AS编程两种,其中应用JTAG方式可对多个FPGA进行配置,应用AS方式可对CPLD/EPCS配置器件进行编程。另外,Quartus Prime还支持应用JTAG间接配置方式对EPCS配置器件进行编程。
JTAG配置方式用于将.sof(SRAM Object File,简称配置文件)加载到FPGA查找表的SRAM中,以实现可编程逻辑。
AS编程(Active Serial Programming)方式用于将编程目标文件.pof(Program Object File,简称编程文件)写入FPGA外部的EPCS配置器件中。