01
FPGA逆向概述
什么是FPGA逆向 · 应用场景 · 法律与道德 · 课程框架
概念导论
02
FPGA基础回顾
LUT · FF · BRAM · DSP · IO · 配置原理 · 比特流
结构原理
03
逆向环境搭建
Vivado/ISE · OpenFPGA · Project X-Ray · 逻辑分析仪
工具链硬件
04
比特流结构解析
头部 · 配置数据块 · CRC · 帧结构详解
比特流帧
05
比特流解析实战
Python解析Xilinx 7系列 · 提取配置帧数据
Python实战
06
信号定位基础概念
信号定位 · Net与Pin · 物理/逻辑位置映射
概念映射
07
Xilinx位流文档解读
XBD格式 · Tile类型 · Site与BEL关系
XBD文档
08
数据库构建
从XBD提取Tile网格 · 芯片资源数据库
数据库网格
09
LUT定位方法
LUT输入输出编码 · 查找表内容提取
LUT编码
10
FF(触发器)定位方法
D/Q/CE/CLK引脚位映射
FF触发器
11
BRAM定位方法
Block RAM初始化内容 · 端口信号位置
BRAM存储
12
DSP定位方法
DSP48E1配置位 · 操作模式信号提取
DSP运算
13
IOB定位方法
输入输出块约束 · 信号映射
IOB引脚
14
时钟信号定位
BUFG · MMCM · PLL · 全局时钟追踪
时钟网络
15
布线资源定位
Switch Box · Connection Box · 互连点追踪
布线互连
16
扇出与扇入分析
反向追踪信号扇出/扇入关系
扇出分析
17
时序约束逆向
提取时序约束 · 还原时钟域划分
时序约束
18
状态机逆向
LUT+FF组合分析 · 还原FSM
FSM状态机
19
计数器与分频器定位
识别硬件计数器 · 分频电路
计数器分频
20
总线信号定位
AXI · Wishbone · 总线接口信号
总线AXI
21
调试接口信号定位
JTAG · UART · SPI · I2C 调试接口
调试接口
22
信号定位自动化脚本
Python/Tcl 自动化定位脚本
脚本自动化
23
批量信号定位
大规模设计批量定位 · 报告生成
批量报告
24
信号定位验证方法
仿真 · 实测验证定位正确性
验证仿真
25
常见定位错误与调试
错误类型 · 调试技巧 · 避坑指南
调试经验
26
多FPGA芯片协同定位
多芯片系统 · 跨芯片信号追踪
多芯片协同
27
第三方工具使用
Project X-Ray · SymbiFlow 开源工具
开源工具
28
实战案例1:UART收发器
定位并提取UART所有信号
UART实战
29
实战案例2:RISC-V核心
定位并还原RISC-V处理器信号连接
RISC-V处理器
30
课程总结与进阶方向
技术总结 · 未来趋势 · 学习资源
总结进阶