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

下載本文檔

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

文檔簡介

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

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

3、nnel 、 write address channel 、 read data channel 、 write data channel、 write response channel。每一個AXI傳輸通道都是單方向的。2、 每一個事務都有地址和控制信息在地址通道(address channel)中,用來描述被傳輸數據的性質。3、 讀事務的結構圖如下: 4、 寫事務的結構圖如下:5、 這5條獨立的通道都包含一個信息信號和一個雙路的VALD、READY握手機制。6、 信息源通過VALID信號來指示通道中的數據和控制信息什么時候有效。目地源用READY信號來表示何時能夠接收數據。讀數據和寫數據通

4、道都包括一個LAST信號,用來指明一個事物傳輸的最后一個數據。7、 讀和寫事務都有他們自己的地址通道,這地址通道攜帶著傳輸事務所必須的地址和信息。8、 讀數據通道傳送著從設備到主機的讀數據和讀響應信息。讀響應信息指明讀事務的完成狀態。9、 寫數據通路傳送著主機向設備的寫數據。每八個數據都會有一個byte lane ,用來指明數據總線上面的哪些byte有效。寫響應通道提供了設備響應寫事務的一種方式。這完成信號每一次突發式讀寫會產生一個。10、 主機和設備的接口和互聯圖如下:11、 傳輸地址信息和數據都是在VALID和READY同時為高時有效。12、 突發式讀的時序圖如下:當地址出現在地址總線后,

5、傳輸的數據將出現在讀數據通道上。設備保持VALID為低直到讀數據有效。為了表明一次突發式讀寫的完成,設備用RLAST信號來表示最后一個被傳輸的數據。13、 重疊突發式讀時序圖如下:設備會在第一次突發式讀完成后處理第二次突發式讀數據。也就意味著,主機一開始傳送了兩個地址給設備。設備在完全處理完第一個地址的數據之后才開始處理第二個地址的數據。14、 突發式寫時序圖如下:這一過程的開始時,主機發送地址和控制信息到寫地址通道中,然后主機發送每一個寫數據到寫數據通道中。當主機發送最后一個數據時,WLAST信號就變為高。當設備接收完所有數據之后他將一個寫響應發送回主機來表明寫事務完成。15、 AXI協議支

6、持亂序傳輸。他給每一個通過接口的事務一個IDtag。協議要求相同ID tag的事務必須有序完成,而不同ID tag可以亂序完成。第二章 本章主要介紹一些信號描述,其中包括全局信號、寫地址通道信號、寫數據通道信號、寫響應通道信號、讀地址通道信號、讀數據通道信號、低功耗接口信號。本章的所有表都是以32位的數據總線、4位的寫數據閘門、4位的ID段。1、 全局信號信號源描述ACLKClock source全局時鐘信號ARESETnReset source全局復位信號,低電平有效2、 寫地址通道信號 信號源描述AWID3:0主機寫地址ID,這個信號是寫地址信號組的ID tag。AWADDR31:0主機寫

7、地址。AWLEN3:0主機突發式寫的長度。此長度決定突發式寫所傳輸的數據的個數。AWSIZE2:0主機突發式寫的大小。AWBURST1:0 主機突發式寫的類型。AWLOCK1:0主機鎖類型。AWCACHE3:0主機Cache類型。這信號指明事務的bufferable、cacheable、write-through、write-back、allocate attributes信息。AWPROT2:0主機保護類型。AWVALID主機寫地址有效。1 = 地址和控制信息有效0 = 地址和控制信息無效這個信號會一直保持,直到AWREADY變為高。AWREADY設備寫地址準備好。這個信號用來指明設備已經準

8、備好接受地址和控制信息了。1 = 設備準備好0 = 設備沒準備好3、 寫數據通道信號信號源描述WID3:0主機寫ID tag,WID的值必須與AWID的值匹配WDATA31:0主機寫的數據。WSTRB3:0主機寫閥門。WSTRBn標示的區間為WDATA(8*n)+7:(8*n)WLAST主機寫的最后一個數據。WVALID主機寫有效1 = 寫數據和閥門有效0 = 寫數據和閥門無效WREADY設備寫就緒。指明設備已經準備好接受數據了1 = 設備就緒0 = 設備未就緒4、 寫響應通道信號信號源描述BID3:0設備響應ID , 這個數值必須與AWID的數值匹配。BRESP1:0設備寫響應。這個信號指明

