AXI_Stream协议概述及AXI_Stream data FIFO IP调用

概述

AXI_Stream属于AXI总线中比较简单的一种协议,和AXI4 full和AXI_lite相比,AXI_Stream是基于数据流传输,不存在读写地址,因此只有发送数据和接收数据两种传输过程,本文给出VAVIDO 18.3 AXI_Stream data FIFO的应用。

数据流的格式

1、字节流:具有若干个数据和空字节的传输。
AXI_Stream协议概述及AXI_Stream data FIFO IP调用
3、连续未对齐的流:包含若干数据字节且第一个字节和最后一个字节不包含位置字节。
AXI_Stream协议概述及AXI_Stream data FIFO IP调用
3、连续对齐的流:包含若干个数据字节。

AXI_Stream协议概述及AXI_Stream data FIFO IP调用

4、稀疏的流:包含若干数据和位置字节。

AXI_Stream协议概述及AXI_Stream data FIFO IP调用

实际应用中常使用连续对齐的数据流进行传输,只包含数据字节,没有位置字节和空字节奥。

信号描述

信号描述如下表所示,在多数应用中使用ACLK、ARSETn、TVALID、TREADY、TDATA、TLAST足以,TID等信号禁用。

AXI_Stream协议概述及AXI_Stream data FIFO IP调用

握手机制

发送和接收信号都必须先建立握手再进行数据传输,即当valid(主机产生)和ready(丛机产生)同时有效时数据流才得以传输,握手过程有以下三种方式。
1、valid先于ready的握手

AXI_Stream协议概述及AXI_Stream data FIFO IP调用

2、ready先于valid的握手

AXI_Stream协议概述及AXI_Stream data FIFO IP调用

3、ready和valid同时有效

AXI_Stream协议概述及AXI_Stream data FIFO IP调用

信号时序

一般通信过程:丛机将tready信号拉高表示准备接受信号,然后主端发送有效数据tdata,同时tvalid拉高,当最后一个数据开始传输时将tlast拉高,数据传输完成后tvalid和tlast拉低。

AXI_Stream协议概述及AXI_Stream data FIFO IP调用

AXI_Stream Data FIFO

IP CORE调用,禁用TID等信号,实际有效信号由block框图所示。
AXI_Stream协议概述及AXI_Stream data FIFO IP调用
输入信号如下图所示:
AXI_Stream协议概述及AXI_Stream data FIFO IP调用
FIFO输出信号:
AXI_Stream协议概述及AXI_Stream data FIFO IP调用