串流接口 - 2022.1 简体中文

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

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

“Streaming Interfaces”(串流接口)页面允许配置内核上的 AXI4-Stream 接口。串流接口仅在选定的平台上可用,如果所选平台不支持串流,则不显示此页面。串流接口用于内核至内核间的直接通信,如 串流数据传输 中所述。

图 1. “RTL Kernel”Wizard 串流接口页面
Number of AXI4-Stream interfaces(AXI4-Stream 接口数)
指定内核上存在的 AXI4-Stream 接口数。每个内核最多可启用 32 个接口。赛灵思建议尽量减少接口数量,以减少消耗的面积。
Name(名称)
指定接口的名称。为确保最大兼容性,实参名称遵循与内核名称相同的标识符规则。
Mode(模式)
指定接口为主接口还是从接口。AXI4-Stream 从接口是只读接口,AXI4-Stream 主接口则是只写接口。
Width (bytes)(以字节为单位的宽度)
指定 AXI4-Stream 接口的 TDATA 宽度(以字节为单位)。此接口宽度限制为 1 - 64 个字节(2 次幂)。
Has TSTRB(包含 TSTRB)
指定 AXI4-Stream 接口的 TSTRB 信号存在于内核上。
TUSER Width (bits)(TUSER 宽度(位))
指定 AXI4-Stream 接口的 TUSER 信号宽度(以位为单位)。接口宽度限制为 0 到 512 位。
TID (bits)(TID(位))
指定 AXI4-Stream 接口的 TID 信号宽度(以位为单位)。接口宽度限制为 0 到 32 位。
TDEST (bits)(TDEST(位))
指定 AXI4-Stream 接口的 TDEST 信号宽度(以位为单位)。接口宽度限制为 0 到 32 位。

串流接口使用 AXI4-Stream 协议的 TDATA/TKEEP/TLAST 信号。串流事务由一系列传输组成,其中最终传输以 TLAST 信号断言有效来终止。串流必须遵循如下规则:

  • TVALID/TREADY 同时断言有效时,发生 AXI4-Stream 传输。
  • TDATA 位宽必须为 8、16、32、64、128、256 或 512 位。
  • TLAST 为0 时,TKEEP(每个字节)必须全部为 1。
  • TLAST 为 1 时,TKEEP 可用于发出尾部参差不齐信号。例如,在 4 字节接口上,TKEEP 只能是 0b00010b00110b01110b1111,以指定最后一次传输的大小分别为 1 字节、2 字节、3 字节或 4 字节。
  • TKEEP 不能全为零(即使 TLAST 是 1 也是如此)。
  • TLAST 必须在数据包的末尾断言有效。
  • 如果未启动内核,则 TREADY 输入/TVALID 输出应为低电平,以避免丢失传输。