【总线】AXI第九课时:介绍AXI响应信号 (Response Signaling):RRESP和 BRESP

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

        上课时我们讲了AXI的 "原子访问" :独占访问(Exclusive Access)和锁定访问(Locked Access),本章节讲解AXI响应信号 (Response Signaling):RRESP和 BRESP,理解这一章节,有助于设计和调试基于AXI协议的系统,确保系统能够正确地响应和处理各种事务状态。

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

  系列文章

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

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

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

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

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

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

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

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

【总线】AXI4第六课时:寻址选项深入解析-CSDN博客

【总线】AXI4第七课时:AXI的额外的控制信息(PROT和CACHE)-CSDN博客

【总线】AXI4第八课时:介绍AXI的 “原子访问“ :独占访问(Exclusive Access)和锁定访问(Locked Access)-CSDN博客

【总线】AXI第九课时:介绍AXI响应信号 (Response Signaling):RRESP和 BRESP-CSDN博客 


9.1 关于响应信号 (About Response Signaling)

AXI协议允许对读写事务进行响应信号的传递。对于读事务,从设备会将响应信息与读数据一起传递;对于写事务,响应信息则通过写响应通道来传递。

AXI协议定义了以下响应类型:

  • OKAY:正常访问成功,或者独占访问失败。
  • EXOKAY:独占访问成功。
  • SLVERR:从设备错误。
  • DECERR:解码错误。

表9-1 RRESP[1:0] 和 BRESP[1:0] 编码 (Table 7-1 RRESP[1:0] and BRESP[1:0] encoding)

对于写事务,整个突发传输期间只给出一个响应,而不是每个数据传输都给出响应。在读事务中,从设备可以在突发传输中的不同传输上给出不同的响应。例如,在16次读传输的突发中,从设备可能对15次传输返回OKAY响应,而对一次传输返回SLVERR响应。

协议规定即使报告了错误,也必须执行所要求数量的数据传输。例如,如果从设备在请求8次传输的读操作中遇到错误,那么它必须执行8次数据传输,每次都带有错误响应。如果从设备给出了单个错误响应,突发传输的其余部分不会取消。

这种协议对能够发出多个未完成地址的主设备施加了限制,这些主设备还必须支持精确的错误信号传递。这样的主设备必须能够在早期传输已经出错的情况下,处理后续传输。

9.2 响应类型 (Response Types)

本节描述了AXI协议中的四种响应类型:

• Normal access success
• Exclusive access
• Slave error
• Decode error.
 

9.2.1 正常访问成功 (Normal Access Success)

OKAY响应表示:

  • 正常访问的成功。
  • 独占访问的失败。
  • 对于不支持独占访问的从设备进行的独占访问。

OKAY是大多数事务的响应。

9.2.2 独占访问 (Exclusive Access)

EXOKAY响应表示独占访问的成功。第八章 "原子访问" 描述了这种响应。

9.2.3 从设备错误 (Slave Error)

SLVERR响应表示事务未能成功完成。从设备错误条件的例子包括:

  • FIFO/缓冲区溢出或下溢。
  • 尝试的传输大小不受支持。
  • 尝试向只读位置进行写访问。
  • 从设备中的超时条件。
  • 尝试访问不存在寄存器的地址。
  • 尝试访问已禁用或已关闭功能的地址。

为了简化系统的监控和调试,建议仅在出现错误条件时使用错误响应,而不是用于信号正常、预期的事件。

9.2.4 解码错误 (Decode Error)

在没有完全解码的地址映射系统中,可能存在没有从设备响应事务的地址。在这种情况下,互联组件必须提供合适的错误响应,以标记访问为非法,并防止系统因尝试访问不存在的从设备而锁定。

当互联组件无法成功解码从设备访问时,它实际上将访问路由到默认从设备,并且默认从设备返回DECERR响应。实现选项是让默认从设备还记录解码错误的详细信息,以便稍后确定错误的发生方式。通过这种方式,默认从设备可以大大简化调试过程。

AXI协议要求即使出现错误条件,也必须完成事务的所有数据传输。因此,任何给出DECERR响应的组件都必须满足此要求。

请注意,以上翻译是根据您提供的PDF文件内容进行的。如果需要进一步的整合或详细解释,请告知。

