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

这篇具有很好参考价值的文章主要介绍了深入浅出AXI协议(3)——握手过程。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

一、前言

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

二、握手协议概述

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

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

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

        时序图如下:

深入浅出AXI协议(3)——握手过程,AMBA总线协议,fpga开发,硬件架构,arm,AMBA,AXI4

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

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

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

        时序图如下:

深入浅出AXI协议(3)——握手过程,AMBA总线协议,fpga开发,硬件架构,arm,AMBA,AXI4

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

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

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

        时序图如下:

深入浅出AXI协议(3)——握手过程,AMBA总线协议,fpga开发,硬件架构,arm,AMBA,AXI4

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

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

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

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

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

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

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

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

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

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

深入浅出AXI协议(3)——握手过程,AMBA总线协议,fpga开发,硬件架构,arm,AMBA,AXI4

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

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

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

深入浅出AXI协议(3)——握手过程,AMBA总线协议,fpga开发,硬件架构,arm,AMBA,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从属写响应依赖关系

深入浅出AXI协议(3)——握手过程,AMBA总线协议,fpga开发,硬件架构,arm,AMBA,AXI4

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

四、小结

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

到了这里,关于深入浅出AXI协议(3)——握手过程的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 【深入浅出,掌握Aurora协议/接口】FPGA面试技能提升篇

    【深入浅出,掌握Aurora协议/接口】FPGA面试技能提升篇 FPGA是一种可编程逻辑器件,广泛应用于数字电路的设计和实现中。在FPGA的开发过程中,Aurora协议/接口是非常重要的一部分。 Aurora协议/接口是一种高速串行通信协议,可以在FPGA芯片内部不同模块之间传输数据。其具有高

    2024年02月08日
    浏览(35)
  • 【ARM AMBA AXI 入门 11 - AXI 总线 AWCACHE 和 ARCACHE 介绍】

    请阅读 【ARM AMBA AXI 总线 文章专栏导读】 转自:https:

    2024年02月09日
    浏览(40)
  • 【AMBA】ARM总线-APB/AHB/AXI介绍

    什么是总线?首先,在学习AMBA总线之前,我们先对总线下一个定义。根据维基百科的定义:总线(Bus)是指计算机组件间规范化的交换数据(data)的方式,即以一种通用的方式为各组件提供数据传送和控制逻辑。根据chatgpt的解释: 总线(Bus)是计算机中用于传输数据、地址

    2024年02月12日
    浏览(33)
  • 【ARM AMBA AXI 入门 9 - AXI 总线 AxPROT 与安全之间的关系 】

    请阅读 【ARM AMBA AXI 总线 文章专栏导读】 上篇文章:ARM AMBA AXI 入门 8 - AXI 协议中 RID/ARID/AWID/WID 信号 ARMv8 架构中的AXI(Advanced eXtensible Interface)总线与NS(Non-Secure)位密切相关。NS位是指在ARM TrustZone安全扩展中定义的一种状态,用于区分安全和非安全的处理器执行环境。AXI总

    2024年02月11日
    浏览(31)
  • 深入浅出基于HLS流媒体协议视频加密的解决方案

    一套简单的基于HLS流媒体协议,使用video.js + NodeJS + FFmpeg等相关技术实现的m3u8+ts+aes128视频加密及播放的解决方案示例。 项目简介 起初是为了将工作中已有的基于Flash的视频播放器替换为不依赖Flash的HTML5视频播放器,主要使用了现有的video.js开源播放器做的定制化开发。当完

    2023年04月09日
    浏览(30)
  • 【ARM AMBA AXI 入门 10 - AXI 总线 DATA信号与 STRB 信号之间的关系 】

    请阅读 【ARM AMBA AXI 总线 文章专栏导读】 AXI总线是ARM公司设计的高性能处理器接口,其中 STRB 和 DATA 信号在AXI协议中有特殊的含义和关系。 DATA信号 :在AXI中,DATA信号用于在读写操作中传输实际的数据。数据的大小可以根据AXI接口的位宽来变化,例如 32 位、 64 位或 128 位等

    2024年02月11日
    浏览(31)
  • 深入浅出opencv人脸识别,准确率95%,云服务器数据库存储人脸信息,代码全过程讲解以及心得

    此文章记录自己从实现人脸识别到把识别到的数据上传到云端的数据库,随时随地只要有网就能登录服务器,查看人员进出的情况。我会把我记得的所有的错误和经验都分享出来,希望能对大家有所帮助也是对自己的一个总结。 1:人脸采集: 首先输入学号和姓名,设定一个

    2024年02月06日
    浏览(36)
  • AMBA协议- AXI协议指南(1)

    目录 1.概述 2.什么是amba协议, 为什么使用它?  AMBA 如何发展 3.axi 协议概述  AXI in a multi-manager system 4.Channel transfers and transactions  5. 通道信号 本文介绍了一个名为Advanced Microcontroller Bus Architecture (AMBA) AXI的协议,它是现代SoC(System-on-Chip)设计中非常流行的一个协议。这个指

    2024年01月23日
    浏览(28)
  • AMBA协议AXI-Stream(协议信号、设计实践)

      AXI-Stream(以下简称AXIS)是AMBA协议的AXI协议三个版本中(AXI4-FULL、AXI4-Lite、AXI4-Stream)最简单的一个协议;是AXI4中定义的面向数据流的协议,常用于对数据流的处理,如: 摄像头 高速AD Xilinx的AXI-DMA模块   在进行SOC设计中需要高速数据传输处理的场合,常常使用AXIS协

    2024年02月06日
    浏览(66)
  • AMBA协议AXI-Lite(AXI-Lite介绍)

    AXI_Lite顾名思义即简化版的AXI协议,是对完整的AXI协议裁剪后的AXI协议; 特点: 突发长度永远是1,即只能单次读写,无法连续读写,常用于配置寄存器; 由于删减了逻辑,其资源也消耗较少; 地址映射,相较于AXI-Stream,AXI-Lite的每个数据读写都需要对应的地址; AXI_Lite的系

    2024年02月13日
    浏览(44)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包