01
比特流基础
FPGA架构概述 · 比特流是什么 · 在FPGA启动中的作用
概念入门
02
环境准备
Linux虚拟机搭建 · Python3与pip · Git配置
工具环境
03
必备工具安装
GCC, Make, CMake, Flex, Bison, libelf, libftdi1-dev
编译依赖
04
Project X-Ray项目
背景与目标 · 仓库结构 · 获取源码
开源逆向
05
数据库构建
运行构建脚本 · 理解fuzzers目录结构
构建数据库
06
器件支持
Artix-7 · Kintex-7 · Zynq-7000 系列
FPGA系列
07
比特流格式解析
同步字 · 帧地址 · 配置数据 · CRC校验
协议底层
08
帧结构详解
帧长度/数量 · 列类型 · CLB与BRAM帧区别
结构存储
09
位流与网表对应
LUT配置位 · FF配置位 · BRAM初始化位
映射逻辑
10
prjxray-db工具
数据库查询 · segmatch · segprint
工具查询
11
prjxray-config工具
读取比特流 · 写入 · 验证配置
配置读写
12
fuzzer开发入门
框架理解 · 编写第一个fuzzer · 运行与调试
开发fuzzer
13
Tile类型分析
CLBLL_L/R · CLBLM_L/R · INT_L/R
架构Tile
14
LUT fuzzer实战
LUT5 · LUT6 · LUT6_2 的fuzzer编写
LUT实战
15
进位链fuzzer
CARRY4模块位流定位 · CIN与COUT关系
进位CARRY4
16
分布式RAM fuzzer
RAM32M · RAM64M · FIFO位流映射
RAM分布式
17
BRAM fuzzer
BRAM36E1 · BRAM18E1 · FIFO36E1配置位
BRAM存储
18
DSP fuzzer
DSP48E1 · OPMODE · ALUMODE · CARRYINSEL
DSP运算
19
IOB fuzzer
IBUF/OBUF/IOBUF · LVCMOS33 · LVDS标准
IO电平
20
时钟资源fuzzer
BUFG · BUFH · MMCM · PLL位流定位
时钟MMCM
21
路由资源fuzzer
PIP · 节点 · 线网 · 开关矩阵逆向
路由互连
22
时序约束逆向
从比特流提取时序路径 · 分析关键路径
时序分析
23
自动化脚本编写
Python批量运行fuzzer · 结果汇总
脚本自动化
24
数据库验证
已知设计验证逆向结果 · 对比vivado输出
验证对比
25
错误排查
常见fuzzer失败原因 · 日志分析 · 调试技巧
调试排错
26
性能优化
并行fuzzer · 数据库压缩 · 增量更新
优化性能
27
自定义器件支持
添加新器件 · 修改tile类型 · 扩展数据库
扩展器件
28
开源工具集成
与Yosys · nextpnr · VPR等工具联动
集成开源
29
实战案例
逆向真实比特流 · 提取网表 · 生成逻辑图
实战案例
30
未来展望
7nm器件支持 · AI辅助逆向 · 社区贡献指南
前沿社区