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