【总线】AXI4第四课时:握手机制详解

      大家好,欢迎来到今天的总线学习时间!如果你对电子设计、特别是FPGA和SoC设计感兴趣,那你绝对不能错过我们今天的主角——AXI4总线。作为ARM公司AMBA总线家族中的佼佼者,AXI4以其高性能和高度可扩展性,成为了现代电子系统中不可或缺的通信桥梁。

        上一课时我们初步了解了AXI4总线中的“社交礼仪”握手机制的3种情况,对他们有了初步的认识,这一课时我们来聊一聊AXI4总线握手机制在不同通道的注意事项,深入的了解握手机制。

        这里会有一系列的课程,和大家分享AMBA总线家族,欢迎大家一起学习,收藏点赞。

 系列文章

【总线】AMBA总线架构的发展历程-CSDN博客

【总线】设计fpga系统时,为什么要使用总线?-CSDN博客

【总线】AXI总线:FPGA设计中的通信骨干-CSDN博客

【总线】AMBA总线家族的明星成员:AXI协议简介-CSDN博客

【总线】AXI4第一课时:揭秘AXI4总线的五大独立通道-CSDN博客

【总线】AXI4第二课时:深入AXI4总线的基础事务-CSDN博客

【总线】AXI4第三课时:握手机制-CSDN博客

【总线】AXI4第四课时:握手机制详解-CSDN博客

【总线】AXI4第五课时:信号描述-CSDN博客


目录

不同通道的握手

写地址管道

写数据管道

写相应管道

读地址管道

读数据管道

通道间的关系 

握手信号之间的依赖关系


不同通道的握手

写地址管道

  1. AWVALID信号的断言

    主设备只能在提供了有效的地址和控制信息后,才能断言(即置为高电平)AWVALID信号。这意味着主设备准备好发送一个事务请求。
  2. AWVALID信号的持续

    AWVALID信号必须保持被断言状态,直到从设备接受这个地址和控制信息,并通过断言(置为高电平)其对应的AWREADY信号来表示它已经准备好处理这个事务。
  3. AWREADY信号的默认值

    AWREADY信号的默认值可以是高电平(HIGH)或低电平(LOW)。推荐使用高电平作为默认值,这表示从设备默认情况下总是准备好接收新的事务请求。
  4. 高电平AWREADY的含义

    如果AWREADY的默认值是高电平,那么从设备必须能够接受主设备呈现给它的任何有效地址。这要求从设备具有足够的缓冲能力来处理突发的事务请求。
  5. 低电平AWREADY的可能性

    虽然AWREADY的默认值设为低电平是可能的,但这是不推荐的。如果AWREADY默认为低电平,这将意味着每个事务至少需要两个时钟周期:第一个周期用于主设备断言AWVALID,第二个周期用于从设备断言AWREADY。
  6. 低电平AWREADY的影响

    如果使用低电平AWREADY,这将影响事务的传输效率,因为每个事务的开始都会延迟一个周期。

        总结来说,主设备在发送事务请求之前必须确保AWVALID信号有效,并且从设备应该准备好响应这个请求。推荐的AWREADY默认值为高电平,以确保事务的高效传输。

写数据管道

  1. WVALID信号的断言

    主设备在提供了有效的写数据时,才能断言(置为高电平)WVALID信号,表示主设备准备好发送数据。
  2. WVALID信号的持续

    WVALID信号必须保持被断言,直到从设备接受写数据并断言WREADY信号,表示从设备已准备好接收数据。
  3. WREADY信号的默认值

    WREADY的默认值可以是高电平(HIGH),但只有在从设备能够在单个时钟周期内始终接受写数据的情况下才推荐使用。如果WREADY默认为高电平,意味着从设备随时准备好接收数据。
  4. WLAST信号的断言

    主设备在发送突发传输中的最后一个数据时,必须断言WLAST信号。这表示当前传输是突发传输中的最后一个数据。
  5. WVALID信号为低电平时WSTRB的行为

    当WVALID为低电平时,WSTRB(写数据字节使能)信号可以取任何值,但推荐将它们驱动为低电平或保持在先前的值。这是为了确保在非活动周期内,写数据的字节使能信号不会意外地启用。

        总结来说,主设备必须在发送有效数据时断言WVALID,并在从设备准备好接收数据时断言WREADY。WLAST用于标记突发传输的最后一个数据。WREADY的默认值应根据从设备的能力来设置,以确保高效的数据传输。

