AXI4与AXI3的区别

AXI4相较于AXI3,扩展了burst length至256 beats,增加了QoS标识,引入了multiple region interface以支持逻辑地址映射和物理地址保护。同时,修改了write response dependencies,规定AW channel结束才能响应。AXI4还修改了AWCACHE/ARCHACHE的bit0定义,并移除了WID和locked transactions,简化了协议。AXI4-lite则主要用于简化寄存器访问。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1.burst length

AXI4对burst length进行了扩展。AXI3最大burst length是16 beats,而AXI4支持最大到256 beats,但是仅支持INCR burst type超过16 beats,exclusive access也不能超过16beats。但是根据经验来讲各家公司好像也没太遵循这个规则,很多AXI3的IP awlen/arlen的位宽是多少,支持多大的burst length也是根据自己的情况来定的,其实这个对protocol的完整性没什么影响,所以大家也是根据自己的系统需求来定,但一般还是2的n次方。

2.增加QoS(quality of service)

其实ARM自己也没有明确认为好AWQOS和ARQOS的意义,比较像sideband信号,spec里面举例是说用于标识command的priority。但其实很多IP自己有urgent,ultra,flush等sideband信号实现的。

3.增加multiple region interface

增加了AWREGION和ARREGION,这个比较属于系统组的应用。

(1)给transaction标识region,从而很方便的实现logical adress到physical address的address mapping,如一个logical address标识为不同的region,就可以mapping到不同的物理地址上去。所以不需要slave用额外的decoder去支援不同的逻辑地址。

(2)通过划分region,对某些physical allocation进行保护,别如某个region只能被non-secure write,某个region只能被secure write

4.修改了write response dependencies

在AXI3中规定一定要在write channel结束之后slave才能B channel response;而在AXI4中额外规定AW channel结束才可以回write response。

这是因为,如果发生W channel before

AXI(Advanced eXtensible Interface)协议是ARM公司定义的一种用于片上系统(SoC)的高性能、高带宽、低延迟的互连总线协议。AXI3AXI4协议之间存在多个关键区别,主要体现在功能增强、性能优化和协议简化等方面。 1. **支持的突发长度**:AXI3协议支持的突发长度最大为16,而AXI4协议则扩展了突发长度的支持,允许更大的数据块传输,从而提高了数据传输效率和灵活性。[^1] 2. **QoS支持**:AXI4引入了服务质量(Quality of Service, QoS)的概念,新增了两组4位的AWQOS和ARQOS信号,用于指示写入和读取事务的优先级。这一特性在AXI3中是不存在的。[^3] 3. **锁定事务的移除**:AXI4协议中移除了锁定事务(Locked Transactions),这是AXI3中的一个特性,用于确保一系列事务的原子性执行。移除这一特性简化了协议,同时也减少了实现复杂度。[^2] 4. **AXI4-Lite子协议**:为了简化协议并适用于寄存器访问等场景,AXI4引入了AXI4-Lite子协议。AXI4-Lite通过限制突发传输的支持来简化协议,使其更适合于配置和状态寄存器的访问。而AXI3并没有类似的简化版本。[^2] 5. **支持的地址空间**:AXI4增加了对更大地址空间的支持,这使得它能够更好地适应未来系统的需求,尤其是在内存容量不断增长的情况下。[^1] 6. **改进的握手机制**:虽然AXI3AXI4都采用了握手机制来确保数据传输的可靠性,但AXI4在这一机制上进行了优化,以提高传输效率和降低延迟。[^1] 综上所述,AXI4协议在AXI3的基础上进行了多项改进,不仅增强了协议的功能性和灵活性,还通过引入AXI4-Lite等子协议来满足不同应用场景的需求,同时通过移除某些特性来简化协议实现。 ```python # 示例代码:比较AXI3AXI4特性 def compare_axi_features(): axi3_features = { "Burst Length": "Up to 16", "QoS Support": "No", "Locked Transactions": "Yes", "AXI4-Lite": "No", "Address Space": "Limited" } axi4_features = { "Burst Length": "More than 16", "QoS Support": "Yes", "Locked Transactions": "No", "AXI4-Lite": "Yes", "Address Space": "Extended" } print("AXI3 Features:") for feature, value in axi3_features.items(): print(f"{feature}: {value}") print("\nAXI4 Features:") for feature, value in axi4_features.items(): print(f"{feature}: {value}") compare_axi_features() ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值