01
卷积神经网络基础
从全连接到卷积,卷积的数学本质,为什么卷积能提取特征。
数学特征提取
02
卷积加速器设计概览
加速器架构分类(脉动阵列、空间架构、时间架构),设计指标(吞吐量、延迟、功耗、面积)。
架构指标
03
脉动阵列(Systolic Array)原理
经典Google TPU架构分析,数据流模式(权重固定、输入固定、输出固定)。
TPU数据流
04
数据复用策略
输入特征图复用、权重复用、部分和复用,循环分块(Loop Tiling)技术。
复用循环分块
05
硬件乘法器与加法器树
MAC单元设计,定点数 vs 浮点数,量化对精度的影响。
MAC量化
06
片上存储层次设计
SRAM vs Register File,双缓冲(Double Buffering)机制,DMA传输优化。
存储DMA
07
卷积映射与循环展开
将卷积循环映射到硬件,循环展开因子选择,计算与访存平衡。
映射展开
08
Winograd快速卷积算法
原理推导,硬件实现代价,适用场景分析。
快速算法Winograd
09
稀疏卷积加速
剪枝后的稀疏矩阵处理,非零值编码(COO、CSR、CSC),跳过零值计算。
稀疏编码
10
量化与低精度计算
INT8/INT4量化原理,训练后量化(PTQ)与量化感知训练(QAT),硬件支持。
量化低精度
11
RTL设计基础(Verilog)
模块化设计,状态机控制,流水线寄存器插入。
VerilogRTL
12
卷积加速器RTL实现(一)
顶层架构设计,控制通路与数据通路分离。
架构控制
13
卷积加速器RTL实现(二)
PE(Processing Element)单元设计,本地寄存器堆。
PE寄存器
14
卷积加速器RTL实现(三)
累加器与激活函数模块,ReLU/Leaky ReLU硬件实现。
激活累加器
15
仿真验证策略
定向测试与随机测试,覆盖率驱动验证,波形调试技巧。
验证波形
16
综合与时序优化
Design Compiler/Synopsys综合流程,关键路径分析,流水线重定时。
综合时序
17
FPGA原型验证
Xilinx/Altera开发板选型,资源利用率分析,片上调试(ChipScope/SignalTap)。
FPGA调试
18
ASIC后端设计入门
布局布线(Place & Route),时钟树综合(CTS),功耗分析。
后端CTS
19
RISC-V协处理器接口
自定义指令扩展,MMIO与内存映射,中断处理。
RISC-V协处理器
20
驱动与运行时库开发
Linux内核模块编写,mmap用户态交互,寄存器读写封装。
驱动mmap
21
编译器前端
TVM/Triton自定义算子注册,计算图优化,算子融合。
TVM算子融合
22
编译器后端
代码生成与调度,内存分配优化,向量化指令发射。
调度向量化
23
性能建模与评估
Roofline模型分析,计算强度计算,瓶颈定位。
Roofline瓶颈
24
基准测试与调优
常用Benchmark(ResNet-50、MobileNet、YOLO),性能计数器设计。
Benchmark调优
25
多核与分布式加速
数据并行与模型并行,NoC互联,一致性协议。
多核NoC
26
存算一体架构初探
SRAM/ReRAM存算一体原理,模拟计算 vs 数字计算。
存算一体ReRAM
27
敏捷开发方法论
Chisel/HLS设计流程对比,生成式设计,参数化配置。
ChiselHLS
28
开源加速器项目分析
Gemmini、Systolic Array Generator、NVDLA架构解读。
开源NVDLA
29
部署全流程实战
从PyTorch模型导出到ONNX,量化校准,硬件部署。
部署ONNX
30
前沿趋势与展望
3D堆叠、光计算、可重构架构,未来挑战。
前沿3D堆叠