写相应管道

  1. BVALID信号的断言

    从设备只能在提供了有效的写响应时,才能断言(置为高电平)BVALID信号,表示从设备已经完成了写操作,并向主设备发送了响应。
  2. BVALID信号的持续

    BVALID信号必须保持被断言,直到主设备接受写响应并断言BREADY信号,表示主设备已准备好接收并处理这个响应。
  3. BREADY信号的默认值

    BREADY的默认值可以是高电平(HIGH),但这仅在主设备能够始终在单个时钟周期内接受写响应的情况下推荐使用。这意味着主设备随时准备好接收从设备的写响应。

概括来说,从设备在发送写响应时必须断言BVALID,并在主设备准备好接收响应时断言BREADY。BREADY的默认值应根据主设备的能力来设置,以确保响应能够被及时接收和处理。这种握手机制确保了写操作的完整性和可靠性。

读地址管道

  1. ARVALID信号的断言

    主设备只有在提供了有效的地址和控制信息时,才能断言(置为高电平)ARVALID信号,表示主设备准备好发起一个读请求。
  2. ARVALID信号的持续

    ARVALID信号必须保持被断言,直到从设备接受地址和控制信息,并断言ARREADY信号,表示从设备已准备好响应这个请求。
  3. ARREADY信号的默认值

    ARREADY的默认值可以是高电平(HIGH)或低电平(LOW)。推荐使用高电平作为默认值,这表示从设备默认情况下总是准备好接收新的读请求。
  4. ARREADY默认值的考虑

    如果ARREADY默认为高电平,从设备必须能够接受主设备呈现给它的任何有效地址。如果ARREADY默认为低电平,这意味着每个事务至少需要两个时钟周期:第一个周期用于主设备断言ARVALID,第二个周期用于从设备断言ARREADY。

概括来说,主设备在发送读请求之前必须确保ARVALID信号有效,并且从设备应该准备好响应这个请求。RVALID信号用于指示从设备何时准备好发送数据,而RREADY信号用于指示主设备何时准备好接收数据。RLAST用于标记突发传输的最后一个数据。

读数据管道

  1. RVALID信号的断言

    从设备只有在提供了有效的读数据时,才能断言RVALID信号,表示从设备准备好发送数据。
  2. RVALID信号的持续

    RVALID信号必须保持被断言,直到主设备接受数据并断言RREADY信号,表示主设备已准备好接收并处理这些数据。
  3. RREADY信号的使用

    主设备使用RREADY信号来表示它接受数据。RREADY的默认值可以是高电平,但这仅在主设备能够立即接受读数据的情况下推荐。
  4. RLAST信号的断言

    从设备在发送突发传输中的最后一个数据时,必须断言RLAST信号。这表示当前传输是突发传输中的最后一个数据。

推荐的ARREADY和RREADY默认值为高电平,以确保事务的高效传输。

通道间的关系 

在AXI4协议中,不同通道之间的关联是灵活的,这些通道包括地址通道、读数据通道、写数据通道和写响应通道。

  1. 通道间关联的灵活性

    在AXI4总线中,写数据(Write Data)可以在相关写地址(Write Address)之前到达接口。这通常发生在写地址通道包含的寄存器级数多于写数据通道时。同时,写数据也可以与地址在同一周期出现。
  2. 地址和写数据的重新对齐

    当互连(Interconnect)需要确定目标地址空间或从设备空间时,它必须重新对齐地址和写数据。这是为了确保写数据仅在目标从设备上有效时才被标记为有效。
  3. 必须维持的两种关系

    必须维持两种关系: a. 读数据(Read Data)必须始终跟随与其相关的地址。这意味着读数据传输必须在地址传输之后发生。 b. 写响应(Write Response)必须始终跟随写事务中的最后一个写传输。这意味着写响应是在写事务的最后一个数据传输之后发送的。

概括来说,尽管写数据可以在写地址之前或与地址同时传输,但必须确保数据传输的正确性和时序准确性。读数据和写响应的传输顺序是固定的,以保证数据的一致性和事务的完整性。这种设计允许AXI4协议在保持高性能的同时,提供必要的灵活性和可靠性。

握手信号之间的依赖关系

