0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

AXI-Stream代码

OpenFPGA 来源:OpenFPGA 作者:OpenFPGA 2020-11-05 17:40 次阅读

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

    文章

    4779

    浏览量

    68521
  • Stream
    +关注

    关注

    0

    文章

    20

    浏览量

    7968
  • AXI
    AXI
    +关注

    关注

    1

    文章

    127

    浏览量

    16622

原文标题:AXI-Stream代码详解

文章出处:【微信号:Open_FPGA,微信公众号:OpenFPGA】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    AMBA AXI4接口协议概述

    AMBA AXI4(高级可扩展接口 4)是 ARM 推出的第四代 AMBA 接口规范。AMD Vivado Design Suite 2014 和 ISE Design Suite 14 凭借半导体产业首个符合 AXI4 标准的即插即用型 IP 进一步扩展了 AMD 平台
    的头像 发表于 10-28 10:46 209次阅读
    AMBA <b class='flag-5'>AXI</b>4接口协议概述

    Xilinx NVMe AXI4主机控制器,AXI4接口高性能版本介绍

    NVMe AXI4 Host Controller IP可以连接高速存储PCIe SSD,无需CPU,自动加速处理所有的NVMe协议命令,具备独立的数据写入和读取AXI4接口,不但适用高性能、顺序
    的头像 发表于 07-18 09:17 533次阅读
    Xilinx NVMe <b class='flag-5'>AXI</b>4主机控制器,<b class='flag-5'>AXI</b>4接口高性能版本介绍

    Fx3 an65974 stream_in示例不起作用是怎么回事?

    fpga 相连,在使用 loopback 和 stream_out 示例时没有任何问题,但 stream_IN 示例似乎坏了。 当我在 USB 控制中心手动按下\"Transfer
    发表于 07-04 07:28

    ESP-ADF下的i2s_stream是否可以全双工工作?

    请问各位朋友: ESP-ADF下的i2s_stream是否可以全双工工作,我看了其下的所有关于I2S的例子程序和create_i2s_stream函数的源码,都只能单工工作(要么读要么写),我要自行修改与i2s_stream相关
    发表于 06-28 06:59

    SoC设计中总线协议AXI4与AXI3的主要区别详解

    AXI4和AXI3是高级扩展接口(Advanced eXtensible Interface)的两个不同版本,它们都是用于SoC(System on Chip)设计中的总线协议,用于处理器和其它外设之间的高速数据传输。
    的头像 发表于 05-10 11:29 6613次阅读
    SoC设计中总线协议<b class='flag-5'>AXI</b>4与<b class='flag-5'>AXI</b>3的主要区别详解

    使用STM32F429的DMA多个外设都使用到同样的DMA_STREAM的时候,就会发生冲突怎么解决?

    最近在使用STM32F429的DMA时候,发现一个问题,当多个外设都使用到同样的DMA_STREAM的时候,就会发生冲突(后面配置的DMA可用,前面配置的不能用),我用的USART6_TX用
    发表于 04-24 07:13

    FPGA通过AXI总线读写DDR3实现方式

    AXI总线由一些核心组成,包括AXI主处理器接口(AXI4)、AXI处理器到协处理器接口(AXI4-Lite)、
    发表于 04-18 11:41 1258次阅读

    Multi-Channel PCIe QDMA&RDMA IP应用介绍

    Scather Gather DMA,提供FIFO/AXI4-Stream用户接口。基于PCI Express Integrated Block,Multi-Channel PCIe RDMA Subsystem实现了使用DMA Ring缓冲的独立多通道、高性能/超低延时/超低抖动Continous Rin
    发表于 02-22 14:34 1次下载

    Xilinx高性能PCIe DMA控制器IP,8个DMA通道

    Scather Gather DMA,提供FIFO/AXI4-Stream用户接口。 基于PCI Express Integrated Block,Multi-Channel PCIe RDMA
    的头像 发表于 02-22 11:11 1435次阅读
    Xilinx高性能PCIe DMA控制器IP,8个DMA通道

    PCIe-AXI-Cont用户手册

    PCIe-AXI-Controller兼容PCI Express base Specification Revision 3.1,实现PCIe PHY layer,Data link layer以及
    发表于 02-22 09:15 3次下载

    PCIe控制器(FPGA或ASIC),PCIe-AXI-Controller

    PCIe-AXI-Controller兼容PCI Express Base Specification Revision 3.1,实现PCIe PHY Layer,Data Link Layer以及
    的头像 发表于 02-21 15:15 898次阅读
    PCIe控制器(FPGA或ASIC),PCIe-<b class='flag-5'>AXI</b>-Controller

    AMBA总线之AXI设计的关键问题讲解

    首先我们看一下针对AXI接口的IP设计,在介绍之前我们先回顾一下AXI所具有的一些feature。
    的头像 发表于 02-20 17:12 1787次阅读
    AMBA总线之<b class='flag-5'>AXI</b>设计的关键问题讲解

    Xilinx FPGA NVMe控制器,NVMe Host Controller IP

    NVMe Host Controller IP可以连接高速存储PCIe SSD,无需CPU和外部存储器,自动加速处理所有的NVMe协议命令,具备独立的数据写入AXI4-Stream/FIFO接口和数
    的头像 发表于 02-18 11:27 891次阅读
    Xilinx FPGA NVMe控制器,NVMe Host Controller IP

    如何从SD卡读取音频文件并将其输出到扬声器上?

    在上一篇教程中,创建了一个 I2S 发送器用来发送来从FPGA内部 ROM 的音频数据。下一步,我们向该 I2S 发送器添加 AXI-Stream 接口,这样我们就可以将发送器与 ZYNQ 的处理系统连接,还可以从 SD 卡读取音频数据。
    的头像 发表于 01-22 09:23 1992次阅读
    如何从SD卡读取音频文件并将其输出到扬声器上?

    漫谈AMBA总线-AXI4协议的基本介绍

    本文主要集中在AMBA协议中的AXI4协议。之所以选择AXI4作为讲解,是因为这个协议在SoC、IC设计中应用比较广泛。
    发表于 01-17 12:21 2367次阅读
    漫谈AMBA总线-<b class='flag-5'>AXI</b>4协议的基本介绍