AMBA_AXI總線詳解_第1頁
AMBA_AXI總線詳解_第2頁
AMBA_AXI總線詳解_第3頁
AMBA_AXI總線詳解_第4頁
AMBA_AXI總線詳解_第5頁
已閱讀5頁,還剩22頁未讀 繼續免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

1、AXI總線協議資料整理第一部分:1、AXI 簡介:AXI (Adva need eXte nsible In terface 是一種總線協議,該協議是ARM 公司提出的 AMBA ( Advaneed Mieroeontroller Bus Architecture)3.0 協議中 最重要的部分,是一種面向高性能、高帶寬、低延遲的片內總線。它的地址/控制和數據相位是分離的,支持不對齊的數據傳輸,同時在突發傳輸中,只需要首 地址,同時分離的讀寫數據通道、并支持顯著傳輸訪問和亂序訪問,并更加容易就行時序收斂。AXI是AMBA中一個新的高性能協議。AXI技術豐富了現有 的AMBA標準內容,滿足超高性

2、能和復雜的片上系統(SoC)設計的需求。2、AXI特點:單向通道體系結構。信息流只以單方向傳輸,簡化時鐘域間的 橋接,減少門數量。當信號經過復雜的片上系統時,減少延時。支持多項數據交換。通過并行執行猝發操作,極大地提高了數據吞吐能力, 可在更短的時間內完成任務,在滿足高性能要求的同時,又減少了功耗。獨立的地址和數據通道。地址和數據通道分開,能對每一個通道進行單獨優 化,可以根據需要控制時序通道,將時鐘頻率提到最高,并將延時降到最低。第二部分:本部分對AXI1.0協議的各章進行整理。第一章本章主要介紹AXI協議和AXI協議定義的基礎事務。1、AXI總線共有5個通道分別是read address

3、channel、 write address channel、 read data channel、 write data channe、 write response channe。每一個AXI傳輸通道都是單方向的。2、 每一個事務都有地址和控制信息在地址通道(address channel中,用來描 述被傳輸數據的性質。3、讀事務的結構圖如下:Figure 1-1 Channel architecture of reads4、寫事務的結構圖如下:Figure 1-2 Channel architecture of writes5、這5條獨立的通道都包含一個信息信號和一個雙路的VALD、RE

4、ADY握手機制。6 信息源通過VALID信號來指示通道中的數據和控制信息什么時候有效。目 地源用READY信號來表示何時能夠接收數據。讀數據和寫數據通道都包括一個 LAST信號,用來指明一個事物傳輸的最后一個數據。7、讀和寫事務都有他們自己的地址通道, 這地址通道攜帶著傳輸事務所必須的 地址和信息。8、讀數據通道傳送著從設備到主機的讀數據和讀響應信息。讀響應信息指明讀事務的完成狀態9、寫數據通路傳送著主機向設備的寫數據。每八個數據都會有一個byte lane,用來指明數據總線上面的哪些byte有效。寫響應通道提供了設備響應寫事務的一種方式。這完成信號每一次突發式讀寫會產生一個。10、主機和設備

5、的接口和互聯圖如下:Master 1|_ Master 2Master 3* Interface|Interconnectinterface1| Sla惟空Slave 3Slave 4Figure 1-3 Interface and interconnect11、傳輸地址信息和數據都是在 VALID和READY同時為高時有效。Note The master also drives a set of control signals showing the length and type of the burst, but these signals are omiued from the fig

6、ure for clurity.12、突發式讀的時序圖如下:TO T1 T2 T3 T4 T5 T$ 17 T& T9 T10 Tt1 T12T13AKnL_LTT_rLTTjrTjnLn_Ti_nLTT_rL_rLJT&ARADORXAR沁ID JARREADYRDA1AI AC:RLASTHVALIDffRREADYFigure 卜斗 Read txirst當地址出現在地址總線后,傳輸的數據將出現在讀數據通道上。設備保持VALID為低直到讀數據有效。為了表明一次突發式讀寫的完成,設備用RLAST信號來表示最后一個被傳輸的數據13、重疊突發式讀時序圖如下:TOACLK T112TLJLT3T

7、-T5nmL nT6T7LTUTLThT9T10-TurunT11T12rr mARADDR Ja XLARVAUO JIaARRE AD? ii i 、RDATA1 IbtAilI衍回KFUAST If理Rvalidl J1 T dR_%rread#g Q /廠 VFigure V5 Overlappjn read bursts 設備會在第一次突發式讀完成后處理第二次突發式讀數據。也就意味著,主機一開始傳送了兩個地址給設備。設備在完全處理完第一個地址的數據之后才開始處 理第二個地址的數據。14、突發式寫時序圖如下:Figure 1-6 Write burst這一過程的開始時,主機發送地址和控

8、制信息到寫地址通道中,然后主機發送每 一個寫數據到寫數據通道中。當主機發送最后一個數據時, WLAST信號就變為 高。當設備接收完所有數據之后他將一個寫響應發送回主機來表明寫事務完成。15、AXI協議支持亂序傳輸。他給每一個通過接口的事務一個IDtag。協議要求相同ID tag的事務必須有序完成,而不同ID tag可以亂序完成第二章本章主要介紹一些信號描述,其中包括全局信號、寫地址通道信號、寫數據 通道信號、寫響應通道信號、讀地址通道信號、讀數據通道信號、低功耗接口信 號。本章的所有表都是以32位的數據總線、4位的寫數據閘門、4位的ID段。1、全局信號信號源描述ACLKClock source

9、全局時鐘信號ARESETnReset source全局復位信號,低電平有效2、寫地址通道信號信號源描述AWID3:0主機與地址ID,這個信號是與地址信號組的ID tag。AWADDR31:0主機寫地址。AWLEN3:0主機突發式寫的長度。此長度決定突發式寫所傳輸的數據的 個數。AWSIZE2:0主機突發式寫的大小。AWBURST1:0主機突發式寫的類型。AWLOCK1:0主機鎖類型。AWCACHE3:0主機Cache類型。這信號指明事務的 bufferable、cacheable write-through、write-back、allocate attributes信息。AWPROT2:0主

10、機保護類型。AWVALID主機寫地址有效。1 =地址和控制信息有效0 =地址和控制信息無效這個信號會一直保持,直到 AWREADY變為高。AWREADY設備寫地址準備好。這個信號用來指明設備已經準備好接受 地址和控制信息了。1 =設備準備好0=設備沒準備好3、寫數據通道信號信號源描述WID3:0主機寫ID tag, WID的值必須與AWID的值匹配WDATA31:0主機寫的數據。WSTRB3:0主機寫閥門。WSTRBn標示的區間為 WDATA(8*n)+7:(8*n)ClM 葫48 47軸翱徒 312山15B 7075I43|21D1 1 _ 1 1Figure H Byte lane map

11、pingWLAST主機寫的最后一個數據。WVALID主機寫有效1=寫數據和閥門有效0 =寫數據和閥門無效WREADY設備寫就緒。指明設備已經準備好接受數據了1=設備就緒0 =設備未就緒4、寫響應通道信號信號源描述BID3:0設備響應ID ,這個數值必須與AWID的數值匹配。BRESP1:0設備寫響應。這個信號指明寫事務的狀態。可能有的響應:OKAY、EXOKAY、SLVERR、DECERR。BVALID設備寫響應有效。1=寫響應有效0 =寫響應無效BREADY主機接受響應就緒。該信號表示主機已經能夠接受響應信息。1 =主機就緒0 =主機未就緒5、讀地址通道信號信號源描述ARID3:0主機讀地址

12、ID。ARADDR31:0主機讀地址。ARLEN3:0主機突發式讀長度。ARSIZE2:0主機突發式讀大小。ARBURST1:0主機突發式讀類型。ARLOCK1:0主機鎖類型。ARCACHE3:0主機Cache類型。ARPROT2:0主機保護類型。ARVALID主機讀地址有效。信號一直保持,直到 ARREADY為高。1 =地址和控制信息有效0 =地址和控制信息無效ARREADY設備讀地址就緒。指明設備已經準備好接受數據了。1=設備就緒0 =設備未就緒6讀數據通道信號信號源描述RID3:0設備讀ID tag。RID的數值必須與ARID的數值匹配。RDATA31:0設備讀數據。RRESP1:0設備

13、讀響應。這個信號指明讀傳輸的狀態:OKAY、EXOKAY、SLVERR、DECERR。RLAST設備讀事務傳送的最后一個數據。RVALID設備讀數據有效。1 =讀數據有效。0 =讀數據無效。RREADY主機讀數據就緒。1=主機就緒0 =主機未就緒7、低功耗接口信號信號源描述CSYSREQCLOCK con troller系統低功耗請求。此信號來自系統時鐘控制 器,使外圍設備進入低功耗狀態。CSYSACK外圍設備低功耗請求應答。CACTIVE外圍設備Clock active1=外圍設備時鐘請求0 =外圍設備時鐘無請求第三章本章介紹主機/設備之間的握手過程以及 READY和VALD握手信號的關系

14、以及默認值。1、全部5個通道使用相同的VALID/READY握手機制傳輸數據及控制信息。傳 輸源產生VLAID信號來指明何時數據或控制信息有效。而目地源產生READY信號來指明已經準備好接受數據或控制信息。傳輸發生在VALID和READY信號同時為高的時候。VALID和READY信號的出現有三種關系。(1)VALID先變高READY后變高。時序圖如下:aclk|INFORMATIIONVALIDREADYffFigure 3-1 VALID before READY handshake在箭頭處信息傳輸發生。(2) READY先變高VALID后變高。時序圖如下:同樣在箭頭處信息傳輸發生。(3)

15、VALID和READY信號同時變高。時序圖如下:Figure 3-3 VALID with READY handshake在這種情況下,信息傳輸立馬發生,如圖箭頭處指明信息傳輸發生2、通道之間的關系地址、讀、寫和寫響應通道之間的關系是靈活的。例如,寫數據可以出現在接口上早于與其相關聯的寫地址。也有可能寫數據 與寫地址在一個周期中出現。兩種關系必須被保持:(1)讀數據必須總是跟在與其數據相關聯的地址之后。(2)寫響應必須總是跟在與其相關聯的寫事務的最后出現。3、通道握手信號之間的依賴性讀事務握手依賴關系如圖:Figure 3-4 Read transaction handshake depend

16、encies(1)設備可以在ARVALID出現的時候在給出ARREADY信號,也可以先給出 ARREADY 信號,再等待 ARVALID信號。(2)但是設備必須等待 ARVALID和ARREADY信號都有效才能給出 RVALID 信號,開始數據傳輸。出信號 AWVALID 或 WVLAID。(2)設備可以等待信號AWVALID或WVALID信號有效或者兩個都有效之后再給出AWREADY信號。(3) 設備可以等待AWVALID或WVALID信號有效或者兩個信號都有效之后再給出WREADY信號。Note It is important (hat during a write lransaciion

17、T a master must not wait tor READY to be asserted before driving WVALID. This could cause a deadlock condition if the slave is conversely tailing Ibr VV VA1.1D befnre cisserting AW READY.第四章本章主要介紹AXI突發式讀寫的類型和在一次突發式讀寫事務內如何計算地址和 byte lanes1、突發式讀寫的地址必須以4KB對齊。Bursts must not cross 4KB boundaries lo prev

18、tnl them in)m cmssing boundaries between slaves and io fimii the size of the address incrementer required wiihin slaves.2、信號AWLEN或信號ARLEN指定每一次突發式讀寫所傳輸的數據的個數。具體信息如下圖:Table 4-1 Burst length encodingARLEN3:0 AWLEN3:0Number of data transfersbOOOO1bOOOl2bOOlO3bl 1014blilO15bllll163、ARSIZE信號或AWSIZE信號指定每一個

19、時鐘節拍所傳輸的數據的最大位 數。具體信息如下圖:Table 4*2 Burst size encodingARSIZE2:0 AWSIZE2:0Bytes in transferbOOObOOl2h()IO4bOll8bl 0016blOl32bl 1064bill128需要注意的是任何傳輸的SIZE都不能超過數據總線的寬度。4、AXI協議定義了三種突發式讀寫的類型:固定式的突發讀寫、增值式突發讀寫、包裝式突發讀寫。用信號 ARBURST或AWBURST來選擇突發式讀寫的類 型。具體信息如下圖:Table 4-3 Burst type encodingARBURST1tO AWBURST11

20、iBurst typeDescriptionAccessWX)FIXEDFined-adduce TiurslFIFO-lypcbOIINCRlncrenkmii)g-;iildre固定式突發讀寫是指地址是固定的,每一次傳輸的地址都不變。這樣的突發式讀寫是重復的對一個相同的位置進行存取。例如FIFO。 增值式突發讀寫是指每一次讀寫的地址都比上一次的地址增加一個固定的 值。 包裝式突發讀寫跟增值式突發讀寫類似。包裝式突發讀寫的地址是包數據s hur stNnnnal set|in?r)iiiil inenxirblOWRAP1 nt remtnl i ng-additr si burL lhal

