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