FPGA网表逆向工程 · 从零到精通

📚 共计 30 章节
01
FPGA基础回顾
FPGA内部结构(LUT、FF、BRAM、DSP、IO),典型开发流程,网表概念与分类
LUTFFBRAM
02
网表文件格式解析
EDIF格式详解,Verilog网表格式,Xilinx NGD/XDL概览
EDIFVerilogNGD
03
逆向工程环境搭建
Linux环境配置,EDA工具链,开源库安装与测试
Python3VivadoYosys
04
网表解析基础
Python解析EDIF,解析Verilog网表,数据存储结构设计
词法分析语法树EDIF
05
网表数据结构设计
图论基础,网表抽象表示,Python类设计(Netlist, Instance, Net, Pin)
图论邻接表OOP
06
网表可视化
Graphviz绘制,层次化展开,D3.js交互式可视化
GraphvizD3.js布局
07
逻辑门识别
标准单元库匹配,布尔代数门级识别,扇入扇出分析
AND/ORMUX扇入
08
触发器与锁存器识别
D触发器结构,锁存器推断,寄存器链提取
D-FF锁存器寄存器链
09
组合逻辑提取
LUT配置提取布尔表达式,卡诺图化简,ABC工具集成
LUT卡诺图ABC
10
时序路径分析
建立/保持时间,关键路径搜索(DFS/BFS),静态时序报告
STADFS关键路径
11
层次化网表处理
模块实例化提取,层次展开与重建,黑盒处理策略
Flatten黑盒层次
12
网表比较与差分
结构等价性检查,网表差分算法,变更影响分析
图同构Diff等价性
13
网表优化与重构
冗余逻辑消除,扇出优化,网表重综合
优化重综合扇出
14
IP核识别
IP特征库构建(FIFO、RAM、乘法器),模板匹配,参数提取
FIFORAM乘法器
15
FSM(有限状态机)提取
状态寄存器识别,状态转移图重建,状态编码推断
FSM状态转移编码
16
数据通路分析
加法器/乘法器链识别,总线结构提取,数据流图生成
加法器总线数据流
17
时钟网络分析
时钟树结构提取,时钟域划分,时钟门控识别
时钟树时钟域门控
18
复位网络分析
同步/异步复位识别,复位树提取,复位域划分
复位同步/异步复位域
19
扫描链与测试逻辑
扫描链结构识别,JTAG接口分析,BIST逻辑提取
扫描链JTAGBIST
20
实战案例一:计数器网表逆向
从EDIF到RTL级Verilog,完整逆向流程
计数器EDIF→RTL
21
实战案例二:UART模块逆向
协议理解与功能恢复,串口网表分析
UART协议
22
实战案例三:SPI控制器逆向
主从模式识别,SPI总线网表恢复
SPI主从
23
实战案例四:小型CPU核逆向
数据通路与控制逻辑分离,CPU网表分析
CPU控制通路
24
实战案例五:图像处理IP逆向
流水线结构分析,图像IP网表恢复
图像处理流水线
25
实战案例六:加密模块逆向
S盒、密钥扩展识别,密码算法网表
S盒密钥AES
26
网表逆向工程自动化
自动化逆向流水线,脚本化批量处理
流水线脚本批量
27
网表逆向工具开发
PyQt/Tkinter GUI,插件架构,报告生成
PyQtGUIPDF
28
伦理与法律
知识产权保护,逆向工程合法边界,合规清单
IP合规法律
29
前沿技术:机器学习
图神经网络在网表分析,形式化验证与等价性检查
GNNML形式化
30
综合项目:完整网表逆向
从原始网表到功能级RTL恢复,含报告与演示
项目RTL演示