从软件到硬件的低延迟协同设计实战
📚 共计 30 章节
01
课程导论:什么是低延迟协同设计?
为什么软硬件协同设计如此重要?课程目标与学习路径。
导论
全景
02
延迟的本质:从软件到硬件的延迟来源
计算延迟、通信延迟、存储延迟分析。
基础
延迟模型
03
硬件基础回顾:FPGA架构与ASIC
FPGA架构、ASIC设计流程、Verilog/VHDL核心概念。
硬件
HDL
04
软件基础回顾:C/C++与Rust
嵌入式系统、实时操作系统(RTOS)原理。
软件
RTOS
05
软硬件接口:PCIe、AXI总线、DMA
工作原理与延迟特性。
接口
总线
06
硬件加速器设计:从算法到RTL
以FFT和矩阵乘法为例。
加速器
RTL
07
HLS(高层次综合)实战
使用C/C++描述硬件逻辑,Vivado HLS/Vitis HLS工具链。
HLS
C++
08
软硬件划分:策略与评估指标
如何决定哪些功能放在软件,哪些放在硬件?
划分
架构
09
内存层次结构:缓存、DDR、HBM
缓存一致性、DDR控制器、HBM在低延迟系统中的应用。
存储
DDR
10
流水线设计:指令与硬件流水线
对比分析,如何通过流水线降低延迟。
流水线
性能
11
并行计算模型:数据/任务/流水线并行
在软硬件协同中的应用。
并行
模型
12
通信协议优化:轻量级 vs 标准协议
TCP/IP offload引擎设计。
协议
卸载
13
中断与轮询:延迟分析与合并技术
中断延迟分析、中断合并、轮询适用场景。
中断
轮询
14
时间敏感网络(TSN)
IEEE 802.1Qbv、802.1AS在工业控制中的应用。
TSN
网络
15
硬件调度器:FPGA实现任务调度
替代RTOS软件调度。
调度
FPGA
16
数据平面与控制平面分离
P4语言与可编程交换机的低延迟数据路径。
P4
可编程
17
异构计算平台:CPU+GPU+FPGA
Xilinx Alveo和Intel PAC为例。
异构
平台
18
仿真与验证:QEMU+SystemC
软硬件协同仿真环境搭建,时序与功能仿真。
仿真
验证
19
性能分析工具:Vitis Analyzer & VTune
延迟瓶颈分析。
分析
工具
20
低延迟网络栈:DPDK到SmartNIC
内核旁路与硬件卸载演进。
网络
DPDK
21
存储加速:FPGA实现NVMe控制器
降低存储访问延迟。
存储
NVMe
22
加密加速:AES/RSA硬件实现
与软件实现的延迟对比。
加密
硬件
23
机器学习推理加速:FPGA部署
轻量级神经网络(BNN、TinyML)。
ML
推理
24
视频处理管线:低延迟采集到显示
从摄像头采集到显示输出的管线设计。
视频
管线
25
软件定义硬件:OpenCL与SYCL
跨平台异构编程。
OpenCL
SYCL
26
功耗与延迟的权衡:DVFS与时钟门控
动态电压频率调整、时钟门控应用。
功耗
DVFS
27
确定性延迟:WCET分析
保证最坏情况下的延迟上限。
确定性
WCET
28
案例研究:高频交易FPGA加速
从订单接收到执行的全链路优化。
案例
交易
29
案例研究:自动驾驶传感器融合
软硬件协同实现毫秒级响应。
案例
自动驾驶
30
课程总结与未来展望
RISC-V扩展、Chiplet、光互连对低延迟的影响。
总结
前沿