⚡ 算子加速器 · 嵌入式推理
30章
🎯 从RTL到驱动
01
嵌入式AI与算子加速概述
AI在嵌入式端的挑战
为什么需要算子加速
课程目标与学习路径
02
卷积神经网络基础
卷积层
池化层
全连接层
激活函数(ReLU/Sigmoid)
03
硬件描述语言基础 (Verilog)
模块化设计
组合逻辑与时序逻辑
状态机
仿真与测试平台
04
卷积算子硬件加速 (一)
行缓冲器(Line Buffer)
滑动窗口生成
乘加树(MAC Array)
05
卷积算子硬件加速 (二)
多通道卷积
数据复用策略
输出部分和累加
06
池化与激活函数加速
最大/平均池化
ReLU硬件
LUT实现Sigmoid
07
全连接层加速
矩阵向量乘并行
权重存储优化
批处理支持
08
数据流与流水线设计
乒乓缓冲
任务级流水线
写回策略与冲突解决
09
量化与定点数运算
浮点转定点(INT8/16)
Scale/Zero Point
定点乘加器
10
片上存储架构
SRAM分区与Bank冲突
双/单端口RAM
数据预取
11
系统总线与DMA设计
AXI4-Stream协议
DMA控制器
Scatter-Gather传输
12
指令集与控制器设计
微码指令格式
状态机控制器
指令译码与调度
13
权重与激活值压缩
稀疏性利用(零值跳过)
剪枝存储格式
游程编码(RLE)硬件
14
Winograd卷积加速
Winograd算法原理
F(2x2,3x3)变换
硬件变换单元
15
可重构计算阵列
脉动阵列原理
数据流方向
阵列规模与权衡
16
多核与异构计算
多加速器核同步
任务划分与负载均衡
CPU+加速器协同
17
编译器与算子映射
TVM/TensorRT前端
算子图优化
代码生成与二进制
18
性能建模与评估
Roofline模型
吞吐量/延迟计算
功耗估算
19
验证与调试方法
形式化验证(断言)
覆盖率驱动
FPGA原型调试
20
RTL设计与仿真实践
Verilator快速仿真
波形分析(GTKWave)
性能计数器
21
综合与时序收敛
Design Compiler流程
关键路径优化
时钟树与门控
22
布局布线与物理设计
Floorplan规划
标准单元放置
时钟/电源布线
23
FPGA原型验证
Xilinx/Altera选型
IP集成(MIG/DDR)
ILA/ChipScope
24
驱动与运行时库
Linux字符设备驱动
mmap交互
运行时API(OpenCL风格)
25
端到端推理示例
ResNet-50部署
YOLO检测部署
性能对比(CPU/GPU/加速器)
26
低功耗设计技术
时钟门控
操作数隔离
多电压域(DVFS)
27
安全与容错设计
寄存器三模冗余(TMR)
奇偶校验/ECC
安全启动与信任根
28
前沿趋势
存算一体(PIM)
模拟计算
光计算与量子计算展望
29
开源项目分析
Gemmini
Eyeriss
Systolic Array Generator
30
课程总结与项目实战
最小可用卷积加速器
RTL到驱动
课程回顾与进阶路径