21、 wnip、 a loweral the wrap bouiidiiryCuuhc linebli-的低地址當到達一個包邊界。包裝式突發讀寫有兩個限制:起始地址必須以傳輸的size對齊。突發式讀寫的長度必須是2、4、8或者16。5、關于一些地址的計算公式。Start_Address主機發送的起始地址Number_Bytes 每一次數據傳輸所能傳輸的數據 byte的最大數量Data_Bus_Bytes數據總線上面 byte lanes的數量Alig ned_Address對齊版本的起始地址Burst_Le ngth次突發式讀寫所傳輸的數據的個數Address_N每一次突發式讀寫所傳輸的地址數量,

22、范圍是 2-16Wrap_Bou ndary包裝式突發讀寫的最低地址Lower_Byte_Lane 傳輸的最低地址的 byte laneUpper_Byte_Lane傳輸的最高地址的byte laneINT(x)對x進行向下取整下面是計算公式:Start_Address = ADDRNumber_Bytes = IZEBurst_Le ngth = LEN + 1Alig ned_Address = (INT(Start_Address / Number_Bytes) ) x Number_BytesAddress_1 = Start_AddressAddress_N = Aligned_Ad

23、dress + (N - 1) x Number_BytesWrap_Bou ndary = (INT(Start_Address / (Number_Bytes x Burst_Le ngth)x (Number_Bytes x Burst_Le ngth)如果有 Address_N = Wrap_Boundary + (Number_Bytes x Burst_Length)則后面的 公式成立 Address_N = Wrap_Boundary。第一次突發式讀寫:Lower_Byte_La ne = Start_Address - (INT(Start_Address / Data_Bus

24、_Bytes)x Data_Bus_BytesUpper_Byte_La ne = Alig ned_Address + (Number_Bytes - 1)-(INT(Start_Address / Data_Bus_Bytes) x Data_Bus_Bytes除了第一次讀寫之后的讀寫:Lower_Byte_Lane = Address_N - (INT(Address_N / Data_Bus_Bytes)x Data_Bus_BytesUpper_Byte_La ne = Lower_Byte_La ne + Number_Bytes - 1DATA(8 x Upper_Byte_La

25、ne) + 7 : (8 x Lower_Byte_Lane)。第五章本章描述了 AXI協議支持的系統級的Cache和保護單元。1、ARCACHE3:0和 AWCACHE3:0的編碼如下圖:WARACBTransaction attributes0000Noncacheable and nonbuflcrable0001BuiTeruble only(01Cacheable, but do not allocate(lHXOKAYK5(cluiv-e nc作礙 okav indicates that either the read nr write ponicn nfari excli4ive

26、 access Tins been sLfccetulsblOSI.VERRSJ赳皆t error is ued when the sicced hn誓 reached lhesueeesrullji; bul tbe sliivewishes to* reiuni an errcw conditinn in the ori pi noting master,MlUK HRKDecode error is jenemed typically by an iniercannect component to indicate that ibere 矗 no slave al the Iransac

27、tion addiess.協議規定請求的需要傳輸的數據數量必須被執行, 即使有錯誤報告。在一次突發 式讀寫的剩余數據不會被取消傳輸,即使有單個錯誤報告。3、AXI協議的四種響應類型:正常存取成功、獨占式存取、設備錯誤、譯碼錯 誤。AXI協議要求,在一個傳輸事務中的所有數據必須傳輸完成,即使有錯誤狀態發生。第八章本章描述AXI協議用事務ID tags來處理多地址和亂序傳輸。1、下面介紹5中事務IDs:(1)AWID 這個ID tag是寫地址群組信號。(2) WID這個是寫ID tag在寫事務中,與寫數據在一起,主機傳送一個 WID去匹配與地址相一致的 AWID。(3) BID 這個ID tag是

28、寫響應事務中。設備會傳送 BID去匹配與AWID 和WID相一致的事務。(4)ARID 這個ID tag是讀地址群組信號。(5)RID這個ID tag是在讀事務中。設備傳送RID去匹配與ARID相一致的事務。2、主機可以使用一個事務的 ARID或者AWID段提供的附加信息排序主機的需 要。事務序列規則如下:(1)從不同主機傳輸的事務沒有先后順序限制。他們可以以任意順序完成(2)從同一個主機傳輸的不同ID事務,也沒有先后順序限制。他們可以以任意順序完成。(3) 相同數值的AWID寫事務數據序列必須按照順序依次寫入主機發送的地 址內。(4) 相同數值的ARID讀事務數據序列必須遵循下面的順序:O當

29、從相同設備讀相同的ARID時,設備必須確保讀數據按照相同的地址順序接 受。當從不同的設備讀相同的ARID時,接口處必須確保讀數據按照主機發送的相 同的地址順序。(5) 在相同的AWID和ARID的讀事務和寫事務之間沒有先后順序限制。如果 主機要求有順序限制,那么必須確保第一次事務完全完成后才開始執行第二個事 務。3、當一個主機接口與interconnect相連時,interconnect會在信號ARID、AWID、 WID段添加一位,每一個主機端口都是獨一無二的。這樣做有兩個影響:(1) 主機不需要去知道其他主機的ID數值,因為interconnect是ID值是唯一的, 當將主機number添

30、加到段中。(2) 在設備接口處的ID段的寬度要比主機接口處的ID段寬。對于讀數據,interconnect附加一位到RID段中,用來判斷哪個主機端口讀取數 據。Interconnect會移除RID段中的這一位在將RID的值送往正確的主機端口之 刖。第九章本章描述了 AXI讀寫數據總線傳輸的不同大小和接口如何用字節不變 endian去握手混合 endian傳輸。1、Narrow傳輸,當主機產生的數據寬度小于數據總線寬度時,地址和控制信息 決定哪一個byte lanes為有效的數據。下面是兩個應用byte lanes的例子:Example 1:In Figure 9-2: the burst ha

31、s five u;uisfcrs the sinning address is 0 each transfer is eight bits the tj ansfers arc on a 32-bit bus.DATA|7iQlDATA(15:則DATA23;16DATA31:24|DATA(7iOByte lane used1st transfer2nd transfer3rd transfer4th transferSth transferFigure 9-2 Narrow transfer example with 8-bit transfersExample 2:In Figure 9

32、-3: the burst has three transfers the starting uddress is 4 each rransler is 32 bits the irajisrcjfs arc on a (14-bit bus.DATA163:32DATA(3t:0)DATA163:32Bylu lane used1st transfer2nd transfer3rd transferFigure 9-3 Narrow trans怕r example with 32七it transfers2、下面是一個數據不變性存取需求的數據結構的例子。他包含頭信息,例如source des

33、tination identifiers 這些信息是采用 little-endian 格式,但是 payload 是 big-e ndia n字節流,具體情況如下圖:3124 238 70Figure 9-4 Example mixed-endian data structure數據不變性確保在數據結構中little-endian存取頭信息的部分不會破壞其他 big-e ndia n 數據。第十章本章描述AXI協議不對齊握手傳輸。1、AXI協議允許主機使用低階地址行去標示一個不對齊的起始地址在突發讀寫 中。低階地址行的信息必須包含 byte lane strobes信息。2、 下面是幾個例子來

34、表明數據以對齊或者不對齊的地址為起始地址,分別在32 位和64位數據總線上面傳輸的情況。其中暗色的框表示沒有傳輸的數據。Address: 0x00Transfer size: 32 bitsBurst type: in creme ntingBurst length: 4 transfersAddress: 0x01Transfer size: 32 bits Burst type: in creme nting Burst length: 4【ransfersAddress: 0x01Transfer size: 32 bits Burst type: incrementing Burst

35、length: 5 transfersAddress: 0x07Transfer size: 32 bits Burst type: incrementing Burst length: 5 transfersFigure 10-1 Aligned and unaligned word transfers on a 32-bit busFigure 10*2 Aligned and unaligned word transfers on a 64*brt busAddress Dh時TrsnsfEr size- 32 bits Burst type: incremontirg Bursl le

36、ngth- 4 transfersAddre.液曲Transfer sk&: 32 bitsBurst type; inorefiienbrigBui引 longlh 4 triin5fnrfiAddress 鈿腫Trarffifer siz&. 32 bits Bur$l ty:incp0fn0Ti(iri Burst length 5 transfers7543210FEQA93FECA97543211st transfer2nd transfer3rd t dtibfur4tn transferAddress. vxo4Transfer siw: 32 tit5Burst type wrappirtgBurst tacigtt) 4 transfWB63 網酯 4ft J7 40 39323124 2316 15 (J 7Figure 10-3 Aligned wrapping word transfers on a 64-bit bus第十一章本章主要描述AXI時鐘和復位信號的時序。1、在復位期間,以下接口必須遵循:(1)主機接口必須將 ARVALID、AWVALID、WVALID 信號置低。(2)設

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
  • 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論