01
HLS概述与流水线基础
HLS是什么·为什么需要HLS·流水线概念·HLS设计流程概览
入门概念
02
Vivado HLS开发环境搭建
Vivado HLS安装·License配置·创建第一个HLS工程·工程结构解析
环境工具
03
C语言基础回顾与HLS扩展
数据类型·指针·数组·结构体·任意精度类型(ap_int/ap_fixed)
C语言数据类型
04
HLS接口综合
block-level接口·port-level接口·AXI4-Stream·AXI4-Lite·AXI4-Full
接口AXI
05
流水线基础与II
流水线概念深入·II定义与计算·设置PIPELINE pragma
IIPIPELINE
06
流水线深度与Latency
Latency与II关系·平衡流水线深度·流水线寄存器插入
时序深度
07
循环流水线(Loop Pipelining)
for循环流水线化·循环展开(Unroll)·循环合并(Merge)
循环优化
08
数组优化与流水线
数组分割·数组映射·数组重塑对流水线的影响
数组存储
09
数据流(Dataflow)与流水线
Dataflow pragma·任务级流水线·FIFO深度·瓶颈分析
数据流FIFO
10
依赖关系与流水线
循环携带依赖·数据依赖·控制依赖·打破依赖提升性能
依赖冒险
11
流水线中的分支处理
if-else影响·条件分支优化·使用select操作
分支优化
12
函数内联与流水线
函数内联影响·函数实例化·函数流水线
内联层次
13
流水线中的资源共享
资源共享策略·Resource pragma·平衡资源与性能
资源面积
14
流水线中的存储层次
Block RAM·UltraRAM·LUTRAM·Register选择与使用
BRAM存储
15
流水线时序分析
Setup/Hold·Clock Uncertainty·时序报告·收敛技巧
时序收敛
16
流水线中的复位策略
同步复位·异步复位·复位对流水线影响·优化
复位控制
17
流水线中的握手信号
valid-ready握手·backpressure处理·流控
握手流控
18
多周期路径与流水线
多周期路径约束·false path·利用多周期提升频率
多周期约束
19
流水线中的浮点运算
浮点运算延迟·优化浮点流水线·定点化替代
浮点定点
20
流水线中的LUT优化
LUT综合策略·面积与速度权衡·逻辑优化技巧
LUT面积
21
流水线中的DSP单元使用
DSP48E2结构·推断DSP·DSP流水线配置
DSP算力
22
流水线中的BRAM使用
BRAM读写时序·BRAM流水线配置·双端口BRAM应用
BRAM双端口
23
流水线中的FIFO设计
FIFO深度计算·读写时序·FIFO在流水线中的应用
FIFO缓冲
24
流水线中的矩阵运算优化
矩阵乘法流水线·矩阵转置·矩阵分解HLS实现
矩阵线性代数
25
流水线中的图像处理应用
图像滤波流水线·Sobel边缘检测·高斯滤波HLS实现
图像滤波
26
流水线中的信号处理应用
FIR滤波器流水线·FFT流水线·CORDIC算法HLS实现
DSP信号
27
流水线中的神经网络加速
卷积层流水线·池化层流水线·全连接层流水线
AI加速
28
流水线性能评估与调优
吞吐量·延迟·资源利用率·综合报告·迭代优化
评估调优
29
HLS与RTL协同仿真
C/RTL协同仿真·波形调试·性能验证·问题排查
仿真验证
30
HLS设计案例实战
算法到RTL完整流程·真实项目流水线设计·总结与最佳实践
实战项目