创建 HLS 组件 - 2023.2 简体中文

Vitis 高层次综合用户指南 (UG1399)

Document ID
UG1399
Release Date
2023-12-18
Version
2023.2 简体中文

有多种方法可用于在 Vitis Unified IDE 中创建 HLS 组件。以下步骤描述了其中一种建议的方法。

提示: 本节呈现了 Vitis IDE 中的 HLS 组件。如需了解命令行方法,请参阅 从命令行创建 HLS 组件
  1. 打开 Vitis IDE 后,请从主菜单中依次选中File > New Component > HLS(文件 > 新建组件 > HLS)。

    提示: 您还可在Welcome(欢迎)页面上选择New Component(新建组件),或者从Explorer(资源管理器)视图的右键单击菜单中选择该命令。
  2. 这样即可打开Create HLS ComponentWizard(创建 HLS 组件向导)的Choose Name and Location(选择名称和位置)页面,如下所示。

    图 1. 创建 HLS 组件 - 名称和位置

    输入Component name(组件名称)和Component location(组件位置),然后单击Next(下一步)。

  3. 这样即可打开该向导的Configuration File(配置文件)页面,如下所示。HLS 组件配置文件包含用于组件综合、仿真和导出的命令和指令。

    图 2. 创建 HLS 组件 - 配置文件

    Create HLS ComponentWizard 的Configuration File(配置文件)页面提供了 3 种方法用于向您的组件添加配置文件:

    • Empty File(空文件):指定创建新的空配置文件,并在创建组件后填充该文件,如 定义 HLS 配置文件 中所述。选择该选项即可允许您在New configuration file name(新配置文件名称)字段中指定名称。
    • Existing File(现有文件):指定使用现有配置文件。选择该选项即可允许您在File(文件)字段中输入路径和名称,或者选择Browse(浏览)以查找文件。
    • Generate from Vitis HLS Project(从 Vitis HLS 工程生成):该选项会基于现有 Vitis HLS 工程 hls.app 文件生成新的配置文件。该工具允许您识别工程内的 hls.app 文件并为基于 hls.app 文件生成的配置文件输入New configuration file name

    请选择用于向您的 HLS 组件添加配置文件的方法,并按需指定名称或文件。单击Next以继续至Source Files(源文件)。

  4. 这样即可打开该向导的Source Files(源文件)页面,如下所示。

    图 3. 创建 HLS 组件 - 源文件

    您可在Design Files(设计文件)下单击Add files(添加文件)为设计选择主要的源文件,或者按需添加多个文件。添加一个或多个文件后,您可识别Top Function(顶层函数),它将作为 HLS 组件的顶层函数进行综合。顶层函数调用的任何函数都将综合到 RTL 中。

    您可在Test Bench Files(测试激励文件)下单击Add files(添加文件)或者选择Add folders(添加文件夹)来为 HLS 组件添加包含测试激励文件和关联文件的文件。

    对于设计文件和测试激励文件,您可添加 CFLAGS 和 CSIMFLAGS 以指定要在编译和仿真期间使用的指令。您可指定要应用于所有文件或应用于来自每个目录的特定文件的指令。添加文件、文件夹和指令后,单击Next继续。

  5. 这样即可打开该向导的Select Part(选择器件)页面,如下所示。

    图 4. 创建 HLS 组件 - 器件

    为 HLS 组件选择Part(器件)或者选择Platform(平台),然后单击Next继续。

    提示: 如果创建 HLS 组件时选择了Platform,那么 Vitis Unfied IDE 会从指定平台提取器件,并将 part= 添加至您的配置文件中。
  6. 这样即可显示该向导的“Settings”(设置)页面,如下所示。

    Settings页面允许您为设计指定时钟周期或频率,以及时钟不确定性。本工具的默认时钟设为 10 ns(或 100 MHz)的时钟周期,且时钟不确定性为 27%,如 指定时钟频率 中所述。

    Settings(设置)页面还允许您将 HLS 组件构建进程的flow_target(流程目标)指定为生成 Vivado IP 或 Vitis 内核,如 目标流程概述 中所述。Vivado IP 或 Vitis 内核的接口要求不同,如 HLS 设计接口 中所述。默认flow_target设为 Vivado IP 流程。

    flow_target下,您还可指定封装设计时工具要生成的package.output.format(封装输出格式)。默认输出格式为 Vivado IP,即,生成 .zip 文件以添加到您的 IP 目录中,支持您在其他设计中使用 HLS 生成的 RTL 设计。

    注释: 选择 Vitis 作为flow_target并不会将输出格式自动更改为 Vitis 内核。默认输出格式仍为 Vivado IP,但您可按需手动更改输出格式。

    另请谨记,HLS 组件使用的是自下而上的设计流程,在您封装输出之前,仅生成 RTL 输出,如 封装 RTL 设计 中所述。自下而上的流程支持您在逐个解决设计难题的过程中开发多次设计迭代,并且仅在设计准备就绪后才封装输出。这种方法可在您每次运行综合或仿真时节省大量时间。

    单击Next以继续至Summary(汇总)页面。

  7. Summary页面反映了您在前几个页面上的选择。请复查汇总信息并单击Finish(完成)以创建 HLS 组件,或者单击Back(返回)以返回至先前页面并更改您的选择。

创建 HLS 组件时,会在中心编辑器窗口中打开此组件的 vitis-comp.json 文件,并且在 Flow Navigator 中该 HLS 文件会变为活动状态,如下所示。

提示: 打开多个 HLS 组件时,在 vitis-comp.json 文件名旁的选项卡中会一并显示组件名称以帮助您识别不同组件。
图 5. HLS 组件 - vitis-comp.json

创建 HLS 组件后,它会在 Flow Navigator 中变为活动组件,或者您可以选中Component(组件)在该工具中将其设为活动组件。当 HLS 组件为活动组件时,Flow Navigator 支持运行 C 语言仿真、C 语言综合、C/RTL 协同仿真、封装与实现,如下图所示。

图 6. HLS 组件 - Flow Navigator

但如果您要管理这些步骤的操作,就需要编辑 HLS 配置文件以达成设计目标,如下所述。