总结

  1. 响应信号的作用:在AXI协议中,响应信号用于指示一个事务是否成功完成,或者在执行过程中遇到了什么类型的错误。这对于确保数据的一致性和系统的稳定性至关重要。

  2. 响应类型:AXI定义了四种基本的响应类型:

    • OKAY:表示事务正常完成。如果事务是独占访问但失败了,也会返回OKAY。
    • EXOKAY:表示独占访问事务成功完成。独占访问是一种特殊的事务类型,其中总线不会被其他事务抢占。
    • SLVERR(Slave Error):表示从设备在接收到事务后,由于某些原因(如FIFO溢出、不支持的传输大小等)无法完成该事务。
    • DECERR(Decode Error):通常由互联组件发出,表示没有找到与事务地址匹配的从设备。
  3. 响应信号的编码:响应信号通过RRESP[1:0]BRESP[1:0]来编码。这些信号是2位宽的,每种响应类型对应一个特定的编码组合。

  4. 事务的完成:即使在报告错误的情况下,AXI协议也要求完成事务所需的所有数据传输。这意味着,即使从设备返回了错误响应,它也必须完成整个突发传输。

  5. 多主设备系统中的响应:在多主设备系统中,主设备可能同时发出多个事务。AXI协议要求这些主设备能够处理早期事务的错误响应,同时已经开始后续事务。

  6. 错误处理:系统设计者需要根据返回的响应类型进行相应的错误处理。例如,对于SLVERR,可能需要重试事务或报告错误;对于DECERR,则可能需要检查地址映射或从设备的配置。

  7. 响应信号的设计意图:响应信号的设计旨在提供足够的信息,以便系统能够优雅地处理错误情况,同时确保事务的顺序性和数据的完整性。

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

Web测试方法与技术

HTML概述&#xff08;Hyper Text Markup Language&#xff09; HTML基本结构 1、网页骨架 用HTML编写的网页中有一些结果是默认且必须存在的&#xff0c;这些结构就叫做网页骨架。 <!DOCTYPE html> <html lang"en"> <head><meta charset&qu…

手撸俄罗斯方块(一)——简单介绍

手撸俄罗斯方块 简单介绍 《俄罗斯方块》&#xff08;俄语&#xff1a;Тетрис&#xff0c;英语&#xff1a;Tetris&#xff09;&#xff0c;是1980年末期至1990年代初期风靡全世界的电脑游戏&#xff0c;是落下型益智游戏的始祖&#xff0c;电子游戏领域的代表作之一&a…

结束休刊博客真·vlog | 顺便说一下500粉的事

啊&#xff0c;首先是信 ♥亲爱的读者们&#xff0c; 在这个充满数字韵律与代码奇迹的时空里&#xff0c;我满怀激动与感激的心情&#xff0c;提笔写下这封信&#xff0c;宣布一个令人振奋的消息——经过一段时间的休整与充电&#xff0c;我终于要结束这段宝贵的休刊时光&…

【堆 优先队列】1354. 多次求和构造目标数组

本文涉及知识点 堆 优先队列 LeetCode1354. 多次求和构造目标数组 给你一个整数数组 target 。一开始&#xff0c;你有一个数组 A &#xff0c;它的所有元素均为 1 &#xff0c;你可以执行以下操作&#xff1a; 令 x 为你数组里所有元素的和 选择满足 0 < i < target.…

JDBC编程的学习——MYsql版本

目录 前言 什么是JDBC ??? 前置准备 使用JDBC的五个关键步骤 1.建立与数据库的连接 2.创建具体的sql语句和Statement 3.执行SQL语句 4.处理结果集 5.释放资源 完整流程展示 前言 笔者在先前的博客就提过会写关于JDBC的内容 [Mysql] 的基础知识和sql 语句.教你速成…

Security认证要点速记

登录校验流程 springSecurity已经为我们默认实现了一个用不着的登录功能&#xff0c;我们需要自己实现个符合我们需求的登录功能&#xff0c;所以我们需要去了解默认登录功能的流程&#xff0c;对其中的部分进行替换 SpringSecurity底层就是过滤器链&#xff0c;包含实现了各种…

(自用)多进程与信号

程序和进程 程序≠进程 产生进程 创建进程——fork函数 函数原型 #include <unistd.h> pid_t fork(void); 函数功能: fork函数的功能是创建一个与当前进程几乎完全相同的子进程。这个“几乎完全相同”指的是子进程会复制父进程的代码段、数据段、BSS段、堆、栈等所…

dledger原理源码分析(四)-日志

简介 dledger是openmessaging的一个组件&#xff0c; raft算法实现&#xff0c;用于分布式日志&#xff0c;本系列分析dledger如何实现raft概念&#xff0c;以及dledger在rocketmq的应用 本系列使用dledger v0.40 本文分析dledger的日志&#xff0c;包括写入&#xff0c;复制…

esp32硬件电路设计

ESP-IDF 入门指南 | 乐鑫科技 (espressif.com) ESP32-DevKitC V4 入门指南 - ESP32 - — ESP-IDF 编程指南 v5.1 文档 (espressif.com)

