1. 为什么 Cyclone IV 老工程在 Win11 上装 Quartus 总翻车
如果你手上还有一块 Cyclone IV 的开发板,比如 EP4CE6、EP4CE10 这类经典芯片,大概率会遇到一个尴尬局面:板子还能跑,但新电脑装不上工具链。Quartus Prime Lite 25.1 是 Intel 目前对 Cyclone IV 支持比较完整的免费版本,但它在 Windows 上的安装过程有两个绕不开的坎——USB-Blaster 驱动签名和许可证文件配置。这两个问题不解决,你连下载都下载不了,更别提编译和烧录。
我自己最近重新捡起一块 EP4CE6E22C8 的核心板,系统是 Windows 11 23H2,全程走了一遍 Quartus Prime Lite 25.1 的安装配置。整个过程踩了三个坑:驱动装完设备管理器显示黄色感叹号、许可证环境变量指向错误导致编译报错、USB-Blaster 在 Quartus Programmer 里识别不到。这篇文章就把这三个问题的根因和解决路径完整拆开讲,顺带把 Cyclone IV 工程的实测流程走一遍。
适合谁看?如果你是从 Xilinx 转过来第一次碰 Quartus 的,或者以前用过老版本 Quartus II 但现在换了新电脑的,这篇文章能帮你省掉至少两个小时的反复折腾。如果你是完全零基础,也没关系,我会把每一步的操作意图讲清楚,你照着做就行。
提示:Quartus Prime Lite 25.1 对 Cyclone IV 的支持是有限度的,不是所有 Cyclone IV 型号都在 Lite 版本的器件库里。安装前先确认你的芯片型号在 Lite 版支持列表中,否则装了也白装。
2. 安装前的环境确认与版本选择逻辑
2.1 为什么选 Lite 25.1 而不是 Standard 或 Pro
Quartus Prime 有三个版本:Lite、Standard、Pro。很多人第一次下载的时候会懵,不知道该选哪个。这里直接给结论:Cyclone IV 只能用 Lite 版。Standard 版主要覆盖 Cyclone V 到 Cyclone 10 的中端器件,Pro 版面向 Stratix 和 Agilex 系列,这两个版本都不包含 Cyclone IV 的器件库。
那为什么选 25.1 这个版本号?因为 Quartus Prime Lite 从 20.1 之后对 Cyclone IV 的支持就进入了维护状态,25.1 是目前较新的一个 Lite 版本,既保留了 Cyclone IV 的完整器件库,又对 Windows 11 的兼容性做了更新。如果你去下载 18.1 或更早的版本,在 Win11 上可能会遇到安装程序闪退的问题。
下载的时候注意几个文件:
| 文件 | 作用 | 是否必须 |
|---|---|---|
| QuartusLiteSetup-25.1windows.exe | 主安装程序 | 必须 |
| CycloneIV器件库 | 器件支持文件 | 必须 |
| USB-Blaster驱动 | 下载线驱动 | 必须 |
| ModelSim-Intel FPGA Starter Edition | 仿真工具 | 可选 |
主安装程序大概 1.5GB 左右,Cyclone IV 器件库大概 2GB,加起来下载量不小。建议用有线网络下载,无线下载中途断流的话安装程序可能会损坏。
2.2 Windows 11 上的驱动签名限制
Windows 11 对驱动签名比 Win10 更严格。USB-Blaster 的驱动是 Intel 自己签的,但签名证书链在某些 Win11 版本上会被系统判定为"不受信任"。这不是驱动本身有问题,而是 Windows 的安全策略更新导致的。
具体表现是:你插上 USB-Blaster 下载线,设备管理器里会出现一个带黄色感叹号的"USB-Blaster"设备,右键更新驱动指向 Quartus 安装目录下的驱动文件夹,系统提示"Windows 无法验证此驱动程序软件的发布者"。
解决这个问题的核心思路是:在安装驱动之前,先临时禁用驱动签名强制。注意是临时禁用,重启后会自动恢复,不会对系统安全造成长期影响。
2.3 安装路径与磁盘空间规划
Quartus Prime Lite 25.1 完整安装(含 Cyclone IV 器件库和 ModelSim)大概需要 25GB 到 30GB 的磁盘空间。如果你只装 Quartus 本体加 Cyclone IV 器件库,大概 15GB 左右。
安装路径建议用默认路径C:\intelFPGA_lite\25.1,不要改到中文路径或者带空格的路径下。我试过装到D:\Program Files\Quartus这种带空格的路径,结果 ModelSim 调用的时候路径解析出错。虽然 Quartus 本体能跑,但仿真环节会莫名其妙报错。
注意:安装路径中绝对不能出现中文字符。这是 Quartus 工具链的老毛病了,从 Quartus II 时代就存在,到 25.1 依然没修。
3. USB-Blaster 驱动的完整安装链路
3.1 临时禁用驱动签名强制的操作步骤
这一步是整个安装过程中最关键的操作。具体步骤如下:
- 按住 Shift 键,同时点击开始菜单里的"重启",进入高级启动选项。
- 选择"疑难解答" -> "高级选项" -> "启动设置" -> "重启"。
- 重启后按数字键 7 或 F7,选择"禁用驱动程序强制签名"。
- 系统正常启动后,驱动签名强制就处于临时禁用状态。
这个状态下,你可以安装任何未签名或签名不被信任的驱动。重启一次之后,系统会自动恢复签名强制,但已经安装好的驱动不会失效。
3.2 手动指定驱动路径的正确方式
进入系统后,插上 USB-Blaster 下载线,打开设备管理器。你会看到"其他设备"下面有一个"USB-Blaster"或者"未知设备"。
右键 -> 更新驱动程序 -> 浏览我的电脑以查找驱动程序 -> 让我从计算机上的可用驱动程序列表中选取 -> 从磁盘安装 -> 浏览到C:\intelFPGA_lite\25.1\quartus\drivers\usb-blaster目录,选择usbblstr.inf文件。
安装过程中会弹出"Windows 安全"对话框,提示无法验证发布者,点击"始终安装此驱动程序软件"。安装完成后,设备管理器里的黄色感叹号消失,设备会出现在"通用串行总线控制器"下面,显示为"Altera USB-Blaster"。
如果你在设备管理器里看到的是"USB-Blaster II"或者"USB-Blaster III",驱动路径是一样的,但需要确认你的下载线型号。老款的 USB-Blaster 是蓝色外壳,新款的 USB-Blaster II 是黑色外壳,两者驱动兼容但硬件不同。
3.3 驱动装完但 Programmer 识别不到的排查
有时候驱动装好了,设备管理器里也正常显示了,但打开 Quartus Programmer 就是找不到硬件。这种情况我遇到过两次,原因分别是:
第一次是 USB 线的问题。我用的是一根普通的 USB 数据线,不是下载线自带的原装线。那根线只能充电不能传数据,换回原装线之后立刻识别到了。所以如果你遇到识别不到的情况,先换一根线试试。
第二次是 Programmer 的硬件设置没刷新。Quartus Programmer 打开后,需要点击 "Hardware Setup" 按钮,在弹出的对话框里选择 "USB-Blaster",然后点 Close。如果列表里没有 USB-Blaster 选项,点 "Add Hardware" 手动添加。
还有一个容易被忽略的点:如果你同时装了 Quartus 和 Vivado,两个工具都会占用 USB 驱动资源。Vivado 的 cable 驱动有时候会跟 USB-Blaster 驱动冲突。解决办法是在设备管理器里把 Vivado 的 cable 驱动禁用,或者干脆在设备管理器里卸载掉。
4. 许可证配置的三种方式与踩坑记录
4.1 免费许可证的获取与文件格式
Quartus Prime Lite 是免费版本,不需要付费许可证。但你需要一个许可证文件来解锁完整功能。获取方式是在 Intel 官网注册账号,然后在 License Center 里申请一个免费的 Lite 许可证。
申请完成后你会得到一个license.dat文件。这个文件里包含了你的网卡 MAC 地址和功能授权信息。注意:许可证文件是和网卡 MAC 地址绑定的,如果你换了电脑或者换了网卡,需要重新申请。
文件内容大概长这样:
FEATURE quartus alterad 2035.12 permanent uncounted \ HOSTID=001122334455 SIGN=...其中HOSTID后面的就是你的网卡 MAC 地址。如果你有多块网卡,申请的时候要选对。选错了的话,许可证文件里的 MAC 地址和实际使用的不一致,Quartus 会报错。
4.2 环境变量配置的两种路径
许可证配置有两种方式:通过环境变量或者通过 Quartus 界面设置。
环境变量方式是在系统属性里新建一个变量:
- 变量名:
LM_LICENSE_FILE - 变量值:
C:\intelFPGA_lite\25.1\license.dat
这种方式的优点是全局生效,所有 Intel FPGA 工具都能读到。缺点是如果你同时装了多个版本的 Quartus,可能会冲突。
界面设置方式是打开 Quartus,进入 Tools -> License Setup,在 "License file" 栏里填入许可证文件的完整路径。这种方式只对当前版本的 Quartus 生效,不会影响其他工具。
我个人的建议是用界面设置方式,因为更可控。环境变量方式在同时装多个版本的时候容易出问题,而且排查起来麻烦。
4.3 许可证报错的典型症状与修复
许可证配置错误的时候,Quartus 会在编译时弹出错误对话框,提示 "License file not found" 或者 "Invalid license file"。
如果提示 "License file not found",说明路径写错了。检查路径中是否有中文、空格,或者文件是否真的存在于那个位置。
如果提示 "Invalid license file",说明文件内容有问题。常见原因有三个:MAC 地址不匹配、文件被修改过、文件编码不对。许可证文件必须是 ASCII 编码,如果你用记事本打开后另存为 UTF-8,可能会导致解析失败。
还有一个比较隐蔽的问题:许可证文件里的日期格式。有些版本的 Quartus 对日期格式敏感,如果系统区域设置不是英文(美国),可能会把日期解析错。解决办法是把系统区域设置改成"英语(美国)",或者手动编辑许可证文件里的日期格式。
提示:如果你只是做学习用途,Quartus Lite 在未配置许可证的情况下也能打开和编辑工程,只是不能编译和烧录。所以许可证问题不影响你熟悉界面和写代码,但最终下载到板子上必须配置好。
5. Cyclone IV 工程从建立到烧录的实测流程
5.1 新建工程的器件选型与参数设置
打开 Quartus Prime Lite 25.1,点击 File -> New Project Wizard。第一步是设置工程路径和名称,路径不要有中文和空格,工程名用英文。
第二步是选择器件。在 Device family 里选 "Cyclone IV E",然后在下方列表里找到你的具体型号。我用的板子是 EP4CE6E22C8,所以选的是 "EP4CE6E22C8"。如果你不确定自己的芯片型号,看芯片表面的丝印,上面会印着完整的型号。
第三步是添加设计文件。如果你是新建工程,这一步可以跳过,后面手动添加。如果你已经有 Verilog 或 VHDL 文件,在这里添加进去。
第四步是选择 EDA 工具。如果你要用 ModelSim 做仿真,在 Simulation 那一栏选 "ModelSim-Altera",格式选 Verilog HDL 或 VHDL。如果你不做仿真,这一步可以跳过。
工程建立完成后,建议先做一个最简单的 LED 闪烁工程来验证工具链是否正常。代码很简单:
module led_blink( input clk, output reg led ); reg [23:0] counter; always @(posedge clk) begin counter <= counter + 1; if (counter == 24'd0) led <= ~led; end endmodule这段代码的作用是让 LED 以大约 1Hz 的频率闪烁(假设时钟是 50MHz)。编译之后,打开 Pin Planner,把 led 信号分配到板子上 LED 对应的引脚,clk 分配到时钟输入引脚。
5.2 引脚分配与编译选项的注意事项
引脚分配是 Cyclone IV 工程里比较容易出错的地方。Pin Planner 里需要填三个关键信息:引脚号、I/O 标准、驱动能力。
引脚号根据你的板子原理图来填。I/O 标准一般选 3.3-V LVTTL,如果你的板子是 1.2V 或 2.5V 的 I/O,需要对应修改。驱动能力默认 8mA 就行,除非你的 LED 需要更大电流。
编译之前,检查一下 Assignment -> Device -> Device and Pin Options 里的几个设置:
- Unused Pins:建议设为 "As input tri-stated",避免未使用的引脚输出干扰信号。
- Dual-Purpose Pins:如果你不用外部存储器,把 nCEO 等复用引脚设为 "Use as regular I/O"。
- Configuration:确认配置模式是 "Active Serial" 还是 "JTAG",根据你的下载方式选择。
编译过程大概需要几十秒到几分钟,取决于工程复杂度。编译完成后,在 Compilation Report 里查看资源占用情况。EP4CE6 有 6272 个逻辑单元,一个 LED 闪烁工程大概用几十个 LE,资源占用率不到 1%。
5.3 烧录到板子上的完整操作
编译通过后,打开 Quartus Programmer。点击 "Auto Detect" 让工具自动识别芯片,如果识别不到,检查 USB-Blaster 驱动和硬件连接。
识别到芯片后,点击 "Add File" 添加生成的.sof文件。这个文件在工程的output_files目录下。勾选 "Program/Configure" 选项,然后点击 "Start" 开始烧录。
烧录成功后,Programmer 界面会显示 "Successful"。此时板子上的 LED 应该开始闪烁。如果 LED 不亮,检查三个地方:引脚分配是否正确、LED 的极性是否搞反、板子是否上电。
注意:
.sof文件是烧录到 FPGA 的 SRAM 里的,断电后配置会丢失。如果你想让配置掉电不丢失,需要生成.jic文件烧录到配置芯片里。生成.jic的方法是在 File -> Convert Programming Files 里选择 JTAG Indirect Configuration File,然后添加.sof文件并指定配置芯片型号。
6. 几个容易忽略但影响很大的细节
6.1 杀毒软件对 Quartus 编译速度的影响
这个坑我踩得很深。第一次装完 Quartus 之后,编译一个简单的 LED 工程花了将近三分钟,我以为是自己电脑配置不行。后来发现是 Windows Defender 在实时扫描 Quartus 的临时文件。
解决办法是把 Quartus 的安装目录和工程目录都加入 Windows Defender 的排除列表。具体操作是:设置 -> 隐私和安全性 -> Windows 安全中心 -> 病毒和威胁防护 -> 管理设置 -> 排除项 -> 添加文件夹。
加入排除之后,同一个工程的编译时间从三分钟降到了二十秒左右。这个提升非常明显,尤其是工程大了之后,差距会更大。
如果你装了第三方杀毒软件,比如某数字卫士或者某管家,也需要做同样的排除操作。有些杀毒软件还会拦截 Quartus 的许可证验证请求,导致编译时报许可证错误。
6.2 ModelSim 联合仿真的路径配置
如果你要用 ModelSim 做仿真,需要在 Quartus 里配置 ModelSim 的路径。路径在 Tools -> Options -> EDA Tool Options 里设置。
ModelSim-Altera Starter Edition 是随 Quartus 一起安装的,路径通常在C:\intelFPGA_lite\25.1\modelsim_ase\win32aloem。注意这个路径是 32 位的,即使你的系统是 64 位,也要指向这个目录。
配置好之后,在 Quartus 里点击 Tools -> Run Simulation Tool -> RTL Simulation,会自动调用 ModelSim 并加载测试平台。如果你没有写测试平台,ModelSim 会打开但不会运行仿真。
一个常见的坑是:ModelSim 的工程路径里如果有中文,仿真会直接报错退出。所以测试平台文件和工程文件都要放在纯英文路径下。
6.3 工程迁移到另一台电脑时的注意事项
如果你把工程从一台电脑拷贝到另一台电脑,有几个地方需要检查:
- 器件库是否一致:新电脑上必须装了相同版本的 Quartus 和 Cyclone IV 器件库,否则打开工程会提示器件不支持。
- 许可证是否有效:许可证是和 MAC 地址绑定的,换了电脑需要重新申请或者把许可证文件更新为新电脑的 MAC 地址。
- 引脚分配是否保留:引脚分配信息保存在
.qsf文件里,拷贝工程的时候要确保这个文件一起拷贝了。 - 编译输出是否需要清理:建议在新电脑上先执行 Project -> Clean Project,然后重新编译,避免旧的编译缓存导致奇怪的问题。
我一般会在工程目录下放一个readme.txt,记录这个工程用的 Quartus 版本、器件型号、引脚分配说明。这样即使过了半年再打开,也能快速回忆起工程的关键信息。
7. 常见问题速查与个人经验总结
7.1 驱动与许可证问题速查表
| 问题现象 | 可能原因 | 解决方式 |
|---|---|---|
| 设备管理器黄色感叹号 | 驱动签名未通过 | 临时禁用驱动签名后重装 |
| Programmer 找不到硬件 | USB 线不支持数据传输 | 更换原装下载线 |
| 编译报 License not found | 环境变量路径错误 | 改用界面设置许可证路径 |
| 编译报 Invalid license | MAC 地址不匹配 | 重新申请或更新许可证文件 |
| ModelSim 启动闪退 | 路径含中文 | 工程和测试平台移到英文路径 |
| 编译速度异常慢 | 杀毒软件实时扫描 | 将 Quartus 目录加入排除列表 |
7.2 我个人的几条实操建议
第一,安装之前先关掉所有杀毒软件和防火墙。Quartus 安装过程中会释放大量临时文件,杀毒软件的实时扫描会拖慢安装速度,有时候还会误删文件导致安装失败。
第二,USB-Blaster 驱动装好之后,先别急着拔线。打开 Quartus Programmer 确认能识别到硬件,再拔线。如果识别不到,趁驱动签名还处于禁用状态,重新装一遍。
第三,许可证文件备份一份到网盘或者 U 盘。这个文件不大,但重新申请需要登录官网、填写信息,挺麻烦的。备份一份,换电脑的时候直接改 MAC 地址就能用。
第四,工程目录结构要规范。我一般是这样组织的:project_name/rtl放 Verilog 源码,project_name/tb放测试平台,project_name/quartus放 Quartus 工程文件,project_name/doc放文档和引脚分配表。这样结构清晰,迁移的时候不容易漏文件。
第五,遇到问题先看 Quartus 的 Messages 窗口。很多人编译报错之后直接来问我,其实 Messages 窗口里已经把错误原因写得很清楚了。Error 和 Critical Warning 都要看,Warning 可以暂时忽略,但 Error 必须解决。
7.3 关于 Cyclone IV 在 25.1 上的长期使用建议
Cyclone IV 是一颗很老的芯片了,Intel 对它的支持只会越来越少。25.1 可能是最后一个对 Cyclone IV 支持比较完整的 Lite 版本。如果你打算长期用 Cyclone IV 做项目,建议把 25.1 的安装包和器件库都备份好,免得以后官网下架了找不到。
另外,如果你只是做学习用途,其实不一定非要追新版本。Quartus II 13.1 对 Cyclone IV 的支持也很完整,而且安装包更小、安装更快。但 13.1 在 Win11 上兼容性有问题,需要改兼容性设置才能正常运行。所以如果你用的是 Win11,还是建议用 25.1。
最后说一个我自己的体会:FPGA 工具链的安装配置本身就是一道门槛,很多人不是卡在写代码上,而是卡在环境配置上。把环境配好之后,后面的事情就顺了。所以花时间把驱动和许可证这两个问题彻底解决,是值得的。