AI 引擎拼块接口 - 2022.1 简体中文

AI 引擎内核编码 最佳实践指南 (UG1079)

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

数据存储器接口、串流接口和级联串流接口是主要的 I/O 接口,用于读取和写入出入 AI 引擎的数据以便对其执行计算。

  • 数据存储器接口会看到一个连续的存储器,它由全部四个方向的多个数据存储器模块组成,总容量为 128 KB。AI 引擎具有两个 256 位宽的加载单元和一个 256 位宽的存储单元。每次加载或存储均可使用 128 位对齐来访问位宽为 128 位或 256 位的数据。
  • AI 引擎具有两个 32 位输入 AXI4-Stream 接口和两个 32 位输出 AXI4-Stream 接口。每条串流都连接到输入和输出侧的 FIFO,这样即可允许 AI 引擎在每 4 个周期内执行一次 128 位访问,或者在串流上的每个周期内执行一次 32 位宽的访问。
  • 在两个 AI 引擎之间可以使用专用级联串流接口构成一条接口链,以转发 384 位累加器数据。在输入串流和输出串流上各有一个深度为 2 的小型 384 位宽 FIFO,允许在 AI 引擎之间存储最多 4 个值。链式 AI 引擎可在每个周期内接收和发送 384 位。级联串流链可为按相同吞吐量工作的多个内核提供相对紧密的耦合。

AI 引擎执行编程时,重要的是注意每个 AI 引擎都能够访问 2 个 32 位 AXI4-Stream 输入、2 个 32 位 AXI4-Stream 输出、1 个 384 位级联串流输入、1 个 384 位级联串流输出、2 个 256 位数据加载、1 个 256 位数据存储。但由于指令长度所限,在同一个周期内无法执行所有这些操作。