深入浅出AXI协议(3)——握手过程

news2024/12/23 5:27:20

一、前言

        在之前的文章中我们快速地浏览了一下AXI4协议中的接口信号,对此我们建议先有一个简单的认知,接下来在使用到的时候我们还会对各种信号进行一个详细的讲解,在这篇文章中我们将讲述AXI协议的握手协议。

二、握手协议概述

        在前面的文章中我们已经简单说明了为什么需要存在握手协议。主机和从机通过握手协议的方式来确保双方都处在可以进行数据传输的状态。这种双向流量控制机制意味着主机和从机都可以控制信息的移动速率。

        在AXI协议中,全部5个通道使用相同的 VALID/READY 握手机制传输数据及控制信息。传输源(主机)产生 VALID 信号来指明何时数据或控制信息有效。而目的源(从机)产生 READY信号,来表示自己已经准备好接受数据或控制信息。传输发生在 VALID 和 READY 信号同时为高的时候。VALID 和 READY 信号的出现有三种关系:

2.1 VALID 先于 READY 变高(主机先于从机准备好)

        时序图如下:

        主机在T1之后显示地址、数据或控制信息,并生效VALID信号。从机在T2时刻之后生效READY信号,并且主机必须保持其信息稳定,直到在T3发生传输。

        一旦VALID信号有效,那么它就必须保持生效,直到握手过程发生

2.2 READY 先于 VALID 变高(从机先于主机准备好)

        时序图如下:

        从机在T1之后,在地址、数据或控制信息有效之前生效READY信号,表明它可以接受该信息。主机在T2之后呈现信息,并生效VALID,当这个生效被识别时,传输发生在T3。在这种情况下,传输发生在一个周期中。 

        如果READY信号生效了,允许READY信号在VALID信号生效之前失效。和上面的情况做个对比,也就是说一旦主机宣布准备好了(VALID),那么除非完成握手协议,否则主机不允许自行退出传输,而从机宣布准备好了(READY),可以在主机准备好前的任意时刻退出。

2.3 VALID 和READY同时有效(主机和从机同时准备好)

        时序图如下:

        在T1之后,主机和从机都恰好表明它们可以传输地址、数据或控制信息。在这种情况下,当VALID和READY的生效可以被识别。这意味着传输发生在T2时刻。

三、AXI4交易通信的握手信号关系

        为了避免死锁条件,必须考虑握手信号之间存在的依赖关系。在任何交易中:

(1)在AXI4互联中 ,VALID信号不依赖交易中其他元件的READY信号

(2)READY信号能够等待确认VALID信号

        简单说就是主机要是准备好了,就应该直接告知从机,不能等待从机来通知自己,而从机准备好了,可以等待主机来通知自己要进行传输,而不必要告知主机自己的状态。当然从机也可以在自己准备好后就第一时间告诉主机,这也是一种高效的设计方法。

        此外,在不同通道上的握手信号之间存在依赖关系,并且AXI4定义了一个额外的写响应依赖关系。以下各小节定义了这些依赖关系

        (在依赖图中:单箭头指向可以在箭头开始的信号之前或之后生效的信号,双箭头指向只有在箭头开始的信号生效信号之后才必须生效的信号。)

3.1 AXI4读交易的握手信号关系

        下图展示了读交易中握手信号之间的依赖关系:

        有一些内容是和我们之前描述的通用规则是重复的,主要需要注意的:在从机通过确认RVALID信号开始返回数据之前,必须等待确认所有的ARVALID信号和ARREADY信号。(也就是在数据传输之前,必须保证地址传输已经完成)

3.2 AXI4写交易中握手信号关系

        下图展示了写交易中握手信号之间的依赖关系:

        (1)在确认AWVALID信号和WVALID信号之前,主机不需要等待从机确认AWREADY信号或者WAREADY信号;

        (2)在确认AWREADY信号前,从设备能够等待AWVALID信号或者WVALID信号,或者全部这两个信号;

        (3)在确认WREADY信号前,从机能够等待AWVALID信号或者WVALID信号,或者全部这两个信号;

        (4)从设备在确认BVALID信号前,从机必须等待确认所有的WVALID和WREADY信号;

        (5)在确认BVALID信号前,从机不需要等待主机确认BREADY信号;

        (6)在确认BREADY信号前,主机能够等待BVALID信号。

        之前我们还提到了:AXI4还定义了一个附加的AXI4从属写响应依赖关系

        所以对于刚才的内容,我们要进行进一步的优化,关于BVALID信号,其必须等待AWVALID,AWREADY,WVALID,WREADY 全部有效才能生效也就是从机发出回应的前提是地址传输和信息传输都已经进行过了。

