面向 RTL 设计师的 Vitis 开发流程 - 2023.2 简体中文

Vitis 统一软件平台文档 应用加速开发 (UG1393)

Document ID
UG1393
Release Date
2023-12-13
Version
2023.2 简体中文

本节为 RTL 设计师提供了 Vitis 应用开发流程的简要概述。此流程如下所示。

图 1. 含 RTL 内核的 Vitis 开发流程
开发流程包括下列步骤:
使用 G++ 进行应用编译

主机程序是使用 XRT 本机 API 以 C/C++ 编写的,并使用 g++ 编译器来编译,旨在创建可执行文件以供在 x86 处理器上运行。该主机程序会与 FPGA 上的 PL 区域中的 RTL 内核进行交互,以完成加速应用。

使用 Vivado Design Suite 进行 PL 内核创建

RTL 设计是使用 Vivado 工具专为 AMD FPGA 器件进行开发和最优化的。Vivado 工具中的内核开发步骤包括:

  1. 编辑 RTL 代码以设计函数
  2. Vivado 仿真器中使用行为仿真来验证 RTL
  3. 验证 RTL 综合、布局布线和时序
  4. 复查时序报告以分析性能
  5. 重复前述步骤直至满足性能目标为止
  6. 将 RTL IP 封装为内核 (.xo),以供在 Vitis 流程中使用
使用 Vitis 工具进行 PL 内核链接

赛灵思对象 (.xo) 文件通过 Vitis 连接器与目标硬件平台相链接,以创建器件二进制文件 (.xclbin),此二进制文件将在 Alveo 加速器卡上加载并执行。

提示: 该步骤将调用 Vivado 布局布线来生成比特流作为 .xclbin 文件的一部分。

为了帮助定义器件二进制文件的架构,可创建配置文件 (design.cfg) 来指定内核连接到全局存储器或者内核相互连接的方式,或者定义应在器件二进制文件内构建的内核实例(或计算单元)数量,以允许多个函数并行运行。此配置文件会传递给 Vitis 连接器,用于生成 .xclbin

运行应用
最终运行应用时,主机程序会加载 Vitis 编译器所生成的 .xclbin 文件。主机应用始终在 CPU 上运行,RTL 内核则可在 x86 上以仿真 (emulation) 模式运行,或者在 Alveo 加速器卡上加载 FPGA 上的 .xclbin