基于FPGA的AI加速器设计实战

📚 共计 30 章节
第1章
AI芯片与FPGA概览
AI芯片发展史 · FPGA在AI加速中的优势 · 典型应用场景(云端推理、边缘计算)
概览趋势
第2章
开发环境搭建
Vivado安装与配置 · 开发板选型(Xilinx Zynq系列) · 版本控制与项目管理
工具Zynq
第3章
Verilog基础与流水线设计
组合逻辑与时序逻辑 · 流水线概念 · 单周期与多周期路径
Verilog流水线
第4章
卷积运算的硬件实现
卷积计算原理 · 滑动窗口生成器 · 乘加树(MAC Array)设计
卷积MAC
第5章
量化与定点数
浮点数与定点数对比 · INT8量化原理 · 量化误差分析
量化INT8
第6章
矩阵乘法加速
矩阵分块 · Systolic Array架构 · 数据复用策略
脉动阵列复用
第7章
激活函数实现
ReLU · Sigmoid · Tanh的LUT实现与近似计算
激活LUT
第8章
池化层设计
最大池化 · 平均池化 · 池化窗口控制逻辑
池化窗口
第9章
全连接层加速
权重存储优化 · 并行计算 · 批处理
全连接并行
第10章
数据流与乒乓操作
双缓冲(Ping-Pong Buffer) · DMA传输 · 数据流控制
乒乓DMA
第11章
片上存储架构
BRAM与URAM配置 · 多Bank访问 · 地址映射
BRAMURAM
第12章
外部存储接口
DDR4控制器 · AXI总线协议 · 带宽优化
DDR4AXI
第13章
CNN加速器架构设计
整体架构图 · 控制通路与数据通路分离 · 指令集设计
架构指令集
第14章
RTL设计与仿真
模块划分 · Testbench编写 · 波形调试技巧
RTL仿真
第15章
综合与实现
Vivado综合策略 · 时序约束 · 资源利用率优化
综合时序
第16章
静态时序分析
建立时间与保持时间 · 时钟域交叉 · 约束文件编写
STA约束
第17章
功耗优化
动态功耗与静态功耗 · 门控时钟 · 操作数隔离
低功耗门控
第18章
HLS高级综合
HLS与RTL对比 · 流水线指令 · 数组优化
HLS高层次
第19章
Vitis AI开发流程
模型量化 · 编译 · 部署到DPU
VitisDPU
第20章
自定义IP封装
AXI-Lite与AXI-Stream · IP核打包 · 驱动开发
IPAXI
第21章
嵌入式系统集成
Zynq PS与PL协同 · Linux驱动 · 设备树
ZynqLinux
第22章
模型推理部署
TensorFlow模型转XModel · 推理API调用
部署XModel
第23章
性能评估指标
吞吐量 · 延迟 · TOPS/W · 帧率计算
性能TOPS
第24章
调试与验证
ILA核使用 · VIO调试 · 硬件在环测试
调试ILA
第25章
YOLO目标检测加速
网络结构分析 · 层融合 · 后处理加速
YOLO目标检测
第26章
Transformer加速
注意力机制硬件化 · Softmax近似 · 矩阵乘法优化
Transformer注意力
第27章
稀疏计算与剪枝
稀疏矩阵存储 · 跳过零值计算 · 结构化剪枝
稀疏剪枝
第28章
多核与并行架构
多PE阵列 · 任务级并行 · 负载均衡
多核并行
第29章
RISC-V协处理器
自定义指令扩展 · RTL集成 · 编译工具链
RISC-V协处理器
第30章
项目实战:端到端AI加速器设计
从算法到板级验证 · 完整设计流 · 项目总结
实战板级