接口综合简介 - 2023.2 简体中文

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

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

HLS 组件的顶层函数的实参均综合到接口和端口内,这些接口和端口通过将多个信号加以组合来定义 HLS 组件与设计外部的元件之间的通信协议。本工具会自动定义接口,并使用业界标准来指定要使用的协议。本工具选择的接口类型取决于顶层函数的参数的数据类型和方向、HLS 组件的目标流程、指定的默认接口配置设置(如 接口配置 中所述)以及任何指定的 INTERFACE 编译指示或指令。

提示: 您可使用 INTERFACE 编译指示或指令手动分配接口。如需了解更多信息,请参阅 添加编译指示和指令
目标流程概述 中所述,HLS 组件支持的目标流程包括:
  • 作为工具的默认流程的 AMD Vivado™ IP 流程
  • Vitis 内核流程,它是自下而上的设计流程,适用于 Vitis 应用加速开发流程

您可在创建 HLS 组件时指定目标流程,如 创建 Vitis HLS 组件 中所述。

此接口可定义内核的 3 个元素:
  1. 此接口可为流入或流出 HLS 设计的数据定义通道。数据可从多种外部来源流入内核或 IP,外部来源包括:主机应用、外部相机或传感器或者 AMD 器件上实现的其他内核或 IP 等。Vitis 内核的默认通道是 AXI 适配器,如 适用于 Vitis 内核流程的接口 中所述。
  2. 此接口负责定义端口协议,此协议用于控制流经数据通道的数据流,定义何时数据有效并且可供读取或可供写入,如 Vivado IP 流程的端口级协议 中所述。
    提示: 这些端口协议可在 Vivado IP 流程中自定义,但在 Vitis 内核流程中设置且在大多数情况下不可更改。
  3. 此接口还负责定义 HLS 设计的执行控制方案,指定内核或 IP 操作方式为流水打拍还是顺序,如 块级控制协议 中所述。

利用 M_AXI 接口进行设计的最佳实践 中所述,接口的选择与配置是设计成功与否的关键。但本工具会尝试通过为目标流程选择默认接口来简化此进程,如上所述。

完成综合后,您可在 综合汇总 报告的“软件 I/O 信息”部分中复查将 C/C++ 代码的软件实参映射到硬件端口或接口的方式是否正确。