四、小结

        在本文中,我们着重介绍了关于AXI4的握手协议它可以使得传输的双方都可以自如地控制传输的速率,我们主要介绍了握手协议出现的3种可能情况。然后对于AXI4交易通信的握手信号的关系做出了介绍:(1)在AXI4互联中 ,VALID信号不依赖交易中其他元件的READY信号(2)READY信号能够等待确认VALID信号;之后介绍了读交易和写交易种握手信号的依赖关系。在接下来的文章中,我们将介绍AXI4的猝发传输相关内容。

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

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

相关文章

文具寄到墨西哥可以走墨西哥专线吗?

文具寄到墨西哥可以选择墨西哥专线进行运输。墨西哥专线是一种专门为墨西哥进口货物提供的物流服务,其优势在于能够提供快速、高效和可靠的运输服务,以及专业的清关和包税服务。 1.墨西哥专线可以提供快速的运输服务。 一般而言,墨西哥专线的…

Mysql中九种索引失效场景分析

表数据: 索引情况: 其中a是主键,对应主键索引,bcd三个字段组成联合索引,e字段为一个索引 情况一:不符合最左匹配原则 去掉b1的条件后就不符合最左匹配原则了,导致索引失效 情况二&#xff…

从LeakCanary看内存快照解析

在从LeakCanary看内存快照生成一节中,我们已经了解了hprof的生成,并且将生成的hprof文件通过Android Studio进行解析,确实发现了内存泄漏对象MainActivity,但是在实际开发中,要求开发者自己去手动pull hprof文件进行解…

应急物资管理系统|智物资DW-S300提升应急响应能力

项目背景 智慧应急物资管理系统(智装备DW-S300)是一套成熟系统,依托互3D技术、云计算、大数据、RFID技术、数据库技术、AI、视频分析技术对RFID智能仓库进行统一管理、分析的信息化、智能化、规范化的系统。 本项目采用东识智慧应急物资管理…

ubuntu系统安装tensorRT-8.6.1版本(2023-8月最新版)

目录 前言pip安装可能出现的报错: tar.gz安装 前言 看了无数教程和b站视频,啊啊啊啊啊啊啊啊啊啊啊tensorRT要我狗命啊。我要写全网tensorRT最全的博客!!! 总体来说成功安装方式有两种,pip安装和tar.gz安装(其实官网安装方式居多…

d3dx9_29.dll丢失如何修复?dll修复工具下载方法

大家好!今天,我将为大家介绍一个与我们日常生活息息相关的话题——电脑d3dx9_29.dll丢失的6种修复方法。作为一名计算机专业的学生,我深知这个文件对我们电脑运行的重要性。在接下来的时间里,我将带领大家了解d3dx9_29.dll的作用、…

C#关于WebService中File.Exists()处理远程路径的异常记录

目录 前言方案一打开网站对应的程序池的高级设置按下图步骤设置凭据重启网站若方案一未能解决,请继续尝试方案二👇 方案二从控制面板进入到 凭据管理器为windows凭据添加凭据点击**Windows凭据**,并点击**添加Windows凭据**键入远程路径的地址…

Java之API详解之Biginteger类的详解

6 BigInteger类 6.1 引入 平时在存储整数的时候,Java中默认是int类型,int类型有取值范围:-2147483648 ~ 2147483647。如果数字过大,我们可以使用long类型,但是如果long类型也表示不下怎么办呢? 就需要用…

DC-DC 升压电路、 升压模块原理

一、什么是 DC-DC 转换器? DC-DC 转换器是一种电力电子电路,可有效地将直流电从一个电压转换为另一个电压。 DC-DC 转换器在现代电子产品中扮演着不可或缺的角色。这是因为与线性稳压器相比,它们具有多项优势。尤其是线性稳压器会散发大量热量…

全民健康生活方式行动日,天猫健康联合三诺生物推出“15天持续测糖计划”

糖尿病是全球高发慢性病中患病人数增长最快的疾病,是导致心血管疾病、失明、肾衰竭以及截肢等重大疾病的主要病因之一。目前中国有近1.4亿成人糖尿病患者,科学的血糖监测和健康管理对于糖尿病患者来说至关重要。 在9月1日全民健康生活方式行动日前夕&am…

Shell编程之运算符

目录 算数运算符 关系运算符 文件运算符 逻辑运算符 算数运算符 注意: 原生bash不支持简单的数学运算,但是可以通过其他命令来实现, 例如 expr 常用算数运算符 加-减*乘/除%取余 示例如下: A2 B3 expr $[$A$B] expr $[$A-$…

C语言的数据类型简介

一、基本类型 (1)六种基本类型 **字符串常量和字符常量的不同 1)‘a’为字符常量,”a”为字符串常量 2)每个字符串的结尾,编译器会自动添加一个结束标志位‘\0’ “a”包含两个字符’a’和’\0’ &#x…

