[X]关闭
1

05AXI4总线axi-stream(AXI4总线实战)

摘要: AXI4-Stream去掉了地址,允许无限制的数据突发传输规模,AXI4-Stream接口在数据流传输中应用非常方便,本来首先介绍了AXI4-Stream协议的型号定义,并且给出了一些Stream接口的时序方案图。之后通过VIVADO自带的AXI4 ...

软件版本:vitis2020.2(vivado2020.2)

操作系统:WIN10 64bit

硬件平台:适用XILINX A7/K7/Z7/ZU/KU系列FPGA(米联客(milianke)MZU07A-EG硬件开发平台)

登录"米联客"FPGA社区-www.uisrc.com视频课程、答疑解惑!

5.1概述

    AXI4-Stream去掉了地址,允许无限制的数据突发传输规模,AXI4-Stream接口在数据流传输中应用非常方便,本来首先介绍了AXI4-Stream协议的型号定义,并且给出了一些Stream接口的时序方案图。之后通过VIVADO自带的AXI4模板,创建axi-stream-master和axi-stream-slave ip。通过图形设计连线,添加仿真激励完成验证。

本文实验目的:

1:掌握基于VIVADO工具产生AXI协议模板

2:掌握通过VIVADO工具产生AXI-Stream代码

3:掌握通过VIVADO封装AXI-Stream图形化IP

4:通过仿真验证AXI-Stream IP的工作是否正常。

5.2AXI4-Stream协议介绍

5.2.1信号定义

信号

描述

ACLK

时钟源

信号在ACLK信号上升沿采样

ARESETn

复位源

复位信号,ARESETn低电平有效

TVALID

master

TVALID代表主设备数据有效,当TVALIDTREADY同时有效完成数据收发

TREADY

slave

TREADY表示从设备准备可以,主设备可以发送数据,当TVALIDTREADY同时有效完成数据收发

TDATA[(8n-1):0]

master

TDATA axi-stream的数据

TSTRB[(n-1)0]

master

TSTRB[n-1:0]对应的bit位为1代表对应的字节有效,否则无效,但是会占用这个数据位。

TKEEP[(n-1)0]

master

KEEP[n-1:0]对应的bit位为1代表对应的字节有效,否则为空,可以丢掉。

TLAST

master

TLAST代表最后一个数据。

TID[(i-1):0]

master

TID是数据流的标识符,用来表明不同的数据流。

TDEST[(d-1):0]

master

TDEST为据流提供路由信息。

TUSER[(n-1):0]

master

TUSER一般用于数据的同步,代表stream数据的开始。

以上所有信号,在axi-stream传输中,不一定全部用到,具体根据应用场景的情况而定。

5.2.1axi-stream方案展示

下图中除了ACLK外,axi-stream的信号用到了,TVALID、TREADY、TLAST、TDATA。其中TDATA虽然是12bit但是实际上会占用16bit的物理总线。并且数据是循环发送,用TLAST标识了一次循环的最后一个数据。

下图中截图来自AXI-DMA mm2s接口的时序图,除了ACLK外,axi-stream的信号用到了,TVALID、TREADY、TLAST、TDATA、TKEEP。用TLAST标识了一次循环的最后一个数据。

下图中是来自于xilinx vivado自带的axis_vid_out ip的视频输出时序。EOL就是tlast ,SOF就是tuser初次外还包括了VALID、READY、DATA信号。

5.3创建axi-stream-slave总线接口IP

新建fpga工程,过程省略


路过

雷人

握手

鲜花

鸡蛋
发表评论

最新评论

引用 uisrc 2021-8-18 20:42
配套源码下载链接:https://pan.baidu.com/s/1TvjOdZvCyDQpS4a7jYivRQ 提取码:1111

查看全部评论(1)

本文作者
2021-8-13 22:37
  • 7
    粉丝
  • 6982
    阅读
  • 1
    回复
  • 1
  • 2
  • 3
热门评论
排行榜