1. 引言
Quartus Prime 18.0 是 Intel(原 Altera)推出的 FPGA 设计套件,支持 Cyclone、Arria、Stratix 等主流器件系列,集成了设计输入、综合、布局布线、时序分析和器件编程等完整流程。本文面向初学者,介绍 Quartus Prime 18.0 的安装、工程创建、代码编写、仿真与下载的完整流程。
2. 软件安装与环境准备
Quartus Prime 18.0 分为 Standard 和 Lite 两个版本。Lite 版本免费,支持 Cyclone 系列等常用器件,适合学习和中小规模项目。安装前建议确认操作系统为 Windows 10 64 位或 Linux 对应版本,并预留至少 20 GB 磁盘空间。
安装步骤如下:
- 从 Intel 官网下载 Quartus Prime 18.0 Lite 安装包。
- 运行安装程序,选择安装目录,建议使用默认路径。
- 在组件选择界面勾选需要的器件支持包,如 Cyclone V、Cyclone 10 等。
- 完成安装后,打开 Quartus Prime 18.0,确认软件能正常启动。
3. 创建工程
启动 Quartus Prime 18.0 后,通过 File 菜单选择 New Project Wizard 创建新工程。工程创建过程中需要指定工程名称、目录和顶层实体名称,并选择目标器件型号。
关键配置项包括:
- 工程名称:建议使用英文,避免中文路径导致编译异常。
- 顶层实体:与工程名称保持一致,便于管理。
- 器件型号:根据开发板实际型号选择,如 Cyclone V 系列。
- EDA 工具设置:可指定第三方仿真工具,如 ModelSim。
3.1软件下载含安装
https://pan.quark.cn/s/1ad5e5149aab
4. 编写 Verilog 代码
工程创建完成后,通过 File 菜单选择 New,然后选择 Verilog HDL File 新建源文件。下面给出一个简单的 LED 闪烁示例。
module led_blink( input wire clk, input wire rst_n, output reg led ); reg [24:0] counter; always @(posedge clk or negedge rst_n) begin if (!rst_n) begin counter <= 25'd0; led <= 1'b0; end else begin counter <= counter + 1'b1; if (counter == 25'd24_999_999) begin counter <= 25'd0; led <= ~led; end end end endmodule代码编写完成后,需要将文件添加到工程中,并设置为顶层实体。
5. 分析与综合
在 Processing 菜单中选择 Start Compilation,Quartus Prime 18.0 会依次执行分析与综合、布局布线等步骤。编译过程中可以在任务窗口查看进度,编译完成后会生成资源使用报告和时序报告。
如果代码存在语法错误,编译器会在消息窗口给出错误定位,双击错误信息可以跳转到对应代码行,便于快速修正。
6. 功能仿真
功能仿真用于验证逻辑功能是否正确。Quartus Prime 18.0 支持内置仿真器,也可以配合 ModelSim 使用。仿真前需要编写测试激励文件,下面给出对应 LED 闪烁模块的测试代码。
`timescale 1ns / 1ps module led_blink_tb; reg clk; reg rst_n; wire led; led_blink uut( .clk(clk), .rst_n(rst_n), .led(led) ); initial begin clk = 1'b0; rst_n = 1'b0; #100; rst_n = 1'b1; end always #10 clk = ~clk; initial begin #1000; $finish; end endmodule仿真前需要在工程设置中指定仿真工具和测试文件,然后启动仿真并观察波形。
7. 引脚分配
逻辑功能验证通过后,需要将设计中的输入输出信号映射到 FPGA 的实际引脚。通过 Assignments 菜单打开 Pin Planner,根据开发板原理图分配引脚。
引脚分配时需要注意:
- 时钟信号应连接到专用时钟引脚。
- 复位信号建议连接到全局复位引脚。
- 普通 IO 信号根据原理图分配到对应 Bank 的引脚。
引脚分配完成后,需要重新编译工程,使引脚约束生效。
9. 常见问题与调试技巧
使用 Quartus Prime 18.0 过程中可能遇到以下常见问题:
- 编译报错:优先查看消息窗口的错误定位,多数为语法错误或端口连接错误。
- 时序不满足:检查时钟约束是否完整,必要时优化关键路径。
- 下载失败:确认下载器驱动已安装,并检查 JTAG 链路连接。
- 仿真无波形:确认测试激励中时钟和复位信号是否正常翻转。
10. 总结
Quartus Prime 18.0 提供了完整的 FPGA 开发流程支持,从工程创建、代码编写、综合仿真到器件编程,各环节紧密衔接。初学者建议从简单的 LED 控制项目入手,逐步熟悉工具操作和设计流程,再向更复杂的数字系统设计进阶。