自学内容网 自学内容网

AXI4-Stream

简介

这是一种连续流接口,不需要地址线(很像 FIFO ,一直读或一直写就行)。对于这类 IP ,ARM 不能通过上面的内存映射方式控制( FIFO 根本没有地址的概念),必须有一个转换装置,例如 AXI DMA 模块来实现内存映射到流式接口的转换。 AXI Stream 适用的场合有很多:视频流处理;通信协议转换;数字信号处理;无线通信等。其本质都是针对数据流构建的数据通路,从信源(例如 ARM 内存、 DMA 、无线接收前端等)到信宿(例如 HDMI 显示器、高速 AD 音频输出,等)构建起连续的数据流。这种接口适合做实时信号处理

信号

SignalSourceDescriptionDefault
ACLKClock source时钟,上升沿有效/
ARESETnReset source复位,低有效/
TVALIDMaster高有效,表示 Master 已准备好数据。当 TVALID 和 TREADY 同时为高时传输数据0
TREADYSlave高有效,表示 Slave 可以接收数据1
TDATA[(8n-1):0]Master发送数据,位宽为字节整数倍0
TSTRB[(n-1):0]MasterTDATA 类型指示,1为数据字节(data byte),0为位置填充字节(position byte)①只有 TKEEP 时,TSTRB=TKEEP;②两者都没有时,默认全为1
TKEEP[(n-1):0]Masternull bytes 指示。0为 null byte,可以从 stream 中删除;1为非 null byte没有 TKEEP 时,默认全为 1
TLASTMaster包的最后一个数据指示,高有效
TID[(i-1):0]Master用于指示不同类型 stream 数据0
TDEST[(d-1):0]Master提供 stream 路由信息0
TUSER[(u-1):0]Master用户自定义信号,直接透传0

握手机制

数据在 TVALID 和 TREADY 同时有效时进行传输,常见几种握手情况如下所示:

  1. TVALID 先于 TREADY 有效

在这里插入图片描述

  1. TREADY 先于 TVALID 有效

在这里插入图片描述

  1. TVALID 和 TREADY 同时有效(Slave 判断到 TVALID 有效,立即置位 TREADY)

在这里插入图片描述

字节类型

分为 Data byte、Position byte、Null byte 三种。

  • Data byte:该类型字节及其内容必须由 Master 传输到 Slave;
  • Position byte:该类型字节必须由 Master 传输到 Slave,但是内容不要求收发一致,因为只需要位置信息;
  • Null byte:该类型字节不包含任何信息。在传输过程中,可以插入或者删除 Null byte。

interconnect 不允许修改 Position byte,但允许插入或删除 Null byte。

TKEEP和TSTRB

TKEEPTSTRBData TypeDescription
11Data byte有效数据
10Position byte位置信息
00Null byte无效数据
01Reserved不适用

AXI4-Stream Data FIFO

该 IP 无法根据 TKEEP 和 TSTRB 自动丢数据。

正常模式

Master 从 Slave 收到数据后延迟 3个周期后输出

在这里插入图片描述

packet模式

Master 从 Slave 收到最后一个数据后延迟 3个周期后输出 TVALID

在这里插入图片描述

AXI4-Stream Interconnect

该 IP 可实现 TDEST 路由,但是无法根据 TKEEP 和 TSTRB 自动丢数据。

在这里插入图片描述


原文地址:https://blog.csdn.net/qq_38695100/article/details/142534549

免责声明:本站文章内容转载自网络资源,如本站内容侵犯了原著者的合法权益,可联系本站删除。更多内容请关注自学内容网(zxcms.com)!