01
深度学习与FPGA概述
神经网络、卷积、推理与训练;CPU/GPU/FPGA/ASIC对比;FPGA在深度学习中的角色与优势
基础概念硬件对比
02
FPGA基础与开发环境
LUT、FF、BRAM、DSP、IO;Xilinx/Intel;Vivado/Vitis流程;Verilog/VHDL简介
FPGA结构开发工具
03
数字逻辑基础与Verilog入门
组合与时序逻辑;module/wire/reg/assign/always;加法器与计数器设计
Verilog数字电路
04
流水线设计与并行计算
流水线概念与优势;FPGA流水线实现;并行计算与数据流;流水线加法器案例
流水线并行
05
定点数量化与数值表示
浮点与定点区别;量化误差;INT8/INT4原理;FPGA定点数乘法实现
量化数值计算
06
卷积神经网络基础
卷积层、池化层、全连接层、ReLU;简单CNN模型结构
CNN深度学习
07
卷积计算的硬件映射
im2col算法;滑动窗口;脉动阵列概念;FPGA卷积加速器架构
硬件映射脉动阵列
08
矩阵乘法加速器设计
矩阵乘法重要性;分块乘法;DSP单元高效乘法;简单矩阵乘法IP
矩阵乘法DSP
09
数据流与存储优化
DDR与BRAM策略;数据复用与乒乓操作;带宽优化;行缓冲设计
存储数据流
10
激活函数与池化的硬件实现
ReLU硬件实现;Sigmoid/Tanh近似;最大/平均池化硬件设计
激活函数池化
11
全连接层加速器设计
全连接计算特点;权重存储与访存优化;批量设计;与卷积加速器集成
全连接加速器
12
CNN加速器整体架构设计
顶层模块划分;控制/数据通路;指令集架构(ISA);完整数据流
架构ISA
13
AXI总线与DMA设计
AXI4-Stream/Full协议;DMA控制器设计;DMA搬运数据到加速器
AXIDMA
14
Vivado HLS与高层次综合
HLS概念;C/C++转RTL;优化指令(pipeline/unroll);卷积层HLS实例
HLS高层次综合
15
Vitis AI与DPU
Vitis AI开发流程;DPU架构;模型编译部署;量化与校准
Vitis AIDPU
16
OpenCL与FPGA加速
OpenCL基础;主机/设备端代码;内存模型;向量加法OpenCL示例
OpenCL异构
17
稀疏化与剪枝加速
模型剪枝原理;CSR/CSC格式;FPGA稀疏卷积加速;跳过零值计算
稀疏剪枝
18
Winograd卷积算法
Winograd F(2x2,3x3)原理;相比im2col优势;FPGA实现要点;性能分析
Winograd卷积优化
19
Transformer与注意力机制加速
Self-Attention、FFN;Attention硬件映射;Softmax硬件实现;Transformer加速器
Transformer注意力
20
循环神经网络(RNN/LSTM)加速
RNN/LSTM单元;门控硬件实现;时间步展开;LSTM加速器架构
RNNLSTM
21
多加速器协同与异构计算
多FPGA系统;FPGA与CPU/GPU协同;任务划分;通信优化
异构协同
22
片上网络(NoC)与互联架构
NoC概念;路由与拓扑;2D Mesh NoC实现;NoC在加速器中的应用
NoC互联
23
低功耗设计技术
动态/静态功耗;时钟门控与数据门控;DVFS;FPGA低功耗实践
低功耗门控
24
时序分析与设计约束
建立/保持时间;时序约束(create_clock等);时序报告解读;修复违例
时序约束
25
仿真与验证方法
Testbench编写;波形调试(Vivado/ModelSim);形式化验证;覆盖率分析
仿真验证
26
调试与性能分析
片上调试(ILA/VIO);性能计数器;瓶颈定位;Profiling工具
调试性能
27
RTL设计与IP封装
RTL设计规范;IP核封装(Vivado IP Packager);AXI4-Lite控制接口;IP文档
RTLIP封装
28
Pynq框架与快速原型验证
Pynq平台;Overlay概念;Python驱动FPGA;图像分类示例
Pynq快速原型
29
项目实战:手写数字识别加速器
需求分析、架构设计、模块实现、系统集成与测试、性能与精度评估
项目实战手写数字
30
前沿趋势与未来展望
存算一体、光计算、可重构计算、AI编译器、课程总结与学习路径
前沿趋势