看惯了黑黝黝的大屏风格再来看浅色系的大屏,很漂亮很个性

**看惯了黑黝黝的大屏风格&#xff0c;再来看浅色系的大屏&#xff0c;很漂亮很个性** 在科技产品的世界里&#xff0c;大屏设计一直以其沉浸感和视觉冲击力占据着一席之地。然而&#xff0c;当我们长时间沉浸在那些深邃、沉稳的黑黝黝大屏中时&#xff0c;是否曾想过换一种风…

VBA即用型代码手册:根据预定义的文本条件删除行

我给VBA下的定义&#xff1a;VBA是个人小型自动化处理的有效工具。可以大大提高自己的劳动效率&#xff0c;而且可以提高数据的准确性。我这里专注VBA,将我多年的经验汇集在VBA系列九套教程中。 作为我的学员要利用我的积木编程思想&#xff0c;积木编程最重要的是积木如何搭建…

uni-app三部曲之三: 路由拦截

1.引言 路由拦截&#xff0c;个人理解就是在页面跳转的时候&#xff0c;增加一级拦截器&#xff0c;实现一些自定义的功能&#xff0c;其中最重要的就是判断跳转的页面是否需要登录后查看&#xff0c;如果需要登录后查看且此时系统并未登录&#xff0c;就需要跳转到登录页&…

电子电气架构 --- 智能座舱万物互联

我是穿拖鞋的汉子,魔都中坚持长期主义的汽车电子工程师。 老规矩,分享一段喜欢的文字,避免自己成为高知识低文化的工程师: 屏蔽力是信息过载时代一个人的特殊竞争力,任何消耗你的人和事,多看一眼都是你的不对。非必要不费力证明自己,无利益不试图说服别人,是精神上的节…

windows防火墙端口设置

PS&#xff1a;本文实例为Windows Server 2019&#xff0c;其他Windows版本大同小异。 1、首先打开windows防火墙&#xff0c;点击“高级设置” 2、 高级设置界面 3、假设需要开放一个端口为3306应该怎么做 光标对准“入站规则”右键新建规则&#xff0c;选择“端口” 协议这…

【UE5.1 角色练习】16-枪械射击——瞄准

目录 效果 步骤 一、瞄准时拉近摄像机位置 二、瞄准偏移 三、向指定方向射击 四、连发 效果 步骤 一、瞄准时拉近摄像机位置 打开角色蓝图&#xff0c;在事件图表中添加如下节点&#xff0c;当进入射击状态时设置目标臂长度为300&#xff0c;从而拉近视角。 但是这样切…

Android 通知访问权限

问题背景 客户反馈手机扫描三方运动手表&#xff0c;下载app安装后&#xff0c;通知访问权限打不开。 点击提示“受限设置” “出于安全考虑&#xff0c;此设置目前不可用”。 问题分析 1、setting界面搜“授予通知访问权限”&#xff0c;此按钮灰色不可点击&#xff0c;点…

C++基础篇(1)

目录 前言 1.第一个C程序 2.命名空间 2.1概念理解 2.2namespace 的价值 2.3 namespace的定义 3.命名空间的使用 4.C的输入输出 结束语 前言 本节我们将正式进入C基础的学习&#xff0c;话不多说&#xff0c;直接上货&#xff01;&#xff01;&#xff01; 1.第一个C程…

JAVA分布式事务详情分布式事务的解决方案Java中的分布式事务实现

本人详解 作者:王文峰,参加过 CSDN 2020年度博客之星,《Java王大师王天师》 公众号:JAVA开发王大师,专注于天道酬勤的 Java 开发问题中国国学、传统文化和代码爱好者的程序人生,期待你的关注和支持!本人外号:神秘小峯 山峯 转载说明:务必注明来源(注明:作者:王文峰…

关于Python中的字典你所不知道的七个技巧

01 引言 Python是我最喜欢的编程语言之一&#xff0c;它向来以其简单性、多功能性和可读性而闻名。 字典作为Python中最常使用的数据类型&#xff0c;大家几乎每个人都或多或少在项目中使用过字典&#xff0c;但是字典里有一些潜在的技巧可能并不是每个同学都会用到。 在本文…

院内导航:如何用科技破解就医找路难题

自2019年开始“院内导航”被纳入医院智慧服务评估体系以来&#xff0c;到2023年改善就医服务升级的部署&#xff0c;每一步都见证了我国医疗卫生体系向智能化、人性化迈进的坚实步伐。 面对庞大复杂的医院环境与日益增长的就诊需求&#xff0c;如何让患者在茫茫人海中迅速找到就…