name: fpga-debugging description: 使用ILA、VIO及相关FPGA调试工具进行片上调试的技能 allowed-tools:
- Read
- Write
- Edit
- Glob
- Grep
- Bash
FPGA调试技能
概述
使用集成逻辑分析仪(ILA)、虚拟输入/输出(VIO)及相关调试基础设施对FPGA设计进行片上调试的专家级技能。
能力
- 插入集成逻辑分析仪(ILA)探针
- 配置触发条件和捕获深度
- 设计虚拟输入/输出(VIO)调试接口
- 分析捕获的波形
- 使用ChipScope/SignalTap进行调试
- 调试硬件中的时序和功能问题
- 为生产版本移除调试逻辑
- 配置JTAG和调试中心
目标流程
- fpga-on-chip-debugging.js
- functional-simulation.js
- design-for-testability.js
使用指南
ILA插入
- 识别需要探测的关键信号
- 考虑捕获深度与资源占用的平衡
- 将相关信号分组到单个ILA中
- 对HDL信号使用mark_debug属性
- 配置适当的数据宽度和触发宽度
触发配置
- 对简单条件使用基本触发
- 对复杂模式应用高级触发
- 使用AND/OR逻辑组合触发器
- 在捕获窗口中配置触发位置
- 使用存储限定进行高效捕获
VIO使用
- 创建调试控制接口
- 动态注入测试模式
- 覆盖内部信号
- 实时监控状态
- 适用于启动和特性分析
调试基础设施
- 将调试中心连接到JTAG
- 为调试逻辑配置时钟域
- 规划多个ILA实例
- 考虑调试访问端口路由
- 记录调试信号映射
生产注意事项
- 使用ifdef防护调试逻辑
- 创建调试和发布构建流程
- 最小化调试对时序的影响
- 最终发布前移除调试
- 维护调试构建配置
依赖项
- 调试工具CLI(hw_server等)
- JTAG连接性
- 供应商调试IP知识