[轉]AXI4與AXI3區別

1.burst length

AXI4對burst length進行了擴展:AXI3最大burstlength是16 beats,而AXI4支持最大到256 beats,但是僅支持INCR burst type超過16 beats,exclusiveaccess也不能超過16beats;。但是根據經驗來講各家公司好像也沒太遵循這個規則,很多AXI3的IP awlen/arlen的位寬是多少,支持多大的burstlength也是根據自己的情況來定的,其實這個對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,這個比較屬於系統組的應用。以我實際碰到case的經驗來講有幾個好處。
    1.給transaction標識region,從而很方便的實現logicaladress到physical address的address mapping,如一個logicaladdress標識爲不同的region,就可以mapping到不同的物理地址上去。所以不需要slave用額外的decoder去支援不同的邏輯地址。
    2. 通過劃分region,對某些physicalallocation進行保護,別如某個region只能被non-secure write,某個region只能被securewrite。
    4.修改了writeresponse dependencies
    在AXI3中規定一定要在writechannel結束之後slave才能B channel response; 而在AXI4中額外規定AWchannel結束纔可以回write response。這是因爲,如果發生W channelbefore AW channel的case時,沒有AXI4的規定,Bchannel也有可能先於AW channel完成。


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

5.AWCACHE/ARCHACHE的修改

AXI3中對bit0定義爲cacheable bit,但在AXI4中定義爲modifiablebit。用於標識tansaction是否被允許修改,比如拆分成多個小的transaction或被merged成其它transaction.(除大於16beats以上的transaction)其它bit沒太接觸過,不做解釋。感覺這一塊對系統應該比較相關,修改也比較大 。

6.Removal of WID

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

7.AXI4-lite

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

8 具體PIN腳區別

2-1 全局信號

信號名

描述

ACLK

時鐘源

全局時鐘信號

ARESETn

復位源

全局復位信號,低有效

 2-2 寫地址通道信號

信號名

描述

AWID[3:0]

主機

寫地址ID,用來標誌一組寫信號

AWADDR[31:0]

主機

寫地址,給出一次寫突發傳輸的寫地址

AWLEN

[3:0]axi3

主機

突發長度,給出突發傳輸的次數(拍數)

AXI3所有突發長度爲1-16;AXI4 INCR爲1-256,其他爲1-16

[7:0]axi4

AWSIZE[2:0]

主機

突發大小,給出每次突發傳輸的字節數。(bits)

總的傳輸數據量=LEN*SIZE

AWBURST[1:0]

主機

突發類型.FIXED,INCR,WRAP,Reserved

AWLOCK

主機

總線鎖信號,可提供操作的原子性(普通或互斥訪問)

AWCACHE[3:0]

主機

內存類型,表明一次傳輸是怎樣通過系統的

AWPROT[2:0]

主機

保護類型,表明一次傳輸的[0]特權級,[1]安全等級,以及[2]交易是數據訪問還是指令訪問

AWQOS [3:0](AXI4)

主機

質量服務QoS

AWREGION[3:0](AXI4)

主機

區域標誌,能實現單一物理接口對應的多個邏輯接口

AWUSER(AXI4)

主機

用戶自定義信號

AWVALID

主機

有效信號,表明此通道的地址控制信號有效,一直保持有效直到AWREADY爲高

AWREADY

從機

表明“從”可以接收地址和對應的控制信號

 2-3 寫數據通道信號

信號名

描述

WID[3:0](AXI3)

主機

一次寫傳輸的ID tag,AWID相對應

WDATA[31:0]

主機

寫數據,寫總線可以是8,16,32,64,128,256,512,1024位寬

WSTRB[3:0]

主機

寫選通,寫數據有效的字節線,用來表明哪8bits數據是有效的

WLAST

主機

表明此次傳輸是最後一個突發傳輸

WUSER(AXI4)

主機

用戶自定義信號

WVALID

主機

寫有效,表明此次寫有效

WREADY

從機

表明從機可以接收寫數據

AXI4取消了交織傳輸,也就是說傳輸的數據必須按地址順序進行傳輸。AXI3的主機如果要支持非交織傳輸,需要將寫交織深度配置爲1,從機不需要更改。AXI3的WID可以來自AWID。

 2-4 寫響應通道信號

信號名

描述

BID[3:0]

從機

寫響應ID tag,與AWID匹配

BRESP[1:0]

從機

寫響應,表明寫傳輸的狀態。OKAY,EXOKAY,SLVERR,DECERR

BUSER(AXI4)

從機

用戶自定義

BVALID

從機

寫響應有效

BREADY

主機

表明主機能夠接收寫響應

 2-5 讀地址通道信號

信號名

描述

ARID[3:0]

主機

讀地址ID,用來標誌一組寫信號(與AWID無關)

ARADDR[31:0]

主機

讀地址,給出一次寫突發傳輸的讀地址,只給首地址

ARLEN

[3:0]axi3

主機

突發長度,給出突發傳輸的次數

[7:0]axi4

ARSIZE[2:0]

主機

突發大小,給出每次突發傳輸的字節數

ARBURST[1:0]

主機

突發類型。FIXED,INCR,WRAP,Reserved

ARLOCK

主機

總線鎖信號,可提供操作的原子性

ARCACHE[3:0]

主機

內存類型,表明一次傳輸是怎樣通過系統的

ARPROT[2:0]

主機

保護類型,表明一次傳輸的[0]特權級,[1]安全等級,以及[2]交易是數據訪問還是指令訪問

ARQOS[3:0](AXI4)

主機

質量服務QoS

ARREGION[3:0](AXI4)

主機

區域標誌,能實現單一物理接口對應的多個邏輯接口

ARUSER(AXI4)

主機

用戶自定義信號

ARVALID

主機

有效信號,表明此通道的地址控制信號有效

ARREADY

從機

表明“從”可以接收地址和對應的控制信號

 2-6 讀數據通道信號

信號名

描述

RID[3:0]

從機

讀ID tag,與ARID對應

RDATA[31:0]

從機

讀數據,讀總線可以是8,16,32,64,128,256,512,1024位寬

RRESP

從機

讀響應,表明讀傳輸的狀態,OKAY,EXOKAY,SLVERR,DECERR

RLAST

從機

表明讀突發的最後一次傳輸

RUSER(AXI4)

從機

用戶自定義

RVALID

從機

表明此通道信號有效

RREADY

主機

表明主機能夠接收讀數據和響應信息

 2-7 低功耗接口信號

信號名

描述

CSYSREQ

時鐘控制器

系統退出低功耗請求,此信號從“時鐘控制器”到“外設”

CSYSACK

外設

退出低功耗狀態確認

CACTIVE

外設

外設請求時鐘有效

 

9 轉自文獻

http://blog.csdn.net/fanyongwinner/article/details/51890976

http://blog.csdn.net/ganggang0000/article/details/52824757

 

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章