9、寫事務的狀態。可能有的響應:OKAY、EXOKAY、SLVERR、DECERR。BVALID設備寫響應有效。1 = 寫響應有效0 = 寫響應無效BREADY主機接受響應就緒。該信號表示主機已經能夠接受響應信息。1 = 主機就緒0 = 主機未就緒5、讀地址通道信號信號源描述ARID3:0主機讀地址ID。ARADDR31:0主機讀地址。ARLEN3:0主機突發式讀長度。ARSIZE2:0主機突發式讀大小。ARBURST1:0主機突發式讀類型。ARLOCK1:0主機鎖類型。ARCACHE3:0主機Cache類型。ARPROT2:0主機保護類型。ARVALID主機讀地址有效。信號一直保持,直到ARRE

10、ADY為高。1 = 地址和控制信息有效0 = 地址和控制信息無效ARREADY設備讀地址就緒。指明設備已經準備好接受數據了。1 = 設備就緒0 = 設備未就緒6、 讀數據通道信號信號源描述RID3:0設備讀ID tag。RID的數值必須與ARID的數值匹配。RDATA31:0設備讀數據。RRESP1:0設備讀響應。這個信號指明讀傳輸的狀態:OKAY、EXOKAY、SLVERR、DECERR。RLAST設備讀事務傳送的最后一個數據。RVALID設備讀數據有效。1 = 讀數據有效。0 = 讀數據無效。 RREADY主機讀數據就緒。1 = 主機就緒0 = 主機未就緒7、 低功耗接口信號信號源描述CS

11、YSREQCLOCK controller系統低功耗請求。此信號來自系統時鐘控制器,使外圍設備進入低功耗狀態。CSYSACK外圍設備低功耗請求應答。CACTIVE外圍設備Clock active 1 = 外圍設備時鐘請求0 = 外圍設備時鐘無請求第三章 本章介紹主機/設備之間的握手過程以及READY和VALD握手信號的關系以及默認值。1、 全部5個通道使用相同的VALID/READY握手機制傳輸數據及控制信息。傳輸源產生VLAID信號來指明何時數據或控制信息有效。而目地源產生READY信號來指明已經準備好接受數據或控制信息。傳輸發生在VALID和READY信號同時為高的時候。VALID和REA

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

13、手信號之間的依賴性 讀事務握手依賴關系如圖:(1) 設備可以在ARVALID出現的時候在給出ARREADY信號,也可以先給出ARREADY信號,再等待ARVALID信號。(2) 但是設備必須等待ARVALID和ARREADY信號都有效才能給出RVALID信號,開始數據傳輸。寫事務握手依賴關系如圖:(1) 主機必須不能夠等待設備先給出AWREADY或WREADY信號信號后再給出信號AWVALID或WVLAID。(2) 設備可以等待信號AWVALID或WVALID信號有效或者兩個都有效之后再給出AWREADY信號。(3) 設備可以等待AWVALID或WVALID信號有效或者兩個信號都有效之后再給出

14、WREADY信號。第四章 本章主要介紹AXI突發式讀寫的類型和在一次突發式讀寫事務內如何計算地址和byte lanes。1、 突發式讀寫的地址必須以4KB對齊。2、 信號AWLEN或信號ARLEN指定每一次突發式讀寫所傳輸的數據的個數。具體信息如下圖:3、 ARSIZE信號或AWSIZE信號指定每一個時鐘節拍所傳輸的數據的最大位數。具體信息如下圖: 需要注意的是任何傳輸的SIZE都不能超過數據總線的寬度。4、 AXI協議定義了三種突發式讀寫的類型:固定式的突發讀寫、增值式突發讀寫、包裝式突發讀寫。用信號ARBURST或AWBURST來選擇突發式讀寫的類型。具體信息如下圖:(1) 固定式突發讀寫

