光
最近帮同事看一块新画的板子,FPGA 上电后 DONE 灯不亮,JTAG 能认到器件但配置就是起不来。折腾一圈下来,把排查顺序整理成清单,分享给大家:
1. 先看电源时序:VCCINT、VCCAUX、VCCO 的上电顺序和斜率要符合手册。很多"配置失败"其实是电源时序不对,器件根本没进入配置状态。
2. DONE 引脚状态:DONE 没拉高不等于配置失败——先确认 INIT_B 有没有先拉高再释放。如果 INIT_B 一直为低,说明 CRC 校验没过,bitstream 本身有问题。
3. 配置模式引脚:M[2:0] 电平设错是最常见的低级错误。SPI x4 模式和 BPI 模式的引脚配置完全不同,原理图上标错一个就全军覆没。
4. Flash 内容:用 JTAG 直接烧录 bitstream 到 FPGA,如果能起来,问题就在外部 Flash(时序、型号兼容性、烧录不完整)。
5. bitstream 选项:压缩、加密、回读保护这些选项开错了也会导致配置异常。调试阶段建议先全关掉,调通再一个个加回去。
我们这次最后查出来是 Flash 的 HOLD 引脚悬空,偶发读数错误。大家在配置失败时一般先查哪一步?有没有遇到过更离谱的原因?
1. 先看电源时序:VCCINT、VCCAUX、VCCO 的上电顺序和斜率要符合手册。很多"配置失败"其实是电源时序不对,器件根本没进入配置状态。
2. DONE 引脚状态:DONE 没拉高不等于配置失败——先确认 INIT_B 有没有先拉高再释放。如果 INIT_B 一直为低,说明 CRC 校验没过,bitstream 本身有问题。
3. 配置模式引脚:M[2:0] 电平设错是最常见的低级错误。SPI x4 模式和 BPI 模式的引脚配置完全不同,原理图上标错一个就全军覆没。
4. Flash 内容:用 JTAG 直接烧录 bitstream 到 FPGA,如果能起来,问题就在外部 Flash(时序、型号兼容性、烧录不完整)。
5. bitstream 选项:压缩、加密、回读保护这些选项开错了也会导致配置异常。调试阶段建议先全关掉,调通再一个个加回去。
我们这次最后查出来是 Flash 的 HOLD 引脚悬空,偶发读数错误。大家在配置失败时一般先查哪一步?有没有遇到过更离谱的原因?

