首页 > 其他分享 >AXI-STREAM简介

AXI-STREAM简介

时间:2024-01-03 21:11:07浏览次数:30  
标签:STREAM 简介 TVALID 传输 数据传输 AXI TREADY

AXI-STREAM简介

概念

AXI-Stream总线是一种高效、简单的数据传输协议,主要用于高吞吐量的数据流传输场景。相比于传统的AXI总线,AXI-Stream总线更加简单和轻量级,它通过无需地址的方式,将数据从一个模块传输到另一个模块,适用于需要高速数据传输的应用场景。

部分术语

  • Transfer:基于TVALIDTREADY握手协议的传输
  • Packet:一组通过axi-stream传输的数据
  • Frame:最大的Byte组合,包含整数个Packet

接口信号

信号 描述
ACLK 全局时钟信号,上升沿有效
ARSTn 全局复位信号,低电平有效
TVALID 主机驱动有效数据
TREADY 从机可以接收数据
TDATA[(8n-1):0] 位宽为整数倍byte
TLAST 表示数据包的边界
TID 由主机发出,Identity标识符,在存在多个stream数据传输时起作用,用于识别不同的数据流

接口时序

当clk上升沿检测到TVALID和TREADY均为高电平时开始传输数据

由于AXI-STREAM不需要传输地址,仅进行简单的发送和接收,因此减小了传播时延

标签:STREAM,简介,TVALID,传输,数据传输,AXI,TREADY
From: https://www.cnblogs.com/sawen/p/17944062

相关文章

  • 【微服务】springboot整合kafka-stream使用详解
    目录一、前言二、kafkastream概述2.1什么是kafkastream2.2为什么需要kafkastream2.2.1对接成本低2.2.2节省资源2.2.3使用简单2.3kafkastream特点2.4kafkastream中的一些概念2.5 KafkaStream应用场景三、环境准备3.1搭建zk3.1.1自定义docker网络3.1.2 拉取zk镜像3.......
  • 数据结构简介之算法
    时间复杂度算法的时间复杂度_算法时间复杂度-CSDN博客时间复杂度可以参考这篇文章超级详细!!!为什么不使用算法的绝对运行时间来衡量算法的时间效率?同一个算法处理不同数量的数据时,所花的绝对运行时间可能不同。同一个算法处理相同数量的数据时,在不同配置的电脑上的绝对运行时间也可能......
  • Vue axios 拦截器
    正常情况下打开浏览器前端页面向后端发起请求使用的是axios,无论是原生的axios还是自己封装的axios都看成是axios。发起请求之后后端去数据库里面拿数据,然后返回给前端。发起请求的地方是axios,并且你能够封装这个axios,那么你就可以添加拦截器。请求拦截器就是你在发起请求的时候应该......
  • 【C++】STL 容器 - set 集合容器 ⑥ ( pair 对组简介 | pair 对组元素访问 | set 集合
    文章目录一、pair对组1、pair对组简介2、pair对组元素访问3、代码示例-pair对组4、set集合容器存储pair对组元素二、set集合容器insert插入结果类型-pair对组1、std::set#insert函数原型分析2、代码示例-std::set#insert函数插入元素结果分析一、pair对组1......
  • 【C++】STL 容器 - set 集合容器 ⑤ ( 仿函数 functor 简介 | 仿函数 functor 调用 |
    文章目录一、仿函数functor1、仿函数functor简介2、仿函数functor调用3、代码示例-仿函数functor调用二、为自定义类元素设置排序规则-仿函数functor1、自定义类排序规则2、仿函数-实现自定义类排序规则3、重载<运算符函数-实现自定义类排序规则一、仿函数fu......
  • 【C++】STL 容器 - set 集合容器 ③ ( set 集合容器常用 api 简介 | 删除元素 | 删除
    文章目录一、删除元素1、删除指定值的元素-erase函数2、删除指定迭代器位置的元素-erase函数3、删除指定迭代器范围的元素-erase函数4、删除集合中的所有元素-clear函数一、删除元素1、删除指定值的元素-erase函数在C++语言的STL标准模板库中,set集合容......
  • 【C++】STL 容器 - set 集合容器 ② ( set 集合容器常用 api 简介 | 使用迭代器进行正
    文章目录一、set集合容器遍历1、使用迭代器进行正向迭代与反向迭代2、代码示例二、set集合容器插入元素1、插入单个元素-insert函数2、插入多个元素-insert函数3、插入指定迭代器范围的元素-insert函数一、set集合容器遍历1、使用迭代器进行正向迭代与反向迭代std:......
  • 【C++】STL 容器 - list 双向链表容器 ② ( list 常用 api 简介 | 首尾 添加 / 删除
    文章目录一、元素操作1、首尾添加/删除元素2、获取首尾元素二、迭代器遍历容器1、正向迭代与反向迭代2、代码示例一、元素操作1、首尾添加/删除元素list双向链表容器提供了push_back、pop_back、push_front和pop_front等一系列用于操作列表元素的成员函数,函......
  • 【C++】STL 容器 - priority_queue 优先级队列容器 ( 容器简介 | 容器操作性能分析 |
    文章目录一、priority_queue优先级队列容器1、priority_queue优先级队列容器简介2、priority_queue优先级队列容器操作性能分析二、代码示例-priority_queue优先级队列容器1、默认优先级队列容器2、最大值优先级队列3、最小值优先级队列一、priority_queue优先级队列容器......
  • 【C++】STL 容器 - list 双向链表容器 ③ ( list 常用 api 简介 | 中间位置 插入 / 删
    文章目录一、list双向链表容器的中间位置插入元素1、在指定位置插入1个元素-insert函数2、在指定位置插入n个相同元素-insert函数3、中间位置插入另一个容器的指定范围内的元素-insert函数二、list双向链表容器的中间位置删除元素1、删除容器中所有元素......