“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
只能是0b0001
、0b0011
、0b0111
或0b1111
,以指定最后一次传输的大小分别为 1 字节、2 字节、3 字节或 4 字节。 -
TKEEP
不能全为零(即使TLAST
是 1 也是如此)。 -
TLAST
必须在数据包的末尾断言有效。 - 如果未启动内核,则
TREADY
输入/TVALID
输出应为低电平,以避免丢失传输。