2024年6月14日发(作者:坚睿思)
AXI3和AXI4的区别
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 AW channel的case时,没有AXI4的规定,B channel也有
可能先于AW channel完成。
说实话,即使碰到过W channel before AW channel的情况,也是说W可以先于AW,但是slave一
般会把wready先拉低,等AW channel完成后才收data。所以没有碰到过B channel先于AW
channel完成的情况。
E/ARCHACHE的修改
AXI3中对bit0定义为cacheable bit,但在AXI4中定义为modifiable bit。用于标识tansaction是否被
允许修改,比如拆分成多个小的transaction或被merged成其它transaction.(除大于16beats以上的
transaction)
其它bit没太接触过,不做解释。感觉这一块对系统应该比较相关,修改也比较大
l of WID
为了减小设计复杂度,减小pin-count,AXI4将W channel的WID给拿掉了,也就是说,AXI4没有
W channel的out of order和interleave特性了。所有data必须是in order的。
l of locked transactions
4-lite
这个lite协议其实主要目的是简化protocol,用于系统上对register的访问,到目前接触的项目一般都
是通过APB,I2C,RGST或自己定义的ATB类似的协议处理寄存器相关的访问,所以只简单了解过
AXI4-LITE,不作说明
AXI3和AXI4区别--端口篇
表 2-1 全局信号
信号名 源 描述
ACLK 时钟源 全局时钟信号
ARESETn 复位源 全局复位信号,低有效
表 2-2 写地址通道信号
信号名 源 描 述
2024年6月14日发(作者:坚睿思)
AXI3和AXI4的区别
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 AW channel的case时,没有AXI4的规定,B channel也有
可能先于AW channel完成。
说实话,即使碰到过W channel before AW channel的情况,也是说W可以先于AW,但是slave一
般会把wready先拉低,等AW channel完成后才收data。所以没有碰到过B channel先于AW
channel完成的情况。
E/ARCHACHE的修改
AXI3中对bit0定义为cacheable bit,但在AXI4中定义为modifiable bit。用于标识tansaction是否被
允许修改,比如拆分成多个小的transaction或被merged成其它transaction.(除大于16beats以上的
transaction)
其它bit没太接触过,不做解释。感觉这一块对系统应该比较相关,修改也比较大
l of WID
为了减小设计复杂度,减小pin-count,AXI4将W channel的WID给拿掉了,也就是说,AXI4没有
W channel的out of order和interleave特性了。所有data必须是in order的。
l of locked transactions
4-lite
这个lite协议其实主要目的是简化protocol,用于系统上对register的访问,到目前接触的项目一般都
是通过APB,I2C,RGST或自己定义的ATB类似的协议处理寄存器相关的访问,所以只简单了解过
AXI4-LITE,不作说明
AXI3和AXI4区别--端口篇
表 2-1 全局信号
信号名 源 描述
ACLK 时钟源 全局时钟信号
ARESETn 复位源 全局复位信号,低有效
表 2-2 写地址通道信号
信号名 源 描 述