【FPGA开发】AXI-Stream总线协议解读

文章目录

  • AXI-Stream概述
    • 协议中一些定义
      • 字节定义
      • 流的定义
    • 数据流类别
      • 字节流
      • 连续对齐流
      • 连续不对齐流
      • 稀疏流
  • 协议的信号
    • 信号列表

文章为个人理解整理,如有错误,欢迎指正!

参考文献
ARM官方手册 《IHI0051B》

AXI-Stream概述

协议中一些定义

AXI-Stream是两个连接在一起的器件进行数据交换的标准协议,他是点对点协议,连接一个发送端和一个接收端。

字节定义

1、数据字节:包含有效信息的数据字节,数据字节在源端和目的端之间传输
2、位置字节:指示数据流中数据字节的相对位置,一个占位符,它不包含在源端和目的端之间传输的任何相关数据值。
3、空字节:不包含上述两种字节意义的第三种字节。

流的定义

1、Transfer:AXI-Stream协议中的一次数据传输。一次TVALIDTREADY的握手,就是一次transfer
2、Packet:AXI-Stream协议中传输的一组字节,一个Packet包含一个或多个Transfer,类似于AXI突发。
3、Frame:一个Frame包含整数个Packet,一个Frame可以有很多的字节,例如整个视频帧缓冲区。一个Frame是AXI—Stream协议中,字节分组的最高级别。
4、Data Stream:可以包含独立的字节传输,或者在Packet中组合在一起的一系列字节传输。

上述四个流的定义,从上到下,暗含了层级的概念。

数据流类别

AXI-Stream支持多种数据流形式。
本节中显示的示例包含4字节宽总线上的十六进制值,列按时间顺序从左到右排列

字节流

字节流是数据字节和空字节的传输,字节流传输可以传输任意数量的数据字节,这取决于数据宽度。
空字节可以在发送端和接收端之间的任何点从流中插入或删除。
图1-1给了两个字节流的例子,由于空字节没有任何有效信息,所以两个图传输的信息是一样的。
在这里插入图片描述

连续对齐流

连续对齐流是传输一定数量的数据字节,其中每个数据包没有位置字节或空字节,如图1-2所示。
在这里插入图片描述

连续不对齐流

连续不对齐流中,可以有任意数据的位置字节,但是位置字节不会插在数据字节中间,只会在包头或者包尾,或者同时在包头和包尾。
如图1-3左边的包,D-01至D-11的数据字节是连续的,在尾巴处有两个位置字节;
如图1-3右边的包,D-01至D-11的数据字节是连续的,在头部和尾巴处各有三个位置字节;
在这里插入图片描述

稀疏流

稀疏流传输数据字节和位置字节,所有的数据字节必须要从源端传到目的端,所有数据字节和位置字节的相对位置在源端和目的端之间不能改变,一般来说,数据流中的主体是数据字节。
图1-4所示,每两个数据字节后跟着一个位置字节。
在这里插入图片描述

协议的信号

信号列表

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
前四个信号不再赘述,时钟、复位、valid和ready握手,都是AXI协议中的老演员了,时序要求和AXI-FULL、AXI-Lite差不多。


TDATA:数据,位宽必须是字节的整数倍,推荐8, 16, 32, 64, 128, 256, 512 or 1024-bits。

字节位置:数据流中先传输的是数据流的低字节,对于一个没有空字节的满包流,位置满足如下规律

  • 字节序列n从0开始向上编号
  • 每次传输,t,按顺序从0往上编号
  • 数据总线的宽度为w字节
  • INT(x)是x的舍入整数值

字节n包含在传输t中,其中: t = INT(n/w) ,
在字节位置b,其中:b = n - (t * w)
它包含在:TDATA[(8b+7):8b]

字节类型:数据字节、位置字节和空字节。

数据合并、打包和宽度转换:其中的宽度转换,包括向上转换和向下转换。


TSTRB:可以理解为标识符,指示TDATA中的每个字节,是数据字节还是位置字节。
TKEEP:同样理解为标识符,指示TDATA中的每个字节,是否需要作为数据流的一部分被处理。
在这里插入图片描述