在AXI4协议中,为了避免死锁情况,必须注意握手信号之间的依赖关系。以下是对上述段落的理解和解释:

  1. 信号依赖规则

    • 在任何事务中,一个AXI组件的VALID信号不能依赖于另一个组件的READY信号。
    • READY信号可以等待VALID信号的断言。
  2. READY信号的灵活性

    • 虽然可以接受VALID信号断言后再断言READY信号,但也可以默认先断言READY信号,这可能导致更高效的设计。
  3. 图3-4和图3-5

    • 这些图展示了握手信号的依赖关系。单头箭头指向可以在前一个信号断言之前或之后断言的信号。双头箭头指向的信号必须在前一个信号断言之后才能断言。
  4. 读事务中的依赖关系(图3-4):

    • 从设备可以在断言ARREADY之前等待ARVALID被断言。
    • 从设备必须在ARVALID和ARREADY都被断言之后,才能开始通过断言RVALID返回读数据。
  5. 写事务中的依赖关系(图3-5):

    • 主设备在断言AWVALID或WVALID之前,不能等待从设备断言AWREADY或WREADY。
    • 从设备可以在AWVALID或WVALID,或两者都被断言之前等待,然后断言AWREADY。
    • 从设备可以在AWVALID或WVALID,或两者都被断言之前等待,然后断言WREADY。
    • 从设备必须在WVALID和WREADY都被断言之后,才能断言BVALID。
  6. 写事务中的重要注意事项

    • 在写事务期间,主设备在驱动WVALID之前,不能等待AWREADY被断言。如果从设备反过来在断言AWREADY之前等待WVALID,这可能会导致死锁情况。

概括来说,这些段落强调了在AXI4协议中进行事务处理时,握手信号之间必须遵守的依赖规则,以确保数据传输的顺利进行并避免死锁。设计者需要仔细考虑这些依赖关系,以确保系统设计既高效又稳定。

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

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

相关文章

炎黄数智人:国家体育总局冬运中心——AI裁判与教练“观君”赋能冰雪运动新篇章

在科技创新的浪潮下,国家体育总局冬季运动管理中心(以下简称“冬运中心”)揭开了人工智能在体育领域应用的新篇章。隆重宣布推出革命性的AI裁判与教练系统——“观君”,该系统将在冰雪运动项目中大放异彩,为运动员的训…

Administrators就最高了???system是什么??本地用户提权内网学习第三天 你知道uac是什么??

我们今天来说说本地用户提权的操作,我们在有webshell过后我们要进行进一步的提权操作,要不然对我们后期的内网渗透会有一些阻碍的操作。比如说我们使用mimikatz来进行抓取密码,就不能够成功。 Administrators与system的区别 我们来说说Admin…

OpenBayes 教程上新 | CVPR 获奖项目,BioCLlP 快速识别生物种类,再也不会弄混小浣熊和小熊猫了!

市面上有很多植物识别的 App,通过对植物的叶片、花朵、果实等特征进行准确的识别,从而确定植物的种类、名称。但动物识别的 App 却十分有限,这使我们很难区分一些外形相似的动物,例如小浣熊和小熊猫。 左侧为小浣熊,右…

Springboot项目实训--day1

目录 一、软件安装 二、软件的简单了解 三、基础知识应用 1、四个常用注释 2、尝试新建类 3、控制反转(IOC容器) 4、返回数据给浏览器 5、浏览器传回数据给服务器 易错点 一、软件安装 需要安装的软件是idea专业版,刚使用的时候可以使…

3dmax如何制作全景图?渲染100邀请码1a12

全景图很常见,制作起来也简单,这里我给大家稍微分享下。 1、创建相机 打开要渲染全景的场景文件,创建相机并调整好位置。 2、 设置分辨率 按F10打开渲染设置界面,选择相机视口,在公用里设置宽度和高度,…

HarmonyOS开发探索:自定义键盘-webview

场景描述 在特殊的H5场景下需要应用拉起自定义键盘进行输入。 场景一:使用jsBridge拉起自定义弹窗写自定义键盘,再通过jsBridge传参实现输入。 场景二:使用web的同层渲染将原生textInput组件渲染到页面上。 方案描述 通过注册一个js代理…

Vue-element 组件dialog右上角点击 X 清空表单校验信息

问题: 点击确定触发校验后,点击弹窗右上角的 X号关闭弹窗后再次打开弹窗,校验规则没有被清空 解决方法:

Asp.NET identity以及Owin

》》》Identity是集成到Owin框架中中 ● Microsoft.AspNet.Identity.Core:Identity的核心类库,实现了身份验证的核心功能,并提供了拓展接口。● Microsoft.AspNet.Identity.EntityFramework:Identity数据持久化的EF实现。   ● …

