天天看點

AXI4與AXI3的差別1.burst length2.增加QoS(quality of service)3.增加multiple region interface4.修改了write response dependencies5.AWCACHE/ARCHACHE的修改6.Removal of WID7.Removal of locked transactions8.AXI4-lite

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 AW channel的case時,沒有AXI4的規定,B channel也有可能先于AW channel完成。

說實話,即使碰到過W channel before AW channel的情況,也是說W可以先于AW,但是slave一般會把wready先拉低,等AW channel完成後才收data。是以沒有碰到過B channel先于AW channel完成的情況。

5.AWCACHE/ARCHACHE的修改

AXI3中對bit0定義為cacheable bit,但在AXI4中定義為modifiable bit。用于辨別tansaction是否被允許修改,比如拆分成多個小的transaction或被merged成其它transaction.(除大于16beats以上的transaction)

其它bit沒太接觸過,不做解釋。感覺這一塊對系統應該比較相關,修改也比較大 

6.Removal of WID

為了減小設計複雜度,減小pin-count,AXI4将W channel的WID給拿掉了,也就是說,AXI4沒有W channel的out of order和interleave特性了。所有data必須是in order的。

7.Removal of locked transactions

8.AXI4-lite

這個lite協定其實主要目的是簡化protocol,用于系統上對register的通路,到目前接觸的項目一般都是通過APB,I2C,RGST或自己定義的ATB類似的協定處理寄存器相關的通路,是以隻簡單了解過AXI4-LITE,不作說明

繼續閱讀