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

    文章

    4555

    浏览量

    66767
  • Stream
    +关注

    关注

    0

    文章

    20

    浏览量

    7923
  • AXI
    AXI
    +关注

    关注

    1

    文章

    126

    浏览量

    16286

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

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

收藏 人收藏

    评论

    相关推荐

    在SpinalHDL里在顶层一键优化Stream/Flow代码生成

        在SpinalHDL里在顶层一键优化代码Stream/Flow代码生成的payload,fragment。 难看的代码       来看一段
    的头像 发表于 12-14 09:05 335次阅读

    XILINX FPGA IP之AXI Traffic Generator

    AXI Traffic Generator IP 用于在AXI4和AXI4-Stream互连以及其他AXI4系统外设上生成特定序列(流量)。它根据IP的编程和选择的操作模式生成各种类型
    的头像 发表于 11-23 16:03 827次阅读
    XILINX FPGA IP之<b class='flag-5'>AXI</b> Traffic Generator

    gic和ARM Core的连接

    • ◾nVIRQ: 虚拟普通中断 • ◾nVFIQ: 虚拟快速中断 (2)gicv3和ARM Core的连接 gicv3 AXI-stream协议 • ◾gic stream协议,是基于AXI-stream协议
    的头像 发表于 11-07 18:07 306次阅读
    gic和ARM Core的连接

    AXI传输数据的过程

    AXI-Stream,其中AXI-Lite和AXI-Full都是基于memory map的形式实现数据传输(即包括地址总线),而AXI-Stream是以数据流的形式传输,无地址。 •其
    的头像 发表于 10-31 15:37 466次阅读
    <b class='flag-5'>AXI</b>传输数据的过程

    Java的Stream的常用知识

    什么是Stream 生产线 Stream就像处理生产流水线一样去工作,传送带就是Stream的管道,每个工厂关注直接的生产,将上游产品加工成下游需要的产品。为什么Stream比传统的处
    的头像 发表于 10-11 15:45 255次阅读
    Java的<b class='flag-5'>Stream</b>的常用知识

    Stream API原理介绍

    Stream API 是 Java 8 中最重要的新特性之一,它是处理集合和数组的一种新方式。它提供了一种简单、灵活和可读的方式来处理集合和数组中的元素,从而使代码更加简洁、高效和易于维护。 1.
    的头像 发表于 09-30 15:31 348次阅读

    什么是AXIAXI如何工作?

    Xilinx 从 Spartan-6 和 Virtex-6 器件开始采用高级可扩展接口 (AXI) 协议作为知识产权 (IP) 内核。Xilinx 继续将 AXI 协议用于针对 7 系列和 Zynq-7000 All Programmable SoC 器件的 IP。
    的头像 发表于 09-27 09:50 688次阅读
    什么是<b class='flag-5'>AXI</b>?<b class='flag-5'>AXI</b>如何工作?

    LogiCORE IP AXI4-Stream FIFO内核解决方案

    LogiCORE IP AXI4-Stream FIFO内核允许以内存映射方式访问一个AXI4-Stream接口。该内核可用于与AXI4-Stream IP接口,类似于LogiCORE IP
    的头像 发表于 09-25 10:55 598次阅读
    LogiCORE IP <b class='flag-5'>AXI4-Stream</b> FIFO内核解决方案

    Stream的核心概念

    有用。 Stream 的核心概念是将数据视为流,每次处理一个元素,而不是将整个数据集加载到内存中。这样可以避免内存占用过大的问题,同时也能够提高程序的效率。 基础用法 创建 Stream 在 Rust 中,我们可以使用 iter 方法来创建
    的头像 发表于 09-19 16:19 282次阅读

    Stream模块的基础用法和进阶用法

    在 Rust 语言中,Tokio 是一个非常流行的异步编程框架。它提供了一系列的模块,其中最常用的就是 Stream 模块。Stream 模块允许我们以异步的方式处理数据流,这在很多情况下非常
    的头像 发表于 09-19 15:33 709次阅读

    用了Stream后,代码反而越写越丑?

    在Java中,同样的功能,代码行数写的少了,并不见得你的代码就好。由于Java使用;作为代码行的分割,如果你喜欢的话,甚至可以将整个Java文件搞成一行,就像是混淆后的JavaScript一样。
    的头像 发表于 08-23 15:08 262次阅读

    AXI VIP当作master时如何使用?

    AXI接口虽然经常使用,很多同学可能并不清楚Vivado里面也集成了AXI的Verification IP,可以当做AXI的master、pass through和slave,本次内容我们看下
    的头像 发表于 07-27 09:16 942次阅读
    <b class='flag-5'>AXI</b> VIP当作master时如何使用?

    图像流AXI-Stream生成BMP文件的实现思路

    在实现上,由于bmp除去文件头后也只是把图像流数据按顺序放而已
    的头像 发表于 06-27 11:20 640次阅读
    图像流<b class='flag-5'>AXI-Stream</b>生成BMP文件的实现思路

    Xilinx FPGA AXI4总线(一)介绍【AXI4】【AXI4-Lite】【AXI-Stream

    从 FPGA 应用角度看看 AMBA 总线中的 AXI4 总线。
    发表于 06-21 15:21 1875次阅读
    Xilinx FPGA <b class='flag-5'>AXI</b>4总线(一)介绍【<b class='flag-5'>AXI</b>4】【<b class='flag-5'>AXI</b>4-Lite】【<b class='flag-5'>AXI-Stream</b>】

    Video In to AXI4-Stream IP核知识介绍

    大家好!今日分享一些关于Video In to AXI4-Stream IP 核的知识。在具体学习IP核的过程中,我也将分享一些关于如何看xilinx英文文档的技巧。
    的头像 发表于 05-18 14:55 1059次阅读
    Video In to <b class='flag-5'>AXI4-Stream</b> IP核知识介绍