3. 开发环境与工具链搭建
Agilex 系列(含 Agilex 7、Agilex 5)只能使用 Quartus Prime Pro 版本进行编译,Standard 版本不支持 Agilex 器件。因此本节的核心任务是:在一台或一批工程机上,把 Quartus Prime Pro、对应器件支持包、许可证、版本控制与团队协作环境一次性搭好,并保证多人、多机之间可复现。下面按“装什么—怎么装—怎么授权—怎么管版本—怎么协作”的顺序展开。
一、安装内容与目录规划
Quartus Prime Pro 的安装包由若干独立组件构成,安装时按需勾选即可,不必全装。对 Agilex 项目,典型组件如下:
- Quartus Prime Pro 主程序:综合、布局布线、时序分析、编程文件生成的核心,必须安装。
- Agilex 器件支持包(Device Support):按具体器件系列勾选,例如 Agilex 7(AGF/AGI/AGM 等)与 Agilex 5(A5E/A5M 等)。器件包体积大,只勾选项目实际用到的系列可显著缩短安装时间。
- ModelSim / Questa Intel FPGA 版:用于 RTL 功能仿真,建议安装。
- DSP Builder、HLS Compiler、Nios V 工具链:按项目是否使用决定。
- USB-Blaster / 下载电缆驱动:用于板级下载与调试。
安装路径建议统一规划,避免中文路径与空格。例如 Windows 下使用 D:\intelFPGA_pro\24.3,Linux 下使用 /opt/intelFPGA_pro/24.3。版本号作为一级目录,便于后续并存多个版本。安装完成后,主程序位于 quartus/bin,器件包位于 quartus/common/devinfo 与 quartus/../devices 等目录。
二、安装方式与静默安装
单机安装可直接运行 QuartusProSetup-<版本>.exe(Windows)或 ./QuartusProSetup-<版本>.run(Linux),按向导勾选组件。团队批量部署时更推荐静默安装,便于脚本化与统一版本。以 Linux 为例,可先生成配置文件再执行:
# 1. 生成静默安装配置模板
./QuartusProSetup-24.3std-linux.run --mode text --create-install-config install_config.txt
# 2. 编辑 install_config.txt,关键字段示例
# QUARTUS_PRO_INSTALL_DIR=/opt/intelFPGA_pro/24.3
# DEVICE_AGILEX7=1
# DEVICE_AGILEX5=1
# MODEL_SIM=1
# USB_BLASTER=1
# 3. 执行静默安装
./QuartusProSetup-24.3std-linux.run --mode unattended --unattendedmodeui none \
--install-config install_config.txt
安装完成后,用 quartus_sh --version 确认主程序版本,用 quartus_sh --list_devices 或 quartus_sh -t 脚本查询已安装器件,确认目标 Agilex 器件确实存在。若器件缺失,说明器件支持包未勾选或安装不完整,需要重新运行安装程序补装。
三、许可证配置
Quartus Prime Pro 需要许可证才能编译。许可证来源通常有两种:Intel FPGA 官方授权(通过 Intel 自助服务或代理商获取 .dat 文件),或公司内部的许可证服务器。配置方式分本地文件与网络浮动两种。
本地文件方式:将 license.dat 放到固定目录,例如 D:\licenses\quartus_pro.dat,然后设置环境变量 LM_LICENSE_FILE 或 QUARTUS_LICENSE_FILE 指向该文件。网络浮动方式则指向服务器端口,例如 27000@lic-server.company.com。Linux 下可在 ~/.bashrc 中写入:
export QUARTUS_LICENSE_FILE=27000@lic-server.company.com
export LM_LICENSE_FILE=$QUARTUS_LICENSE_FILE
配置完成后,用 quartus_sh --license 或启动 Quartus 查看 Help → Licensing 确认授权状态。若提示找不到 Agilex 特性,通常是许可证未包含对应器件特性,需要联系授权方更新 INCREMENT 行。注意:许可证中的 hostid(MAC 地址或 FlexID)必须与本机一致,换机或换网卡后需重新申请。
四、版本管理与团队协作环境
FPGA 工程的版本管理不能只提交源码,还要考虑 Quartus 生成的大量中间文件。推荐做法是:只把源文件、约束文件、脚本、IP 描述文件纳入 Git,把 db/、incremental_db/、output_files/、tmp/ 等加入 .gitignore。典型 .gitignore 片段:
db/
incremental_db/
output_files/
tmp/
*.qws
*.qpf.bak
*.rpt
*.sof
*.pof
*.sopcinfo
工程文件 .qpf、.qsf 必须提交,因为 .qsf 记录了器件型号、引脚约束、编译选项等关键设置。IP 若使用 .ip 或 .qip,也应提交,并确保 IP 生成脚本可复现。团队协作时,建议统一 Quartus 版本号,并在仓库根目录放置 README 说明所需版本、器件包、许可证服务器地址与编译命令。
多人协作的常见问题是“同一工程在不同机器上编译结果不一致”。解决思路是:统一版本、统一器件包、统一编译脚本。推荐用 quartus_sh -t build.tcl 或 quartus_sh --flow compile <project> 进行命令行编译,把编译流程固化到脚本中,避免依赖 GUI 手工操作。CI 环境中可只安装 Quartus 主程序与目标器件包,用脚本完成综合与布局布线,输出 .sof 与报告供后续使用。
五、环境验证与常见问题
环境搭好后,建议按以下顺序做一次完整验证:第一步,quartus_sh --version 确认版本;第二步,quartus_sh --list_devices 确认目标 Agilex 器件存在;第三步,quartus_sh --license 确认授权有效;第四步,用一个最小工程(例如 LED 闪烁)跑通综合、布局布线、生成 .sof;第五步,用 USB-Blaster 下载到板卡,观察实际现象。五步都通过,说明环境可用。
常见问题与判断依据:若编译报 “Device not supported”,说明器件包缺失;若报 “License not found” 或 “Feature not available”,说明许可证未配置或未包含 Agilex 特性;若多人编译结果不一致,优先检查 Quartus 版本与器件包版本是否一致,再检查 .qsf 是否被误改。把这些检查点写进团队 README,可以显著减少重复排障时间。
README.md,新成员按文档操作即可复现环境,避免口头传递造成版本漂移。