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] |
主機 |
||
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