从比特流到RTL代码还原
📚 共计 30 章节
第01章
课程导论:什么是比特流?
为什么需要逆向还原RTL?课程目标与学习路径。
导论
比特流
第02章
数字芯片设计基础回顾
从RTL到GDSII的流程,综合、布局布线、制造。
芯片设计
流程
第03章
FPGA架构基础
LUT、FF、BRAM、DSP、IO、路由资源。
FPGA
架构
第04章
比特流格式概述
厂商差异(Xilinx vs Altera/Intel vs Lattice),比特流文件结构。
格式
厂商
第05章
比特流解析工具入门
Project X-Ray (prjxray) 架构与使用。
工具
prjxray
第06章
Xilinx 7系列比特流格式详解
帧结构、配置寄存器、CRC校验。
7系列
帧
第07章
比特流帧解析实战
使用Python解析帧头、帧体、帧尾。
Python
解析
第08章
配置逻辑与启动过程
初始化、清空、配置、启动序列。
配置
启动
第09章
LUT配置的逆向
从比特流中提取LUT真值表。
LUT
真值表
第10章
FF配置的逆向
提取触发器初始值、时钟使能、复位极性。
FF
触发器
第11章
BRAM内容的逆向
从比特流中恢复BRAM初始化数据。
BRAM
初始化
第12章
DSP Slice配置的逆向
提取DSP模式、流水线级数、操作符。
DSP
Slice
第13章
IO Bank配置的逆向
提取IO标准、驱动能力、上下拉、延迟。
IO
Bank
第14章
路由资源逆向(一)
连线资源与开关矩阵的表示。
路由
开关矩阵
第15章
路由资源逆向(二)
使用prjxray数据库解析路由连接。
prjxray
路由
第16章
时钟网络逆向
从比特流中提取全局时钟、区域时钟、BUFG配置。
时钟
BUFG
第17章
原语实例化与网表生成
将提取的配置映射为Xilinx原语。
原语
网表
第18章
网表优化与等价变换
消除冗余、合并逻辑、优化扇出。
优化
等价
第19章
从网表到RTL(一)
组合逻辑还原为assign语句。
组合逻辑
assign
第20章
从网表到RTL(二)
时序逻辑还原为always块。
时序
always
第21章
有限状态机(FSM)识别与还原
状态编码、状态转移表提取。
FSM
状态机
第22章
存储器(RAM/ROM)的RTL还原
推断同步/异步RAM。
RAM
ROM
第23章
算术单元(加法器、乘法器)的RTL还原
加法器、乘法器还原。
算术
加法器
第24章
复位与时钟域交叉(CDC)的处理
复位同步、CDC处理。
CDC
复位
第25章
层次化还原:模块划分与端口推断
模块划分、端口推断。
层次化
模块
第26章
验证策略:形式化验证与仿真比对
形式化验证、仿真比对。
验证
仿真
第27章
实战案例一:还原一个简单的计数器设计
计数器逆向实战。
实战
计数器
第28章
实战案例二:还原一个UART收发器
UART逆向实战。
实战
UART
第29章
实战案例三:还原一个SPI控制器
SPI控制器逆向实战。
实战
SPI
第30章
课程总结与进阶方向
开源工具链、商业工具、法律与伦理边界。
总结
进阶