FPGA 板卡 Bring-up 入门:上电、配置、时钟与调试
myfpga.com.cn 编辑部 · 2026-10-05
FPGA 板卡首次上电时,问题可能来自供电、配置、时钟、复位、引脚约束,也可能来自 RTL。按层次逐项确认,比同时修改多个环节更容易定位原因。
本指南整理通用检查思路。具体电压、上电顺序、配置模式、引脚功能和安全操作,应以目标 FPGA、板卡原理图及器件厂商文档为准。
1. 上电前核对硬件与工程条件
先确认 FPGA 完整型号、封装、速度等级和板卡版本与工程设置一致。对照原理图核查供电轨、时钟源、复位源、配置存储器、JTAG 接口和关键 I/O bank 的连接。
首次加电时,按板卡设计要求逐项测量供电是否建立,并观察是否存在异常电流或器件发热。不要把某个开发板的电压或上电顺序直接套用到另一块板卡。
2. 确认器件识别与配置
通过板载启动介质或 JTAG 配置 FPGA,检查开发工具能否识别器件、配置过程是否完成,以及 DONE 或对应状态指示是否符合预期。若板上有多个 JTAG 器件,还要确认链路顺序、器件 ID 与工程目标一致。
首次调试常使用 JTAG 临时加载配置;产品启动则可能由配置 Flash 或其他启动源提供数据。两种路径涉及不同的启动条件,临时配置成功并不自动证明掉电重启后的启动路径正确。
3. 单独验证时钟与复位
核对输入时钟来源、频率约束、引脚位置和时钟资源分配。配置完成后,检查锁相环或时钟管理单元的锁定状态,再按设计时序释放相关复位。
内部逻辑分析器可观察时钟域内的控制信号,但其采样时钟应与被观察信号的时序关系相符。调试探针不能替代静态时序分析;如果时序不满足,应查看时序报告与关键路径,而不是只依赖片上波形解释问题。
4. 从低风险 I/O 测试开始
选择已确认电气标准、方向和负载条件的信号,先做简单静态电平或低速切换验证,再逐步进入接口协议测试。若使用回环测试,应确认发送端和接收端的电气条件兼容,避免输出冲突。
高速接口通常需要按器件支持、PCB 设计、参考时钟、约束和专用 IP 的要求分别验证。普通 GPIO 观察结果不能代替高速链路的规范测试。
5. 用片上工具观察内部状态
AMD Vivado 的 ILA 和 Intel Quartus 的 Signal Tap 可以捕获器件运行中的内部逻辑信号,适合检查状态机、握手、计数器和数据有效信号。探针数量、触发条件和采样深度会占用器件资源,也可能影响实现结果;加入调试逻辑后仍需重新运行实现和时序检查。
当内部状态无法解释异常时,应结合示波器、逻辑分析仪或协议分析工具观察板级信号。片上与外部测量关注的层次不同,需根据问题选择。
6. 保留可复现记录
每次调试记录板卡版本、FPGA 型号、配置文件版本、工具版本、约束、复位方式、测试步骤和观察结果。一次只改变一个主要条件,有助于区分硬件连接、配置流程与 RTL 行为。
调试通过后,还应验证完整启动过程及预期工作场景,而不只验证 JTAG 临时下载后的单次运行状态。
延伸阅读
了解 FPGA 开发流程;板卡进入产线后,还需规划可重复执行的功能测试和结果追溯,可参阅 FPGA PCBA 生产测试入门。
信息来源
- https://docs.amd.com/r/en-US/ug1388-acap-system-integration-validation-methodology/Debugging-Board-Bring-Up
- https://docs.amd.com/r/en-US/ug908-vivado-programming-debugging/Programming-the-Hardware-Device
- https://docs.amd.com/r/en-US/ug949-vivado-design-methodology/Using-ILA-Cores
- https://www.intel.com/content/www/us/en/docs/programmable/683819/25-1/board-bring-up-and-verification.html
- https://www.intel.com/content/www/us/en/docs/programmable/726952/24-1/signal-tap-logic-analyzer.html