如何把旧板 FPGA 程序对拷到新板
旧板子能正常工作,新板子是空的,这时怎么把程序迁移过去?本文记录一次“对拷”流程:通过读取旧板 Flash 中的配置数据,导出 .jic 文件,再写入到新板 Flash,实现新板上电即运行。
1. 核心思路:程序其实在 Flash 里
对很多 Cyclone 系列来说,现场“下载 FPGA 程序”本质是把配置数据写进板上的配置 Flash。因此只要能把旧板 Flash 的内容读出来,就能写进新板 Flash,达到复制效果。这次的测试板的硬件为 Cyclone III EP3C16Q240 + EPCS16 Flash
2. 动手前准备:硬件状态对齐
在开始读写 Flash 前,务必确认新旧板硬件状态完全一致,尤其是相关的短接点或 0Ω 电阻等。
3. 工具与环境:Quartus
流程基于 Quartus 的 Programmer,先把所有 Quartus 关掉,再打开 Quartus ➜ Tools ➜ Programmer(我用的是 Quartus 13.1)。确保下载器(如 USB-Blaster)在 Programmer 中可正常识别与通信。
4. Step A: 从旧板导出 .jic 文件(读出)
- 连接旧板下载器与电源
- 打开 Programmer:先点 Delete 清空条目,再点 Auto Detect 自动识别器件
- 选择正确的 FPGA 型号(例如 EP3C16)并确认
- 右键器件条目,选择 Add Flash Device…,添加正确的 Flash 型号(这里是 EPCS16)
- 勾选第二行 Examine(第一行的 Program/Configure 通常会自动勾选),点击 Start 开始拷出。经验判断:拷出大约 10 秒左右更像正常;如果快得离谱,那大概率有问题
- 选中第二行生成的
.jic条目,点击 Save File 保存到电脑
5. Step B: 把 .jic 文件烧到新板(写入)
- 切换到新板,连接下载器与电源,Programmer 不用关
- Programmer 中先 Delete 所有条目,再点 Add File 把刚保存的
*.jic加载进来 - 两行均勾选 Program/Configure,点击 Start 开始烧录,跑完进度条就完成了