FPGA片上调试与故障定位实战

📚 共计 30 章节
01
FPGA调试概述
为什么需要片上调试?调试的挑战与常见问题。
调试基础入门
02
调试工具链介绍
Vivado/Vitis IDE、ChipScope Pro、Signal Tap II 等工具概览。
工具Vivado
03
逻辑分析仪基础
什么是逻辑分析仪?与示波器的区别。
仪器对比
04
片上调试核心原理
JTAG、边界扫描、调试接口(ILA、VIO)。
JTAG原理
05
ILA(集成逻辑分析仪)详解
ILA IP 核的配置与使用。
ILAIP核
06
VIO(虚拟输入输出)详解
VIO IP 核的配置与使用。
VIO控制
07
触发条件设置
边沿触发、电平触发、序列触发、计数器触发。
触发高级
08
数据捕获深度与采样率
如何平衡深度与资源?采样率对调试的影响。
存储性能
09
调试探针插入
如何在 RTL 代码中插入调试信号?综合属性(mark_debug)。
RTLmark_debug
10
多时钟域调试
跨时钟域信号的捕获与同步问题。
CDC同步
11
复位信号调试
异步复位、同步释放的调试技巧。
复位时序
12
状态机调试
状态跳转异常、死锁状态的捕获。
FSM死锁
13
总线协议调试
AXI、APB、Avalon 等总线时序分析。
总线AXI
14
DDR 存储器接口调试
读写时序验证与眼图分析。
DDR眼图
15
高速串行接口调试
SerDes、GTX/GTH 收发器调试。
SerDesGTX
16
时序收敛与调试
如何通过调试定位时序违例?
时序收敛
17
功耗分析与调试
动态功耗、静态功耗的片上测量。
功耗测量
18
嵌入式处理器调试
MicroBlaze、ARM Cortex 的片上调试。
嵌入式CPU
19
软硬件协同调试
FPGA 逻辑与嵌入式软件的联合调试。
协同软硬件
20
远程调试
通过网络远程访问 FPGA 调试接口。
远程网络
21
自动化调试脚本
Tcl 脚本控制 Vivado 调试流程。
Tcl自动化
22
调试数据导出与分析
将捕获数据导出到 MATLAB/Python 分析。
导出Python
23
常见故障模式
亚稳态、毛刺、竞争冒险的识别。
故障亚稳态
24
故障定位方法论
二分法、信号追踪法、对比法。
方法论定位
25
调试案例1:计数器异常
从现象到根因。
案例计数器
26
调试案例2:FIFO 溢出/空满标志错误
FIFO 溢出/空满标志错误。
FIFO溢出
27
调试案例3:AXI 总线握手失败
AXI 总线握手失败。
AXI握手
28
调试案例4:时钟域同步失败
时钟域同步失败导致数据错乱。
CDC错乱
29
调试案例5:复位释放时序违规
复位释放时序违规。
复位时序
30
课程总结与最佳实践
调试流程总结、常见误区、进阶学习路径。
总结进阶