VIP20
本课程属于:018-Vitis 芯片设计与FPGA · 共 20 门相关课程,组合学习更完整。
查看所属VIP全部课程 →
← 返回所属目录 咨询 / 购买

卷积加速器流水线设计实战

📚 共计 30 章节
01
卷积加速器概述
从软件算法到硬件加速的必然性,卷积运算的数学本质与数据流特征,加速器设计的核心挑战(计算密度、带宽瓶颈、数据复用)。
基础概念
02
流水线设计基础
流水线的概念与时空图,流水线级数与吞吐率的关系,流水线中的冒险(结构冒险、数据冒险、控制冒险)及解决思路。
体系结构冒险
03
卷积计算单元(PE)设计
乘累加器(MAC)的微架构,定点数与浮点数的选择,PE阵列的拓扑结构(脉动阵列、权值固定、输出固定)。
微架构MAC
04
数据流调度策略
输入驻留、权值驻留、输出驻留的对比与适用场景。
数据流调度
05
行缓冲器(Line Buffer)设计
滑动窗口的硬件实现,行缓冲器的深度与宽度计算,双缓冲与乒乓操作。
存储滑动窗口
06
权值缓存(Weight Buffer)设计
权值重用的原理,权值广播与权值预取,片上SRAM的分区策略。
权值SRAM
07
部分和累加器设计
树形加法器与加法器链,部分和的片上存储与回写,跨周期累加的时序控制。
累加器时序
08
主控状态机设计
卷积层配置寄存器,状态机跳转逻辑(IDLE->LOAD->COMPUTE->STORE),多层级循环嵌套的硬件展开。
FSM控制
09
DMA与片外存储接口
AXI总线协议基础,突发传输与地址对齐,DMA描述符链与任务队列。
DMAAXI
10
池化层流水线设计
最大池化与平均池化的硬件实现,池化窗口的并行计算,与卷积流水线的级联。
池化流水线
11
激活函数流水线设计
ReLU、Sigmoid、Tanh的硬件实现,查找表(LUT)与分段线性逼近,流水线插入点分析。
激活LUT
12
归一化层流水线设计
Batch Normalization的融合策略,推理阶段的BN合并到卷积,LRN的硬件实现。
归一化BN
13
全连接层加速设计
矩阵向量乘的流水线映射,与卷积层共享PE阵列,批处理(Batching)的吞吐提升。
全连接共享
14
多级流水线平衡
各阶段延迟分析,瓶颈定位与优化(关键路径、负载均衡),流水线寄存器插入策略。
平衡优化
15
数据预处理流水线
图像解码(JPEG/RAW)的硬件加速,色彩空间转换,数据量化与填充(Padding)。
预处理图像
16
Winograd卷积加速
Winograd算法的数学原理,F(2x2,3x3)的硬件实现,与标准卷积的对比。
Winograd算法
17
稀疏卷积加速
权值剪枝的硬件支持,零值跳过逻辑,稀疏索引的编解码。
稀疏剪枝
18
量化卷积加速
INT8/INT4量化原理,量化感知训练与后训练量化,量化卷积的流水线适配。
量化INT8
19
多核与多芯片扩展
多PE阵列的同步与异步,芯片间互联(NoC、HBM),数据并行与模型并行。
多核互联
20
动态形状支持
可变输入尺寸的流水线适配,动态权值加载,运行时重配置。
动态重配置
21
功耗与热管理
时钟门控与数据门控,电压频率缩放(DVFS),热感知调度。
功耗DVFS
22
验证与调试策略
RTL仿真与形式化验证,FPGA原型验证,片上调试(JTAG、Trace Buffer)。
验证调试
23
性能建模与评估
Roofline模型分析,吞吐率与延迟的权衡,面积效率与能量效率。
性能Roofline
24
编译器与硬件协同设计
TVM与Halide的硬件后端,指令集架构(ISA)设计,算子库的自动生成。
编译器TVM
25
案例研究:Google TPU / NVIDIA / 华为
Google TPU v1脉动阵列分析,NVIDIA Tensor Core架构解析,华为达芬奇架构的3D Cube。
案例TPU
26
前沿趋势
存内计算(CIM)与近存计算,光计算与模拟计算,可重构卷积加速器。
前沿CIM
27
项目实战:3x3卷积加速器
从规格定义到综合实现,RTL级搭建,性能报告分析。
实战RTL
28
项目实战:集成池化与激活
完成一个完整卷积层的端到端流水线。
实战流水线
29
项目实战:集成DMA与主控
实现多卷积层连续执行的SoC集成。
SoCDMA
30
项目实战:FPGA部署与测试
在FPGA上部署并测试,与CPU/GPU基线对比,撰写设计报告。
FPGA部署