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

NVMe協(xié)議簡介之AXI總線
NVMe控制器IP設計系列之接口轉(zhuǎn)換模塊

一文詳解AXI DMA技術(shù)

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

AXI 接口設計避坑指南:AXI接口筆記

ZYNQ基礎---AXI DMA使用

評論