AXI协议
文章平均质量分 77
微辣不麻
日日精进,必有所成
展开
-
AXI4---低功耗接口
图A9-6显示了请求进入低功耗状态的典型流程。图A9-7显示了请求退出低功耗状态的典型流程。原创 2024-04-24 15:08:08 · 546 阅读 · 0 评论 -
AXI4 附加重要信号
QoS的默认系统级实现是,任何可以选择多个事务进行处理的组件,首先选择处理QoS值更高的事务。如果master组件不支持可编程的QoS方案,它可以使用代表其生成的事务的相对优先级的QoS值。master可以产生自己的AxQOS值,如果它能产生多个流量流(streams of traffic),它可以为不同的流选择不同的QoS值。通常,本规范建议不使用用户信号,因为AXI协议没有定义这些信号的功能,如果两个组件以不兼容的方式使用相同的用户信号,可能会导致互操作性问题。区域标识符可以提供更高阶地址位的解码。原创 2024-04-24 14:32:54 · 922 阅读 · 0 评论 -
AXI4---原子访问信号
AXI4去除了对锁定事务的支持,并仅使用一个1位的锁定信号。表格A7-2显示了AXI4中AxLOCK信号的编码。在AXI3中,AxLOCK信号指定了正常、独占和锁定访问。表格A7-1显示了AXI3中AxLOCK信号的编码。对于许多使用锁定事务的旧版案例,例如执行SWP指令,可能需要软件更改以防止使用任何强制执行锁定事务的指令。本规范建议,任何执行此类转换的组件,通常是互连,有一个可选的机制来检测和标记此类转换已经发生。如果任何组件如果执行了这种转换却不能在AXI4环境中使用,那么组件就不能正常工作。原创 2024-04-24 13:54:47 · 156 阅读 · 0 评论 -
AXI4---锁定访问
当master使用AxLOCK信号来表明一个事务是锁定事务时,互连必须确保只有那个master可以访问目标slave区域,直到来自同一个master的未锁定事务完成。任何显示为锁定事务的AxLOCK指示的事务都会迫使互连锁定接下来的事务。因此,锁定序列必须始终以一个没有AxLOCK指示锁定事务的最终事务完成。在完成锁定序列时,在发出最终解锁事务之前,master必须确保所有先前的锁定事务都已完成。在master开始一个锁定序列,无论是读或写事务之前,它必须确保没有其他事务等待完成。AXI4不支持锁定事务。原创 2024-04-24 13:46:43 · 179 阅读 · 0 评论 -
AXI4---独占访问
独占访问机制可以提供类似semaphore-type的操作方法,而不需要让总线在操作期间持续专用于特定的master。这意味着类似的操作方法不会影响总线访问延迟或最大可实现带宽。AxLOCK信号选择独占访问,而RRESP和BRESP信号分别指示独占访问读或写的成功或失败。slave需要额外的逻辑来支持独占访问。当master尝试对不支持独占访问的slave访问时,AXI协议提供了一种机制用以指示这种情况。本节的其余部分描述了AXI独占访问机制。master可能不会完成独占操作的写入部分。原创 2024-04-24 13:34:38 · 755 阅读 · 0 评论 -
AXI4---原子访问
先理解一下什么是Single-copy atomicity size:"Single-copy atomicity size"(单副本原子性大小)是一个概念,它定义了事务必须原子性地更新的最小数据块的大小,以字节为单位。原子性意味着在事务执行期间,数据的任何更改要么全部完成,要么完全不做,从而保证了数据的一致性和完整性。这里的“单副本”指的是在一次事务中,数据的更新操作是作为一个整体进行的,对于其他观察者(系统中的其他主设备)而言,这个更新是不可见的,直到整个事务完成。原创 2024-04-24 11:10:36 · 829 阅读 · 0 评论 -
AXI4 ---排序模型
AXI4协议支持一种基于AXI ID事务标识符使用的排序模型。原创 2024-04-24 10:03:15 · 924 阅读 · 0 评论 -
AXI多笔事务
任何支持写交错的AXI3主设备必须已经支持一种方法来配置写交错深度,将其设置为1,以支持与不支持写交错的slave的操作。具有不同ARID值的读事务数据可以以任何顺序到达,不同ARID值的事务的读数据可以交错到达。然而,如果slave接口的写数据交错深度大于一,master接口可以交错具有不同WID(写数据ID)值的写数据。如果两个具有不同AWID值的写事务访问相同或重叠的地址,那么AXI3规范没有定义这些访问的处理顺序,必须有一个更高级别的协议确保事务处理的正确顺序。原创 2024-04-23 17:42:08 · 982 阅读 · 0 评论 -
AXI事务属性(5)---访问权限
本规范建议,除非访问被明确知道是指令访问,否则主设备应将AxPROT[2] 设置为低,以指示数据访问。这段内容讨论了AXI协议中用于控制访问权限的信号,以及如何通过这些信号来区分不同类型的访问权限,从而保护系统免受未授权访问的影响。这段内容讨论了AXI协议中用于区分安全和非安全访问的信号,以及如何通过AxPROT信号来标识事务是指令访问还是数据访问。这段内容讨论了AXI4与AXI3在内存属性处理上的一些差异,以及为了确保向后兼容性,对新设计的AXI3系统提出的建议。这个位指示该事务是指令访问还是数据访问。原创 2024-04-21 22:09:30 · 197 阅读 · 0 评论 -
AXI事务属性(4)---事务缓冲
能够响应事务的中间缓冲区必须确保,随着时间的推移,任何对普通非缓存型缓冲的读事务都向其目的地址传播。这意味着,在转发读事务时,尝试的转发不能无限期地继续,并且用于转发的任何数据不能无限期地保留。这段内容讨论了在AXI协议中,对于具有缓冲能力的内存类型,如何确保事务(特别是读和写事务)能够以正确的方式被处理和转发,以及如何避免因缓冲机制导致的潜在问题。例如,合并写事务不能重置确定何时将写入排空到其最终目的地址的机制。没有这个要求,对同一位置的持续轮询可以阻止在缓冲区中持有的读超时,阻止读向其目的地址推进。原创 2024-04-21 21:55:12 · 192 阅读 · 0 评论 -
AXI事务属性(3)---不匹配的内存属性
这段内容讨论了在AXI协议中,当多个master访问同一内存区域时,如何处理内存属性的不一致性,以及如何安全地更改内存区域的属性,以保证系统的功能性和数据的一致性。所有访问同一内存区域的master必须在任何级别的层次结构中对该区域的可缓存性有一个一致的视图。访问同一内存区域的多个组件可以使用不匹配的内存属性。如果一个地址区域具有可缓冲属性,任何master都可以使用不允许缓冲行为的事务来访问它。如果一个地址区域是普通非缓存型的,任何master都可以使用设备内存事务来访问它。原创 2024-04-21 21:34:07 · 269 阅读 · 0 评论 -
AXI事务属性(2)---内存类型
这些描述涉及到内存系统中不同类型的写直通(Write-through)策略,以及它们对读取和写入事务的分配建议。同时,分配提示(allocation hint)是给内存系统的建议,用于优化性能,但不是强制性的规则。分配提示(allocation hint)是给内存系统的建议,用于优化性能,但不是强制性的规则。在实际应用中,选择合适的AXI内存类型取决于具体的系统需求,包括性能、数据一致性、功耗和硬件资源等因素。在AXI4中,对于特定的内存类型,使用多个AxCACHE值是合法的。原创 2024-04-21 21:24:20 · 920 阅读 · 0 评论 -
AXI---事务属性(1)
为了防止系统死锁,需要符合所有事务类型的完成,但是不要求外围从设备继续正确操作。由于外围从设备只需要对定义的访问方法正确工作,因此它的接口信号集可以大大减少。AXI 协议定义了一组事务属性,支持内存和外围从设备。在本规范中,术语 AxCACHE 统一指代 ARCACHE 和 AWCACHE 信号。原创 2024-04-19 16:47:35 · 923 阅读 · 0 评论 -
AXI事务构造(3)---读写响应事务构造
正常的访问成功。表示正常访问已成功,也可以表示独占访问失败。独占访问成功。表示独占访问的读写部分已成功。从设备错误。当访问已成功到达从设备,但从设备希望向原始主设备返回错误条件时使用。解码错误。通常由互连组件生成,表示在事务地址处没有从设备。下表显示了 RRESP 和 BRESP 信号的编码对应的响应类型。对于写事务,整个突发只起一个响应信号,而不是突发内每次数据传输都起一个响应。在读事务中,slave可以为一次突发中的不同传输发出不同的响应。原创 2024-04-19 15:00:26 · 419 阅读 · 1 评论 -
AXI事务构造(2)---读写数据构造
当WSTRB[n:0] 信号 是HIGH 时,指定了包含有效信息的数据总线字节通道。对于写数据总线的每一八位,都有一个写使能位,因此 WSTRB[n] 对应于 WDATA[(8n)+7: (8n)]。master必须确保只有在包含有效数据的字节通道上使能写使能位为 HIGH。当 WVALID 为 LOW 时,写使能可以取任何值,尽管本规范推荐它们要么被驱动为 LOW,要么保持在它们之前的值。原创 2024-04-19 14:36:03 · 681 阅读 · 1 评论 -
AXI 事务构造(1)---地址构造
AXI 协议是基于突发的。master通过驱动控制信息和事务中第一个字节的地址到slave来开始每个突发。随着突发的进行,slave必须计算突发中后续传输的地址。突发不得跨越 4KB 地址边界。注意 这防止了突发跨越两个slave之间的边界。它还限制了slave必须支持的地址增量的数量。原创 2024-04-19 11:26:22 · 966 阅读 · 1 评论 -
AXI中的burst理解
简而言之,"burst length"关注的是事务中传输操作的总数,而"burst size"关注的是每个传输操作的数据量。两者结合使用,可以详细描述一个突发事务的特性,例如,一个突发事务可以被定义为一个长度为4,大小为8字节的突发,这意味着将连续进行4次,每次传输8字节数据的传输操作。:在增量地址类型的burst中,地址的增量可以是1、2、4、8、16、32、64或128个字节,这取决于系统的设计和配置。:在AXI协议中,数据传输通常是按照从低地址到高地址的顺序进行的,这与地址变化的规则相对应。原创 2024-04-15 16:24:31 · 508 阅读 · 1 评论 -
AXI4协议 5个通道间的关系
注意 这个额外的依赖性反映了。原创 2024-04-19 09:40:39 · 1165 阅读 · 1 评论 -
AXI接口信号要求
每个 AXI 组件使用单一的时钟信号,ACLK。所有input信号都在 ACLK 的上升沿被采样。所有output信号的变化必须在 ACLK 的上升沿之后发生。在主设备和从设备接口上,input信号和output信号之间不允许存在组合逻辑路径。原创 2024-04-16 10:12:33 · 836 阅读 · 1 评论 -
AXI 接口信号
2. 写地址通道信号。3. 写数据通道信号。4. 写响应通道信号。5. 读地址通道信号。6. 读数据通道信号。7. 低功耗接口信号。原创 2024-04-15 16:54:18 · 552 阅读 · 1 评论 -
AXI协议学习
AXI协议学习原创 2024-04-15 15:34:11 · 1528 阅读 · 1 评论