Soul探索未来智能互动模式,人机交互重塑社交元宇宙体验

在当今快速发展的科技领域中,人机交互已成为一个备受关注的话题。随着人工智能和机器学习技术的不断进步,人们与计算机和智能设备之间的互动方式正在发生翻天覆地的变化。这种交互不止局限于键盘和鼠标,更涵盖了语音识别、手势控制、虚拟现实等多种形式。人机交互的创新不仅提高…

七一建党节|热烈庆祝中国共产党成立103周年!

时光荏苒,岁月如梭。 在这热情似火的夏日, 我们迎来了中国共产党成立103周年的重要时刻。 这是一个值得全体中华儿女共同铭记和庆祝的日子, 也是激励我们不断前进的重要时刻。 103年, 风雨兼程,砥砺前行。 从嘉兴…

CesiumJS【Basic】- #038 绘制轮廓线(Primitive方式)

文章目录 绘制轮廓线(Primitive方式)1 目标2 代码2.1 main.ts绘制轮廓线(Primitive方式) 1 目标 使用Primitive方式绘制轮廓线 2 代码 2.1 main.ts var start = Cesium.Cartesian3.fromDegrees(-75.59777, 40.03883);v

DX-11A信号继电器 0.5A 柜内板前接线 约瑟JOSEF

DX-11,11A,11B,11C型信号继电器 DX-11信号继电器 DX-11B信号继电器 DX-11A信号继电器 DX-11C信号继电器 1 用途 该继电器用于直流操作的保护线路中,作为信号指示器。 2 结构和原理 该继电器具有电磁铁和带公共点的三付动合触点及一个信号牌,为电…

嵌入式Linux系统编程 — 5.6 Linux系统申请堆内存

目录 1 内存概念 1.1 什么是堆内存 1.2 内存分布 2 malloc、free在堆上分配与释放内存 2.1 malloc函数 2.2 free函数 2.3 示例程序 注意事项: 3 calloc分配内存 3.1 calloc函数介绍 3.2 示例程序 4 分配对齐内存 4.1 函数介绍 4.2 示例程序 1 内存概念…

推荐下载:Windows11 23H2专业工作站版!高效办公首选!

今天系统之家小编给需要高性能计算能力、高级安全功能和专业级应用程序支持的用户推荐一款操作系统,那就是Windows11 23H2专业工作站版系统,该系统经过优化,具有更强的数据处理能力和更高的安全性,还具有出色的兼容性,…

论文笔记:MobilityGPT: Enhanced Human MobilityModeling with a GPT mode

1 intro 1.1 背景 尽管对人类移动轨迹数据集的需求不断增加,但其访问和分发仍面临诸多挑战 首先,这些数据集通常由私人公司或政府机构收集,因此可能因泄露个人敏感生活模式而引发隐私问题其次,公司拥有的数据集可能会暴露专有商…

PAI3D: Painting Adaptive Instance-Prior for 3D Object Detection论文讲解

PAI3D: Painting Adaptive Instance-Prior for 3D Object Detection论文讲解 1. 引言2. PAI3D框架2.1 Instance Painter2.2 Adaptive Projection Refiner2.3 Fine-granular Detection Head 3. 实验结果3.1 消融实验 1. 引言 3D目标检测对于自动驾驶来说是一个非常重要的模块&a…

如何现代的编译和安装内核

前言:本文是在阅读书目时找到了一篇非常高质量的文章。的原文是英文,现在我自己手头翻译了一下,发布到这里。 原文连接:How to compile a Linux kernel in the 21st century | Opensource.com 目录 更新内核的现代方法 安装内…

C++知识点总结全系列 (05):IO 类的详细总结和分析

1、基类 istream 和 ostream (1)istream A.What 输入流的抽象类,是所有输入流类的基类 B.Why(输入流的作用) 用于从数据源(如文件、标准输入设备等)读取数据 (2)ostream A.What 输出流的抽象类,是所有输…

grpc学习golang版( 六、服务器流式传输 )

系列文章目录 第一章 grpc基本概念与安装 第二章 grpc入门示例 第三章 proto文件数据类型 第四章 多服务示例 第五章 多proto文件示例 第六章 服务器流式传输 第七章 客户端流式传输 第八章 双向流示例 文章目录 一、前言二、定义proto文件三、拷贝任意文件进项目四、编写serve…

复制完若依后,idea没有maven窗口

右击项目 添加框架 添加maven框架就可以了