AXI-Stream代码详解
AXI4-Stream跟AXI4的区别在于AXI4-Stream没有ADDR接口,这样就不涉及读写数据的概念了,只有简单的发送与接收说法,减少了延时,允许无限制的数据突发传输规模。AXI4-Stream的核心思想在于流式处理数据。
图 4‑58 AXI-Stream Interface
全局信号
1.ACLK 全局时钟信号,在上升沿时对信号采样。所有的输入信号都通过上升沿采集,所有的输出信号都在上升沿时变化。
2.ARESETn 全局复位信号,低电平有效。在复位期间,所有的xxVALID信号必须复位为低电平。其他的信号可以是任意值。
主机(master)控制的信号
3.TVALID 握手信号
4.TDATA 数据信号线
5.TSTRBTDATA的内容修饰符,用于指示是数据字节还是位置字节。初学者默认为1即可.
6.TKEEPTDATA的内容修饰符,用于指示是此字节是否为有效字节,和TSTRB配合使用。如下表。xilinx封装的ip中不使用此信号,所以默认为1。
TSTRB | TKEEP | data type |
high | high | 数据字节 |
high | low | 位置字节 |
low | low | 无效字节 |
low | low | 保留 |
7.TLAST 置高表示本次流传输中的最后一个数据。
8.TID 表示不同数据流的数据流标识符。xilinx封装的ip中没有此信号。
9.TDEST 用于提供路由信息,xilinx封装的ip中没有此信号。
10.TUSER AXI4协议留给用户自定义的。xilinx封装的ip中没有此信号。
从机(slave)控制的信号
11.TREADY 握手信号
一个AXI-stream传输的时序图:
图4‑59 AXI-stream example
AXI4-stream主从交互仿真
lvivado创建工程,添加代码。
l编写仿真tb文件。
下图是AXI4-stream主从交互的时序图。
图4‑60 AXI4-stream主从交互的时序图
其中AXI-stream一般的数据传输过程如下:
1、首先slave将TREADY信号拉高,表示自己可以接收信号。
2、当master将TDATA,TKEEP,TUSER准备就绪之后,将TVALID拉高,传输开始。
3、其中TKEEP满足TKEEP[x] is associated with TDATA[(8x+7):8x],当其被拉高时表示这段数据必须传输到目的地。TSTRB表示该段信息是否有效。TUSER可以在传递时捎带用户信息。具体接口参照使用的AXI-stream接口器件,并非所有支持AXI-stream接口的器件都含有以上接口,其中的一些接口是可选的而不是必需的。
4、直到master将TLAST拉高,TVALID拉低,传输结束。
代码在这里:
链接:https://pan.baidu.com/s/1FprBYZ37FP-deT38pWzSwg
提取码:open
责任编辑:xj
原文标题:AXI-Stream代码详解
文章出处:【微信公众号:OpenFPGA】欢迎添加关注!文章转载请注明出处。
-
代码
+关注
关注
30文章
4841浏览量
69195 -
Stream
+关注
关注
0文章
21浏览量
8010 -
AXI
+关注
关注
1文章
128浏览量
16738
原文标题:AXI-Stream代码详解
文章出处:【微信号:Open_FPGA,微信公众号:OpenFPGA】欢迎添加关注!文章转载请注明出处。
发布评论请先 登录
相关推荐
ZYNQ基础---AXI DMA使用
![ZYNQ基础---<b class='flag-5'>AXI</b> DMA使用](https://file1.elecfans.com/web3/M00/04/ED/wKgZPGd7SvCAE7QTAAAid90C1HA013.png)
海康睿影在线CT AXI智能检测设备概述
AMBA AXI4接口协议概述
![AMBA <b class='flag-5'>AXI</b>4接口协议概述](https://file1.elecfans.com/web1/M00/F3/CA/wKgZoWce-3qAW_u5AAAraAIQG4g501.png)
Xilinx NVMe AXI4主机控制器,AXI4接口高性能版本介绍
![Xilinx NVMe <b class='flag-5'>AXI</b>4主机控制器,<b class='flag-5'>AXI</b>4接口高性能版本介绍](https://file1.elecfans.com/web2/M00/FD/15/wKgZomaX58qAJdpBAAHSYGh3ItM420.png)
Fx3 an65974 stream_in示例不起作用是怎么回事?
ESP-ADF下的i2s_stream是否可以全双工工作?
SoC设计中总线协议AXI4与AXI3的主要区别详解
![SoC设计中总线协议<b class='flag-5'>AXI</b>4与<b class='flag-5'>AXI</b>3的主要区别详解](https://file1.elecfans.com/web2/M00/E4/C1/wKgaomY9lTuActx0AAA93N8lvBQ190.png)
使用STM32F429的DMA多个外设都使用到同样的DMA_STREAM的时候,就会发生冲突怎么解决?
FPGA通过AXI总线读写DDR3实现方式
Multi-Channel PCIe QDMA&RDMA IP应用介绍
Xilinx高性能PCIe DMA控制器IP,8个DMA通道
![Xilinx高性能PCIe DMA控制器IP,8个DMA通道](https://file1.elecfans.com/web2/M00/C1/7A/wKgaomXWuwqAPuWtAAE4N660yig790.png)
PCIe-AXI-Cont用户手册
PCIe控制器(FPGA或ASIC),PCIe-AXI-Controller
![PCIe控制器(FPGA或ASIC),PCIe-<b class='flag-5'>AXI</b>-Controller](https://file1.elecfans.com/web2/M00/C0/72/wKgZomXVomuAWA5hAADiDHK4KfA998.png)
Xilinx FPGA NVMe控制器,NVMe Host Controller IP
![Xilinx FPGA NVMe控制器,NVMe Host Controller IP](https://file1.elecfans.com/web2/M00/BC/23/wKgaomWY6TSAQxCQAAK-9HMXcTI586.png)
评论