TLAST:指示Packet的边界。
TID:是数据流标识符,其位宽建议不大于8。
TDEST:为数据流提供路由信息,其位宽建议不大于8。
TUSER:是用户定义的边带信息,可以沿着数据流传输。其宽度建议为TDATA_WIDTH/8的整数倍。
TWAKEUP:标识与axis - stream接口相关的任何活动

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/886787.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

LogViewer NLog, Log4Net, Log4j 文本日志可视化

LogViewer 下载 示例&#xff1a;NLog文本日志可视化软件&#xff0c;并且能够实时监听输出最新的日志 nlog.config 通过udp方式传输给LogViewer (udp://ip:port) <?xml version"1.0" encoding"utf-8" ?> <nlog xmlns"http://www.nlog-…

ES-针对某个字段去重后-获取某个字段值的所有值

针对上面表的数据&#xff0c;现在想根据age分组&#xff0c;并获取每个分组后的name有哪些(去重后)。 select age, GROUP_CONCAT(DISTINCT(name)) from testtable group by age ; 结果&#xff1a; 如果想要增加排序&#xff1a; SELECT age, GROUP_CONCAT(DISTINCT name)…

LabVIEW三针自动校准系统

基于LabVIEW的智能三针自动校准系统采用非接触式激光测径仪对标准三针进行精确测量。系统通过LabVIEW软件平台与硬件设备的协同工作&#xff0c;实现了数据自动采集、处理及报告生成&#xff0c;大幅提高了校准精度与效率&#xff0c;并有效降低了人为操作误差。 一、项目背景…

流程图图解@RequestBody @RequestPart @RequestParam @ModelAttribute

RequestBody 只能用一次&#xff0c;因为只有一个请求体 #mermaid-svg-8WZfkzl0GPvOiNj3 {font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;fill:#333;}#mermaid-svg-8WZfkzl0GPvOiNj3 .error-icon{fill:#552222;}#mermaid-svg-8WZfkzl0GPvOiNj…

【机器学习】机器学习中用到的高等数学知识-7.信息论 (Information Theory)

熵 (Entropy)&#xff1a;用于评估信息的随机性&#xff0c;常用于决策树和聚类算法。交叉熵 (Cross-Entropy)&#xff1a;用于衡量两个概率分布之间的差异&#xff0c;在分类问题中常用。 信息论作为处理信息量和信息传输的数学理论&#xff0c;在机器学习中具有广泛的应用。…

猎板PCB罗杰斯板材的应用案例

以下是几个猎板 PCB 与罗杰斯板材结合的具体案例&#xff1a; 案例一&#xff1a;5G 通信基站天线 PCB 在 5G 通信基站的天线系统中&#xff0c;对高频信号的传输和处理要求极高。猎板 PCB 采用罗杰斯板材&#xff0c;凭借其稳定的低介电常数&#xff08;如 RO4003C 板材&…

解读InnoDB数据库索引页与数据行的紧密关联

目录 一、快速走进索引页结构 &#xff08;一&#xff09;整体展示说明 &#xff08;二&#xff09;内容说明 File Header&#xff08;文件头部&#xff09; Page Header&#xff08;页面头部&#xff09; Infimum Supremum&#xff08;最小记录和最大记录&#xff09; …

Excel如何把两列数据合并成一列,4种方法

Excel如何把两列数据合并成一列,4种方法 参考链接:https://baijiahao.baidu.com/s?id=1786337572531105925&wfr=spider&for=pc 在Excel中,有时候需要把两列或者多列数据合并到一列中,下面介绍4种常见方法,并且提示一些使用注意事项,总有一种方法符合你的要求:…

uniApp项目运行到鸿蒙手机,应用图标一直是H,应用名一直是HBuilder问题

项目运行到鸿蒙手机&#xff0c;应用图标一直是H,应用名一直是HBuilder问题 应用运行到鸿蒙手机和鸿蒙模拟器&#xff0c;应用图标一直是H,应用名一直是HBuilder&#xff0c;在自动生成的harmony-configs文件夹下也没有配置的文件&#xff0c; 这时候需要你将DevEco Studio 下…

uniapp 自定义加载组件,全屏加载,局部加载 (微信小程序)

效果图 全屏加载 页面加载使用 局部加载 列表加载里面使用 使用gif html <template><view><view class"" v-if"typeFullScreen"><view class"loading" v-if"show"><view class""><i…

鸿蒙实战:使用隐式Want启动Ability