FPGA优质开源项目 – UDP万兆光纤以太网通信

本文开源一个FPGA项目:UDP万兆光通信。该项目实现了万兆光纤以太网数据回环传输功能。Vivado工程代码结构和之前开源的《UDP RGMII千兆以太网》类似,只不过万兆以太网是调用了Xilinx的10G Ethernet Subsystem IP核实现。 下面围绕该IP核的使用、用户接口…

Qt6.5安装教程——国内源

为什么离线包没了? Qt6开始非商业授权下,不再提供离线安装方式的exe,但源码安装费时费力,所以推荐安装方式已经为在线组件安装方式,包括vs2022、Qt在线安装工具已经成为开发工具新的安装趋势。 Qt是不是要放弃开源&…

服务器日志出现大量NTLM(NT LAN Manager)攻击

日志名称:Security 来源: Microsoft-Windows-Security-Auditing 日期: 2023/8/30 20:57:40 事件 ID:4625 任务类别:登录 级别: 信息 关键字: 审核失败 用户: 暂缺 计算机: WIN-QBJ3ORTR0CF 描述: 帐户登录失败。 主题: 安全 ID:NULL SID 帐户名:- 帐户域:- …

【软考】系统集成项目管理工程师(二)信息系统服务管理【2分】

一、信息技术服务标准 1、组成要素 组成要素描述人员提供IT服务所需的人员及其知识、经验和技能要求【正确选人】流程提供IT服务时,合理利用必要的资源,将输入转化为输出的一组相互关联和结构化的活动【正确做事】技术交付满足质量要求的IT服务应使用的…

搭建个人备忘录中心服务memos、轻量级笔记服务

目录 一、源码 二、官网 三、搭建 四、使用 一、源码 GitHub - usememos/memos: A privacy-first, lightweight note-taking service. Easily capture and share your great thoughts. 二、官网 memos - Easily capture and share your great thoughts 三、搭建 docke…

js原生Unicode转中文

下面这个是一串正常的url https://editor.csdn.net/md?not_checkout10&spm1001.201001.9739&articleId27834274872转码过的字符串 https://editor.csdn.net/md?not_checkout1%26spm1001.2014.3001.9739%26articleid132576228上面这个代码如何再转回去 js通过decod…

springBoot--终

目录 Web定制SpringMVC定制某些mvc配置定制mvc核心组件完全自定义mvc 静态资源静态资源映射静态资源缓存示例自定义静态资源规则配置方式代码方式 欢迎页Favicon(网站图标)路径匹配策略内容协商制定返回json类型数据制定返回xml类型数据制定返回自定义类…

layui框架学习(43:文件上传模块-下)

上一篇文章介绍文件上传模块使用示例时介绍了done和error事件,这两个事件是在文件上传成功(原文:在上传接口请求完毕后触发,但文件不一定是上传成功的)及上传失败(原文:请求上传出现异常&#x…