本文將討論AMBA的第三次修訂版,該修訂版向世界介紹了高級可擴(kuò)展接口(AXI)協(xié)議。
AXI協(xié)議最初是為高頻系統(tǒng)而設(shè)計的,旨在滿足各種組件的接口要求,同時允許靈活地互連這些組件。適用于高頻,低延遲設(shè)計,AXI仍與先前的AMBA版本向后兼容AHB和APB。
了解AXI將使您深入了解SoC的工作原理,同時使您成為一名多才多藝且全面的設(shè)計師。
AXI架構(gòu)
回想一下,AHB(高級高性能總線)是單通道總線,多個主機(jī)和從機(jī)用于交換信息。優(yōu)先級仲裁器確定當(dāng)前哪個主機(jī)使用該總線,而中央解碼器執(zhí)行從機(jī)選擇。突發(fā)執(zhí)行操作可能需要花費多個總線周期才能完成。每個突發(fā)傳輸都包括一個地址和控制階段,隨后是一個數(shù)據(jù)階段。
AXI的設(shè)計理念相似,但使用多個專用通道進(jìn)行讀寫。像它的前身一樣,AXI是基于突發(fā)的,并且在交換數(shù)據(jù)之前使用類似的地址和控制階段。AXI還包括許多新功能,包括亂序事務(wù),未對齊的數(shù)據(jù)傳輸,高速緩存支持信號和低功耗接口。
AXI頻道
AXI主站和從站之間有五個獨立的通道。它們是:
讀取地址通道
讀取數(shù)據(jù)通道
寫地址通道
寫數(shù)據(jù)通道
寫響應(yīng)通道
地址通道用于在執(zhí)行主從之間的基本握手時發(fā)送地址和控制信息。數(shù)據(jù)通道是要交換信息的放置位置。
主機(jī)從從機(jī)讀取數(shù)據(jù)并將數(shù)據(jù)寫入從機(jī)。讀取響應(yīng)信息放置在讀取數(shù)據(jù)通道上,而寫入響應(yīng)信息具有專用通道。這樣,主機(jī)可以驗證寫事務(wù)已完成。
圖1顯示了通過五個AXI通道連接的AXI主從設(shè)備。
圖1.AXI通道
每次數(shù)據(jù)交換都稱為事務(wù)。事務(wù)包括地址和控制信息,發(fā)送的數(shù)據(jù)以及任何響應(yīng)信息。實際數(shù)據(jù)以突發(fā)方式發(fā)送,其中包含多次傳輸。圖1顯示了由4個拍子或數(shù)據(jù)傳輸組成的讀寫突發(fā)。
我們將在本文后面詳細(xì)討論突發(fā)。
AXI信號
就像以前的AMBA版本中的AHB,ASB和APB信號一樣,每個AXI通道都有許多與之相關(guān)的信號。有兩個全局信號稱為ACLK和ARESETn。它們分別是系統(tǒng)的全局時鐘和復(fù)位信號。ARESETn的后綴“ n”表示此信號為低電平有效。
圖2顯示了與讀取通道相對應(yīng)的信號以及全局信號。
圖2.讀取地址,讀取數(shù)據(jù)和全局信號
每個通道都有一個ID標(biāo)簽,用于無序交易。具有相同ID的任何事務(wù)都必須保留順序,但是具有不同ID的事務(wù)可以按任何順序完成。這樣,即使較慢的事務(wù)首先發(fā)出,也可以在較慢的事務(wù)之前完成較快的事務(wù)。例如,如果一個主設(shè)備正在將數(shù)據(jù)寫入多個從設(shè)備,則事務(wù)ID將允許更快的從設(shè)備更快完成。
總線寬度是特定于實現(xiàn)的,但是這些信號以32位總線寬度顯示。從機(jī)使用RLAST信號向主機(jī)發(fā)送最后一個數(shù)據(jù)項正在傳輸?shù)男盘枴?/span>
其他值得注意的信號包括突發(fā)大小,長度和類型。VALID和READY信號用于主機(jī)和從機(jī)之間的握手。這些將在本文后面討論。
緩存,鎖定和保護(hù)信號分別用于緩存,互斥訪問(原子操作)和非法訪問保護(hù)。
圖3.寫入地址,數(shù)據(jù)和響應(yīng)信號
圖3顯示了寫地址,數(shù)據(jù)和響應(yīng)信號。這些信號反映了上面的讀取信號,但被主機(jī)用來將數(shù)據(jù)發(fā)送到從機(jī)。WLAST向從站發(fā)出信號,表明正在發(fā)送最后一個數(shù)據(jù)項。專用的寫響應(yīng)信號使主機(jī)可以知道寫事務(wù)已成功完成。
有關(guān)這些信號的更詳細(xì)說明,請參閱AMBA 3.0版,尤其是AMBA AXI協(xié)議v1.0規(guī)范。
AXI交易
如前所述,AXI數(shù)據(jù)傳輸稱為事務(wù)。事務(wù)可以采用讀或?qū)懙男问?,并包括地?控制信息,數(shù)據(jù)和響應(yīng)。數(shù)據(jù)以脈沖串的形式發(fā)送,其中包括多個稱為節(jié)拍的數(shù)據(jù)項。為了同步數(shù)據(jù)的發(fā)送和接收,AXI主站和從站在事務(wù)開始時使用READY和VALID信號執(zhí)行握手。
通道握手
每個AXI通道都包含一個有效信號和一個就緒信號。這些用于同步和控制傳輸速率。這里要記住的重要一點是,源或發(fā)送者使用VALID信號表示數(shù)據(jù)或控制信息可用。當(dāng)目的地或接收者實際上能夠使用該信息時,它會發(fā)出READY信號。因此,只有當(dāng)VALID和READY信號都有效時,才可以進(jìn)行傳輸。
圖4顯示了工作中的AXI握手。通知信息傳輸(用箭頭表示)僅在VALID和READY都較高時發(fā)生,而不管哪個先斷言。還要注意,AXI在所有傳輸中都使用時鐘上升沿。
圖4.AXI握手機(jī)制(改編自AXI規(guī)范v1.0)
AXI規(guī)范中的一個重要說明是,一個組件的VALID信號絕不能依賴于另一個組件的READY信號。READY可以等待VALID信號,但不是必須的。遵循這些規(guī)則消除了發(fā)生死鎖的可能性。如果VALID依賴于READY,而READY則依賴于VALID,則很容易看到兩個信號都不會置為有效,因為每個信號都在等待另一個信號。
AXI爆發(fā)
AXI中的數(shù)據(jù)交換采用突發(fā)形式。每個突發(fā)包括多個節(jié)拍或數(shù)據(jù)傳輸。在事務(wù)開始時發(fā)送的控制信息指示正在傳輸?shù)耐话l(fā)的長度,大小和類型。
X代表R或W的AXLEN [3:0]表示突發(fā)中的拍數(shù)。寬度為4位,這意味著一個突發(fā)中最多可以進(jìn)行16次傳輸。AXLEN = b0000表示每次連發(fā)有一個節(jié)拍。b0001,b0010和b0011的值分別代表兩個拍子,三個拍子和四個拍子。這種模式一直持續(xù)到十六歲。組件必須完成AXLEN指定的所有節(jié)拍,無論是否使用數(shù)據(jù)。
AXSIZE [2:0]指定突發(fā)的每個拍中有多少個字節(jié)。AXSIZE中的每個位代表另一次冪2,“ 000”代表每個節(jié)拍1個字節(jié),“ 111”代表每個節(jié)拍最多128個字節(jié)。這些節(jié)拍的大小不能超過母線寬度。
AXburst[1:0]確定將執(zhí)行的突發(fā)類型。
AXI中有三種突發(fā)類型。他們是:
固定爆發(fā)
突發(fā)增加
包裝爆裂
在固定的脈沖串中,地址不會隨著每個節(jié)拍而改變。一個典型的應(yīng)用是FIFO隊列/緩沖區(qū)。
增量突發(fā)代表更典型的傳輸類型,其中在每個拍子之后,傳輸?shù)刂范紩f增。您可以將其視為與基址的偏移量。
最終的突發(fā)類型是包裝突發(fā)。包裝突發(fā)與增量突發(fā)類似,不同之處在于存在一個包裝邊界,其中地址一旦增加到該點,它就會纏繞到一個較低的地址。
圖5顯示了三種不同類型的AXI突發(fā)的簡化視圖。
圖5.AXI突發(fā)類型
AXI互連
AXI互連允許多個主機(jī)和/或多個從機(jī)相互連接。AXI規(guī)范定義了主機(jī)和從機(jī),主機(jī)和互連以及從機(jī)和互連之間的接口。
實際上,互連包含連接到AXI主設(shè)備的從設(shè)備接口和連接到AXI從設(shè)備的主設(shè)備接口?;ミB中發(fā)生的事情(即,不同的主機(jī)如何與不同的從機(jī)通信)取決于實現(xiàn)方式?;ミB可以允許共享的地址總線,共享的數(shù)據(jù)總線都共享或不共享。
在下一篇文章中,我們將研究AXI互連,它們?nèi)绾喂ぷ饕约叭绾卧谠O(shè)計中使用它們。
結(jié)論
本文是對高級可擴(kuò)展接口(AXI)協(xié)議的基本介紹。我們查看了AMBA第三版中指定的舊版AXI。如前所述,您可以參考AMBA AXI協(xié)議v1.0(約一百頁),以更深入地了解AXI的第一個版本。隨著新版本的AXI(例如AXI4,AXI4-Lite和AXI4-Stream),AXI在AMBA版本4中看到了一些重大變化。
將來的AMBA文章將討論用于組件之間系統(tǒng)級緩存一致性的AXI4和ACE協(xié)議(AXI一致性擴(kuò)展)。AXI已成為現(xiàn)代SoC設(shè)計中廣泛使用的協(xié)議。在學(xué)習(xí)AXI時,更簡單的總線協(xié)議(如Avalon和Wishbone)將變得更加容易。
-
AXI總線
+關(guān)注
關(guān)注
0文章
66瀏覽量
14540
發(fā)布評論請先 登錄
RDMA簡介9之AXI 總線協(xié)議分析2
RDMA簡介8之AXI 總線協(xié)議分析1
NVMe IP之AXI4總線分析
NVMe簡介之AXI總線

NVMe協(xié)議簡介之AXI總線
一文詳解AXI DMA技術(shù)

一文詳解Video In to AXI4-Stream IP核

AXI 接口設(shè)計避坑指南:AXI接口筆記

ZYNQ基礎(chǔ)---AXI DMA使用

擴(kuò)展您的串口設(shè)備 EU104數(shù)據(jù)轉(zhuǎn)發(fā)芯片可獨立設(shè)置通訊速率和參數(shù) 將1個UART接口擴(kuò)展為4個
Xilinx NVMe AXI4主機(jī)控制器,AXI4接口高性能版本介紹

評論