分类 FPGA 下的文章

问题

Quartus 13.1 在 Win10 系统下载程序,遇到 cygwin 兼容红字报错如下:

0 [main] bash 20980 find_fast_cwd: WARNING: Couldn't compute FAST_CWD pointer. Please report this problem to the public mailing list [email protected]

AI 的解释是“老版本的 Cygwin 运行在你较新的 Windows 系统上”、“Altera 官方当时确实发布过一个专门针对此问题的补丁包”。

解决方法

进入你的 Quartus 安装路径,替换bin文件夹。
替换文件altera_quartus13.1_cygwin_patch.zip可去 CSDN 上下载。

报错消失

最后几行如下为正常,此时没有红字报错:

Info: Programmed 11KB +117KB in 2.6s (49.2KB/s)                  
Info: Did not attempt to verify device contents
Info: Leaving target processor paused

旧板子能正常工作,新板子是空的,这时怎么把程序迁移过去?本文记录一次“对拷”流程:通过读取旧板 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 文件(读出)

  1. 连接旧板下载器与电源
  2. 打开 Programmer:先点 Delete 清空条目,再点 Auto Detect 自动识别器件
  3. 选择正确的 FPGA 型号(例如 EP3C16)并确认
  4. 右键器件条目,选择 Add Flash Device…,添加正确的 Flash 型号(这里是 EPCS16)
  5. 勾选第二行 Examine(第一行的 Program/Configure 通常会自动勾选),点击 Start 开始拷出。经验判断:拷出大约 10 秒左右更像正常;如果快得离谱,那大概率有问题
  6. 选中第二行生成的 .jic 条目,点击 Save File 保存到电脑

5. Step B: 把 .jic 文件烧到新板(写入)

  1. 切换到新板,连接下载器与电源,Programmer 不用关
  2. Programmer 中先 Delete 所有条目,再点 Add File 把刚保存的 *.jic 加载进来
  3. 两行均勾选 Program/Configure,点击 Start 开始烧录,跑完进度条就完成了