通道化分段式 AXI4‑Stream 协议的使用成功与否受到多项规则的管辖。
分段排序
128 位分段按顺序 0 到 N 进行排序;首次 128 位传输发生在分段 0 上,第二次传输发生在分段 1 上,以此类推。在数据有效的每个时钟周期(tvalid
断言有效)内,分段 0 不活动 (tuser_ena0
== 0
) 即表明该周期为空闲(无数据)。如果该周期并非完全空闲,存在部分数据,那么分段 0 就必须处于活动状态 (tuser_ena0 == 1
)。分段式总线对齐方式为使数据的第一个字节置于分段 0 的位 7:0 内。
活动分段
当对应 tuser_ena
位断言有效时,在该接口上通过单一分段传输数据。各分段必须按顺序填充,且有效分段间不存在间隔。
EOP 后的间隔
各分段必须按顺序填充,且有效分段间不存在间隔。但如果某一分段具有 eop
,则后续分段可能处于不活动状态。此外,如果 eop
后的分段处于不活动状态,那么该周期内所有后续分段都必须处于不活动状态。
通道关联
由于 DCMAC Subsystem 使用 id_req_vld
和 id_req
信号实现预先指定的通道,因此在这些指定的信号与 tvalid
和 tid
成对响应之间必须存在有保证的关联,其中两组信号虽相同,但 tvalid
和 tid
按固定静态时钟数进行时移。
DCMAC Subsystem 能保证 AXI4‑Stream 发射客户端所显示的有效 tid
信号与 ch_status
接口上所显示的有效 ch_status_id
信号之间的关联。但在此例中,这种关联并非精确的镜像关联,因为仅当 ch_status_skip_req
断言有效时,ch_status_vld
才会断言有效。无论如何,DCMAC Subsystem 仍将保证提供通道状态信息的频率不高于 AXI4‑Stream 客户端显示该通道的 tid
的频率。
前导码
DCMAC Subsystem 的通道化 AXI4‑Stream 总线可支持每个周期最多 3 个 sop
信号;对应的前导码在 tx_axis_preamblein_{0,2,4}
上提供。tx_axis_preamblein_0
用于分段 0 到 3 中的 sop
信号,tx_axis_preamblein_2
用于分段 4 到 7 中的 sop
信号,tx_axis_preamblein_4
则用于分段 8 到 11 中的 sop
信号。