Quartus 18.1 使用 Quartus 25.1 JTAG Server 驱动 USB-Blaster III
目的
在保留 Quartus Prime 18.1 作为主要开发/编译环境的情况下,使用 Quartus Prime 25.1 的 JTAG Server 来支持 USB-Blaster III。
最终结构:
Quartus Prime 18.1 Programmer
│
│ 本机 JTAG Server
▼
Quartus Prime 25.1 jtagserver.exe
│
├── 25.1 JTAG 硬件访问组件
└── USB-Blaster III 支持
│
▼
FPGA
这种方法比把 25.1 的 jtag_hw_usb-blaster3.dll 直接复制到 18.1 更稳妥,因为 jtagserver.exe 和 USB-Blaster III 插件均来自同一个 Quartus 版本。
1. 查看当前正在使用的 JTAG Server
先关闭所有 Quartus 窗口。
以 Quartus 25.1 安装目录为例:
D:\altera25\25.1std
运行:
"D:\altera25\25.1std\quartus\bin64\jtagconfig.exe" --serverinfo
重点查看:
Installed JTAG server is ...
Server reports path: ...
Server reports version: ...
目标是让系统最终使用:
D:\altera25\25.1std\quartus\bin64\jtagserver.exe
2. 如果系统当前使用旧版 JTAG Server
使用 管理员身份 CMD。
假设 Quartus 18.1 安装目录为:
D:\intelFPGA\18.1
先停止旧版 JTAG Server:
"D:\intelFPGA\18.1\quartus\bin64\jtagserver.exe" --stop
然后卸载旧版 JTAG Server 服务:
"D:\intelFPGA\18.1\quartus\bin64\jtagserver.exe" --uninstall
注意:
这一步只是取消 Windows 中旧版 JTAG Server 服务的注册,不会卸载 Quartus 18.1。
3. 注册 Quartus 25.1 的 JTAG Server
仍然使用管理员 CMD:
"D:\altera25\25.1std\quartus\bin64\jtagserver.exe" --install
启动服务:
"D:\altera25\25.1std\quartus\bin64\jtagserver.exe" --start
查看状态:
"D:\altera25\25.1std\quartus\bin64\jtagserver.exe" --status
再次检查当前 JTAG Server:
"D:\altera25\25.1std\quartus\bin64\jtagconfig.exe" --serverinfo
此时应看到类似:
Installed JTAG server is 'D:\altera25\25.1std\quartus\bin64\jtagserver.exe'
Service manager reports server is running
Server reports path:
D:\altera25\25.1std\quartus\bin64\jtagserver.exe
Server reports version:
Version 25.1 ...
4. 使用 Quartus 25.1 测试 USB-Blaster III
插入 USB-Blaster III,然后运行:
"D:\altera25\25.1std\quartus\bin64\jtagconfig.exe"
正常情况下应该能看到类似:
1) USB-BlasterIII [...]
xxxxxxxx 5CEFA5...
此时说明:
Quartus 25.1 JTAG Server
↓
USB-Blaster III
↓
FPGA
工作正常。
5. 使用 Quartus 18.1 的 jtagconfig 验证
保持 Quartus 25.1 JTAG Server 服务运行。
执行:
"D:\intelFPGA\18.1\quartus\bin64\jtagconfig.exe"
如果仍然能看到:
1) USB-BlasterIII [...]
xxxxxxxx 5CEFA5...
说明配置成功。
此时实际结构为:
18.1 jtagconfig / Programmer
│
│ 本机 JTAG Server
▼
25.1 jtagserver.exe
│
▼
USB-Blaster III
│
▼
FPGA
6. Quartus 18.1 中正常使用 Programmer
直接启动 Quartus Prime 18.1:
Tools
↓
Programmer
↓
Hardware Setup...
硬件列表中应可以看到:
USB-BlasterIII [...]
选择该下载器,然后正常:
Add File
↓
xxx.sof
↓
Program/Configure
↓
Start
因此整个下载流程实际上是:
Quartus 18.1 编译工程
↓
生成 .sof
↓
Quartus 18.1 Programmer
↓
Quartus 25.1 JTAG Server
↓
USB-Blaster III
↓
FPGA
Quartus 18.1 仍负责工程编译和 Programmer GUI,Quartus 25.1 的 JTAG Server 只负责底层 JTAG 硬件访问。
7. 为什么不推荐直接复制 DLL
USB-Blaster III 对应的 Quartus JTAG 插件为:
jtag_hw_usb-blaster3.dll
Quartus 25.1 中通常位于:
<Quartus 25.1>\quartus\bin64\jtag_hw_usb-blaster3.dll
虽然可以尝试把它复制到 Quartus 18.1:
18.1 jtagserver.exe
↓
25.1 jtag_hw_usb-blaster3.dll
但这样会让:
18.1 JTAG Server
↕
25.1 硬件插件
跨版本组合,可能存在插件接口或 ABI 兼容问题。
使用 25.1 JTAG Server 时则是:
25.1 jtagserver.exe
↓
25.1 jtag_hw_usb-blaster3.dll
JTAG Server 和硬件插件属于同一个版本,因此更加稳妥。
8. 多版本 Quartus 共存时的注意事项
如果系统同时安装:
Quartus 13.1
Quartus 18.1
Quartus 20.1
Quartus 25.1
某些 Quartus 安装、修复或升级操作可能会重新注册自己的 JTAG Server。
如果以后突然发现 USB-Blaster III 无法在旧 Quartus 中使用,首先运行:
"D:\altera25\25.1std\quartus\bin64\jtagconfig.exe" --serverinfo
检查:
Server reports path:
是否仍然指向:
D:\altera25\25.1std\quartus\bin64\jtagserver.exe
如果又变成旧版,例如:
D:\intelFPGA\18.1\quartus\bin64\jtagserver.exe
重新执行:
"D:\intelFPGA\18.1\quartus\bin64\jtagserver.exe" --stop
"D:\intelFPGA\18.1\quartus\bin64\jtagserver.exe" --uninstall
"D:\altera25\25.1std\quartus\bin64\jtagserver.exe" --install
"D:\altera25\25.1std\quartus\bin64\jtagserver.exe" --start
然后再次确认:
"D:\altera25\25.1std\quartus\bin64\jtagconfig.exe" --serverinfo
9. 不需要配置 --addserver localhost
同一台 Windows 电脑上共用 JTAG Server 时,通常不需要执行:
jtagconfig --addserver localhost ...
--addserver 主要用于连接另一台机器上的远程 JTAG Server。
本机多个 Quartus 版本直接使用 Windows 中已经运行的 JTAG Server 服务即可。
最终验证结果
本机实测:
- Quartus Prime 18.1:继续作为旧工程开发环境
- Quartus Prime 25.1:提供新版 JTAG Server
- USB-Blaster III:正常识别
- Quartus 18.1 Programmer:可以通过 25.1 JTAG Server 正常访问 USB-Blaster III
- FPGA 下载:成功
推荐保留此配置作为多版本 Quartus 共存时的默认 JTAG 环境。