AXI4-Stream 介绍

AXI4-Stream是AXI4家族中的简单协议,用于传输数据流。数据流包括datatype、positiontype和nulltype,接口信号如TVALID和TREADY用于握手,TDATA携带数据,TKEEP和TSTRB标识数据类型,而TLAST标记数据包结束。TID和TDEST用于多路复用,TUSER则传输额外信息。
摘要由CSDN通过智能技术生成

【转载出处】https://zhuanlan.zhihu.com/p/152283168

上篇对AXI4总线作了介绍,接下来对AXI4-Stream进行简要介绍。本文是个人总结,如有问题,欢迎批评指正。

AXI4-Stream在AXI4家族中相对来说比较简单,本文主要回答两个问题:

(1)AXI4-Stream 传输的数据流都包含什么?

(2)AXI4-Stream 的接口信号有哪些?master和slave是如何握手的?


数据流

AXI4-Stream传输的数据流包含三种类型:data type、position type、null type。

data type是最有意义的数据;position type 作为占位符使用,可以用来表征date type 的相对位置,null type不包含任何有用的信息。

数据流的结构可以有很多种,例如:可以只传数据,也即都是data type,不包含position type和null type;也可以将data type 和 null type 混着传输;还可以将position type 和 data type混着传输。当然三者混着传输也没有问题。

全都是data type

data type 和 position type 混搭

那么问题来了,数据流传输类型有三种,在传输的过程中如何分辨这三种类型呢?AXI4-Stream的接口信号可以帮助我们进行区分,接下来看看都有哪些接口信号。


接口信号

先来一图尽览:

ACLK和ARESETn信号,不必多说,时钟和复位信号;

接下来是TVALID和TREADY信号,这两个信号作为握手信号,分别从master 和 slave发出。如何握手呢?想想一下,你和别人握手的过程,大概分为三个阶段:双方心里进行某种心理活动、伸手、握手上下抖动;AXI4-Stream上握手也大体经历这三个过程。

(1)双方心里进行某种心理活动:相当于 master 和 slave 在自己内部搞事情,搞完自己的事情才能闲下来去握手,master搞完事情发出 TVALID high 信号,slave 搞完事情发出TREADY high 信号。

(2)伸手的过程其实比较讲究,现实生活中也是。你和老板握手,可能老板先伸手、也可能你先伸手、也可能你俩同时伸手。master和slave也是如此,可能 TVALID high 信号比TREADY high 早,可能TVALID比TREADY晚,也可能同时出现。

(3)握手上下抖动:当你们两个都抬起了手,接下来就是隆重的握手阶段,在握手的时候,你可以感受到老板的手那么有力量,那么厚重......master和slave在TVALID 和 TREADY同为高时开始传输数据。

TVALID 先高为敬

TREADY 先高为敬

TVALID TREADY 同时变高

TDATA不多说了,它就是数据流。前文中提到在数据流中有三种类型,分别为data type、position type和null type,那么在传输的时候如何区分呢?要靠TKEEP和TSTRB。

为了便于说明,假设n为数据总线的字节数,即TDATA的字节数,可以把TDATA表示为TDATA[(8*n-1):0],TKEEP和TSTRB有n位,和TDATA上的每个字节一一对应,二者共同表示TDATA上每个字节的类型。举个例子,n = 2、TDATA = 0x0036、TKEEP = 2'b01、 TSTRB= 2'b01。由于TKEEP和TSTRB高位为0,那么TDATA的高阶字节为null type;由于TKEEP和TSTRB地位为1,那么TDATA的低阶字节为data type。

有一点需要注意,TKEEP为0、TSTRB为1的情况是不能使用的。

TKEEP 和 TSTRB 表示数据流中字节类型

TLAST信号,用来表示一个包的结尾。例如发送大小为32字节的包,在发送第32个字节的时候,可以把TLAST信号拉高,来表示这个包发送完了。

TID和TDEST信号:当我们在同一个接口传输不同数据流时有用,一般来讲,AXIS4-Stream Interconnect Core IP可以帮助我们完成这个过程。TUSER信号用来传输一些额外的信息。

参考

[1] ug1037-vivado-axi-reference-guide.pdf

[2] IHI0051A_amba4_axi4_stream_v1_0_protocol_spec.pdf

  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值