01
Vitis概述与环境搭建
Vitis统一软件平台介绍 · 安装Vitis与XRT运行时 · 设置环境变量与验证安装
环境入门
02
Vitis核心概念
目标平台(Platform) · 内核(Kernel) · 主机代码与设备代码 · 执行模型
概念架构
03
XRT运行时基础
XRT库初始化 · 设备枚举与上下文创建 · 管理Command Queue与Buffer
运行时XRT
04
第一个Hello World程序
编写简单矢量加法Kernel · 主机端代码实现 · 编译与运行流程
实战入门
05
Vitis编译流程详解
软件仿真(sw_emu) · 硬件仿真(hw_emu) · 硬件编译(hw) · 编译选项与优化
编译仿真
06
Kernel编程模型
OpenCL C Kernel · C/C++ RTL Kernel · HLS Kernel编写规范
KernelHLS
07
数据移动与Buffer管理
DDR与HBM内存 · Buffer创建与映射 · 数据同步(migrateMemObjects)
内存数据流
08
全局内存与局部内存
Global Memory访问模式 · Local Memory(Block RAM)使用 · 内存带宽优化
存储优化
09
流式传输(Streaming)
FIFO与AXI4-Stream接口 · Streaming Kernel设计 · 数据流水线
流式接口
10
事件与同步机制
事件(Event)管理 · 依赖关系设置 · 同步点与性能分析
同步事件
11
多Kernel协作
多Kernel并行执行 · Kernel间数据传递 · 任务图(Task Graph)设计
并行协作
12
Vitis分析工具
Profile Summary · Timeline Trace · 报告解读与性能瓶颈定位
分析调优
13
调试技巧
使用XBTracer · 日志级别控制 · GDB调试Kernel · 常见错误排查
调试GDB
14
驱动开发基础
Linux设备驱动模型 · Platform Driver与PCIe Driver · 字符设备驱动框架
驱动Linux
15
Xilinx DMA驱动
QDMA与XDMA驱动架构 · 描述符环(Descriptor Ring) · 数据传输流程
DMAQDMA
16
用户空间驱动(UIO)
UIO框架原理 · mmap硬件寄存器 · 中断处理
UIO用户态
17
VFIO与PCIe直通
VFIO驱动介绍 · 设备直通配置 · 与QEMU结合使用
VFIO虚拟化
18
中断处理
中断类型(MSI, MSI-X) · 注册中断处理函数 · 中断底半部机制
中断MSI
19
设备树与平台设备
设备树语法 · Platform Device注册 · 资源获取(I/O内存、中断号)
设备树平台
20
内存映射与DMA
dma_alloc_coherent · 流式DMA映射 · SGL(Scatter-Gather List)
DMA内存
21
IOCTL接口设计
自定义IOCTL命令 · 用户态与内核态数据交换 · 安全校验
IOCTL接口
22
Vitis与驱动集成
将自定义驱动接入Vitis流程 · XRT Plugin机制 · Kernel调用驱动服务
集成Plugin
23
性能优化
数据预取 · 乒乓Buffer · 计算与传输重叠 · Kernel流水线深度
优化流水线
24
功耗优化
时钟门控 · 数据宽度匹配 · 减少DDR访问 · 动态频率调整
功耗节能
25
安全与隔离
用户态与内核态隔离 · 内存保护 · 安全启动与比特流加密
安全隔离
26
多板卡与集群
多FPGA卡协同 · MPI与Vitis集成 · 分布式Kernel调度
集群MPI
27
Vitis AI集成
DPU核部署 · AI推理Kernel编写 · 驱动层适配
AIDPU
28
版本迁移与兼容性
Vitis 2022.x到2024.x迁移 · API变更处理 · XRT版本兼容
迁移兼容
29
实战项目一:FFT加速器驱动
基于Vitis的硬件加速器驱动开发 · FFT加速器完整实现
实战FFT
30
实战项目二:视频编解码Pipeline
视频编解码Pipeline驱动与Vitis集成 · 完整项目
实战视频