15、是指地址是固定的,每一次傳輸的地址都不變。這樣的突發式讀寫是重復的對一個相同的位置進行存取。例如FIFO。(2) 增值式突發讀寫是指每一次讀寫的地址都比上一次的地址增加一個固定的值。(3) 包裝式突發讀寫跟增值式突發讀寫類似。包裝式突發讀寫的地址是包數據的低地址當到達一個包邊界。包裝式突發讀寫有兩個限制:起始地址必須以傳輸的size對齊。突發式讀寫的長度必須是2、4、8或者16。5、 關于一些地址的計算公式。Start_Address 主機發送的起始地址Number_Bytes 每一次數據傳輸所能傳輸的數據byte的最大數量Data_Bus_Bytes 數據總線上面byte lanes的數量A

16、ligned_Address 對齊版本的起始地址Burst_Length 一次突發式讀寫所傳輸的數據的個數Address_N 每一次突發式讀寫所傳輸的地址數量,范圍是2-16Wrap_Boundary 包裝式突發讀寫的最低地址Lower_Byte_Lane 傳輸的最低地址的byte laneUpper_Byte_Lane 傳輸的最高地址的byte laneINT(x) 對x進行向下取整下面是計算公式:Start_Address = ADDRNumber_Bytes = 2SIZEBurst_Length = LEN + 1Aligned_Address = (INT(Start_Address

17、 / Number_Bytes) ) x Number_BytesAddress_1 = Start_AddressAddress_N = Aligned_Address + (N 1) x Number_BytesWrap_Boundary = (INT(Start_Address / (Number_Bytes x Burst_Length)x (Number_Bytes x Burst_Length)如果有Address_N = Wrap_Boundary + (Number_Bytes x Burst_Length),則后面的公式成立Address_N = Wrap_Boundary。

18、第一次突發式讀寫:Lower_Byte_Lane = Start_Address - (INT(Start_Address / Data_Bus_Bytes)x Data_Bus_BytesUpper_Byte_Lane = Aligned_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_B

19、yte_Lane = Lower_Byte_Lane + Number_Bytes 1DATA(8 x Upper_Byte_Lane) + 7 : (8 x Lower_Byte_Lane)。第五章 本章描述了AXI協議支持的系統級的Cache和保護單元。1、 ARCACHE3:0和AWCACHE3:0的編碼如下圖: 在一些情況下,信號AWACAHE可以用來確定哪個部件來提供寫響應。如果寫事務被指定為bufferable ,那么他接受來自橋或者系統級的cache提供的寫響應。如果事務被指定為non-bufferable,那么寫響應必須有最終目的源提供。2、 AWPROT或者ARPROT信號提

20、供三種級別的存取保護:(1) 正常存取或者特權存取, ARPROT0 和 AWPROT0(2) 安全性存取或者沒有安全性存取, ARPROT1 和 AWPROT1(3) 指令存取或者數據存取 ARPROT2 和 AWPROT2信號ARPROT2:0 和 信號AWPROT2:0的編碼如下圖:第六章 本章描述了AXI協議工具的獨占式存取和鎖存取機制。1、 當對自動存取時能之后,可以通過信號ARLOCK1:0或信號AWLOCK1:0來配置獨占式存取和鎖存取。編碼如下圖: 我們通過信號ARLOCK1:0或AWLOCK1:0來選擇獨占式存取,用信號RRESP1:0或BRESP1:0來指明獨占式存取的成功

21、與否。2、 主機在請求獨占式存取時,設備會返回兩個響應分別是EXOKAY和OKAY。EXOKAY是指設備支持獨占式存取,而OKAY是指設備不支持獨占式存取。、3、 如果一個設備不支持獨占式存取,可以忽略信號ARLOCK1:0和AWLOCK1:0。他必須提供OKAY響應對正常式存取和獨占式存取。如果一個設備要支持獨占式存取則必須有硬件監視器。4、 通過信號ARLOCK1:0或信號AWLOCK1:0對事務加鎖,需要確定只允許主機存取設備區域直到一個未加鎖的事務從同一個主機完成。此處推薦鎖存取只用來支持legacy devices。5、 推薦遵循下面兩天建議,但是不強制:(1) 保持所有鎖事務序列都

22、在相同的4KB地址區域內。(2) 限制用瑣事務序列對兩個事務加鎖。第七章 本章描述了AXI讀寫事務的四個設備響應。1、 AXI協議對讀事務和寫事務都有響應。對于讀事務,讀響應與讀數據一起發送給主機,而寫事務將寫響應通過寫響應通道傳送。AXI協議的響應類型有OKAY、EXOKAY、SLVERR、DECERR。2、 通過信號RRESP1:0和BRESP1:0來編碼響應信號,具體如下圖:協議規定請求的需要傳輸的數據數量必須被執行,即使有錯誤報告。在一次突發式讀寫的剩余數據不會被取消傳輸,即使有單個錯誤報告。3、 AXI協議的四種響應類型:正常存取成功、獨占式存取、設備錯誤、譯碼錯誤。AXI協議要求,

23、在一個傳輸事務中的所有數據必須傳輸完成,即使有錯誤狀態發生。第八章 本章描述AXI協議用事務ID tags來處理多地址和亂序傳輸。1、 下面介紹5中事務IDs:(1) AWID 這個ID tag是寫地址群組信號。(2) WID 這個是寫ID tag在寫事務中,與寫數據在一起,主機傳送一個WID去匹配與地址相一致的AWID。(3) BID 這個ID tag是寫響應事務中。設備會傳送BID去匹配與AWID和WID相一致的事務。(4) ARID 這個ID tag是讀地址群組信號。(5) RID 這個ID tag是在讀事務中。設備傳送RID去匹配與ARID相一致的事務。2、 主機可以使用一個事務的AR

24、ID或者AWID段提供的附加信息排序主機的需要。事務序列規則如下:(1) 從不同主機傳輸的事務沒有先后順序限制。他們可以以任意順序完成。(2) 從同一個主機傳輸的不同ID事務,也沒有先后順序限制。他們可以以任意順序完成。(3) 相同數值的AWID寫事務數據序列必須按照順序依次寫入主機發送的地址內。(4) 相同數值的ARID讀事務數據序列必須遵循下面的順序:當從相同設備讀相同的ARID時,設備必須確保讀數據按照相同的地址順序接受。當從不同的設備讀相同的ARID時,接口處必須確保讀數據按照主機發送的相同的地址順序。(5) 在相同的AWID和ARID的讀事務和寫事務之間沒有先后順序限制。如果主機要求

25、有順序限制,那么必須確保第一次事務完全完成后才開始執行第二個事務。3、當一個主機接口與interconnect相連時,interconnect會在信號ARID、AWID、WID段添加一位,每一個主機端口都是獨一無二的。這樣做有兩個影響:(1) 主機不需要去知道其他主機的ID數值,因為interconnect是ID值是唯一的,當將主機number添加到段中。(2) 在設備接口處的ID段的寬度要比主機接口處的ID段寬。對于讀數據,interconnect附加一位到RID段中,用來判斷哪個主機端口讀取數據。Interconnect會移除RID段中的這一位在將RID的值送往正確的主機端口之前。第九章本

26、章描述了AXI讀寫數據總線傳輸的不同大小和接口如何用字節不變endian去握手混合endian傳輸。1、 Narrow傳輸,當主機產生的數據寬度小于數據總線寬度時,地址和控制信息決定哪一個byte lanes為有效的數據。下面是兩個應用byte lanes的例子:Example 1:Example 2:2、 下面是一個數據不變性存取需求的數據結構的例子。他包含頭信息,例如source、destination identifiers這些信息是采用little-endian格式,但是payload是big-endian 字節流,具體情況如下圖:數據不變性確保在數據結構中little-endian存取頭信息的部分不會破壞其他big-endian數據。第十章 本章描述AXI協議不對齊握手傳輸。1、 AXI協議允許主機使用低階地址行去標示一個不對齊的起始地址在突發讀寫中。低階地址行的信息必須包含byte lane strobes信息。2、 下面是幾個例子來表明數據以對齊或者不對齊的地址為起始地址,分別在32位和64位數據總線上面傳輸的情況。其中暗色的框表示沒有傳輸的數據

溫馨提示

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

評論

0/150

提交評論