文章目录 1. 实战概述2. 实现步骤2.1 创建鸿蒙应用项目2.2 修改Index.ets代码2.3 创建LuzhouAbility2.4 创建Luzhou页面2.5 设置模块配置文件 3. 测试效果4. 实战总结 1. 实战概述 本次鸿蒙应用实战&#xff0c;先创建项目“ImplicitWantStartAbility”&#xff0c;接着修改In…

NLP论文速读(多伦多大学)|利用人类偏好校准来调整机器翻译的元指标

论文速读|MetaMetrics-MT: Tuning Meta-Metrics for Machine Translation via Human Preference Calibration 论文信息&#xff1a; 简介&#xff1a; 本文的背景是机器翻译&#xff08;MT&#xff09;任务的评估。在机器翻译领域&#xff0c;由于不同场景和语言对的需求差异&a…

AJAX学习(24.11.1-24.11.14)(包含HTTP协议)

AJAX学习&#xff08;24.11.1-11.14) 来源&#xff1a; 传智 | 高校学习平台-首页 传智播课&#xff1a;黑马程序员 1.服务器和客户端 1.服务器&#xff1a;存放和对外提供资源的电脑。 2.客户端&#xff08;用户&#xff09;&#xff1a;获取和消费资源的电脑。&#xff0…

好用的js组件库

lodash https://www.lodashjs.com/https://www.lodashjs.com/ uuid 用于生成随机数&#xff0c;常用于生成id标识 GitHub - uuidjs/uuid: Generate RFC-compliant UUIDs in JavaScripthttps://github.com/uuidjs/uuid dayjs 常用于时间的处理 安装 | Day.js中文网 (fenxi…

基于麒麟服务器操作系统V10版本,部署Nginx服务、MySql服务搭建PHP环境,实现静态网站平台的搭建。

一、环境准备 关闭防火墙。 查看当前防火墙的状态 systemctl status firewalld Copy 如果防火墙的状态参数是inactive,则防火墙为关闭状态。 如果防火墙的状态参数是active,则防火墙为开启状态。 关闭防火墙。 如果您想临时关闭防火墙,需要运行以下命令: systemctl…

[JavaWeb] 尚硅谷JavaWeb课程笔记

1 Tomcat服务器 Tomcat目录结构 bin&#xff1a;该目录下存放的是二进制可执行文件&#xff0c;如果是安装版&#xff0c;那么这个目录下会有两个exe文件&#xff1a;tomcat10.exe、tomcat10w.exe&#xff0c;前者是在控制台下启动Tomcat&#xff0c;后者是弹出GUI窗口启动To…

SRP 实现 Cook-Torrance BRDF

写的很乱&#xff01; BRDF&#xff08;Bidirectional Reflectance Distribution Function&#xff09;全称双向反射分布函数。辐射量单位非常多&#xff0c;这里为方便直观理解&#xff0c;会用非常不严谨的光照强度来解释说明。 BRDF光照模型&#xff0c;上反射率公式&#…

向量数据库FAISS之五:原理(LSH、PQ、HNSW、IVF)

1.Locality Sensitive Hashing (LSH) 使用 Shingling MinHashing 进行查找 左侧是字典&#xff0c;右侧是 LSH。目的是把足够相似的索引放在同一个桶内。 LSH 有很多的版本&#xff0c;很灵活&#xff0c;这里先介绍第一个版本&#xff0c;也是原始版本 Shingling one-hot …

基于YOLOv8深度学习的无人机航拍小目标检测系统(PyQt5界面+数据集+训练代码)

本研究提出并实现了一种基于YOLOv8深度学习模型的无人机航拍小目标检测系统&#xff0c;旨在解决高空环境下汽车目标检测的技术难题。随着无人机技术的发展&#xff0c;航拍图像已广泛应用于交通监控、城市管理、灾害应急等多个领域。然而&#xff0c;由于无人机通常在较高的飞…

LeetCode 热题 100 回顾

目录 一、哈希部分 1.两数之和 &#xff08;简单&#xff09; 2.字母异位词分组 &#xff08;中等&#xff09; 3.最长连续序列 &#xff08;中等&#xff09; 二、双指针部分 4.移动零 &#xff08;简单&#xff09; 5.盛最多水的容器 &#xff08;中等&#xff09; 6…