使用完整的 AXI 数据宽度 - 2022.1 简体中文

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

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

Vitis 编译器可根据内核实参的数据类型来配置内核与存储器控制器之间的用户数据宽度。为了最大程度提升数据吞吐量,赛灵思建议您选择映射到存储器控制器上的完整数据宽度的数据类型。所有受支持的加速卡中的存储器控制器都支持 512 位用户接口,此接口可映射到 C/C++ 任意精度数据类型 ap_int<512>OpenCL 矢量数据类型(如 int16)。

存储器接口宽度约束 中所述,Vitis HLS 的默认行为是自动调整内核接口端口大小(最大 512 位)以改善突发访问。如下图所示,您可以观察到突发 AXI 传输事务(突发长度为 16)和 512 位封装大小(突发大小为 64 字节)。

图 1. 突发 AXI 传输事务

此示例演示的是良好的接口配置,因为它最大程度提升了 AXI 数据宽度和实际突发传输事务。

由于存储器布局和数据打包差异,用于声明接口的复杂结构体或类可能导致硬件接口极为复杂。这可能会带来在复杂系统中很难调试的潜在问题。