在 Vitis HLS 中创建内核 - 2022.1 简体中文

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

Document ID
UG1393
Release Date
2022-05-25
Version
2022.1 简体中文

遵循标准 Vitis HLS 流程即可从 C/C++ 代码生成内核以供在 Vitis 核开发套件内使用。但由于内核需在 Vitis 软件平台内运行,因此必须满足标准内核要求(请参阅 PL 内核属性)。最重要的是,必须将接口建模为 AXI 存储器接口,但标量参数除外,这些参数映射到 AXI4-Lite 接口。Vitis HLS 会使用此处所述的 Vitis 自下而上的流程来自动定义接口端口以满足标准内核要求。

以下概括了 HLS 内核创建和编译流程。请参阅 Vitis HLS 流程 文档中的 创建新的 Vitis HLS 工程 以获取有关此流程的更完整的描述。

  1. 启动 Vitis HLS 以打开集成设计环境 (IDE) 并指定File > New Project(文件 > 新建工程)。
  2. New Vitis HLS ProjectWizard(新建 Vitis HLS 工程向导)中,指定Project name(工程名称)、定义工程的Location(位置),然后单击Next(下一步)。
  3. Add/Remove Files(添加/移除文件)页面中,单击Add Files(添加文件)以将内核源代码添加到工程中。单击Browse(浏览)按钮选择Top Function(顶层函数)以定义内核函数,完成后单击Next(下一步)。
  4. 如果您有基于 C 语言的仿真测试激励文件,可单击Add Files来指定此文件,或者可单击Next跳过此步骤。
    提示:Vitis HLS 文档中所述,强烈建议使用测试激励文件。
  5. Solution Configuration(解决方案配置)页面中,必须为内核指定Clock Period(时钟周期)。

  6. 单击Part Selection(器件选择)字段中的浏览按钮()打开Device Selection(器件选择)对话框,以选择目标平台。选择Boards(开发板),并选中已编译的内核的目标平台,如下所示。单击OK以选中平台,然后返回至Solution Configuration页面。
  7. Solution Configuration页面中,选择Flow Target(流程目标)下的Vitis Kernel Flow Target(Vitis 内核流程目标)下拉菜单,然后单击Finish(完成)以完成此进程并创建您的 HLS 内核工程。
    重要: 您必须选择Vitis Kernel Flow Target才能从该工程生成赛灵思对象 (XO) 文件。

创建 HLS 工程后,您即可使用Run C-Synthesis(运行 C 语言综合)来编译内核代码。请参阅 Vitis HLS 文档以获取 HLS 工具流程的完整描述。

完成综合后,内核可作为 XO 文件导出,以供在 Vitis 核开发套件内使用。您可通过主菜单中的Solution > Export RTL(解决方案 > 导出 RTL)命令来获取导出命令。

指定文件位置,这样即可将内核作为赛灵思对象 (XO) 文件进行导出。

v++ 链接进程期间,此 (XO) 文件可用作为输入文件。如需了解更多信息,请参阅 链接内核。您还可将其添加到 Vitis IDE 中的应用工程内,如 创建 Vitis IDE 工程 中所述。

但请谨记,此处所述自下而上的流程中创建的 HLS 内核在 Vitis 应用加速开发流程中使用时存在某些限制。针对使用 HLS 内核的应用,不支持软件仿真,因为重复的头文件依赖关系可能造成问题。在硬件仿真流程中不支持针对 HLS 内核或 RTL 内核使用 GDB 调试。