引言
近來(lái),幾乎每個(gè)賽靈思 IP 都使用 AXI 接口。Zynq?、Zynq MP、MicroBlaze? 和全新的 Versal? 處理器都無(wú)一例外使用 AXI 接口。因此,AXI 接口已成為幾乎所有新的賽靈思器件設(shè)計(jì)中不可或缺的一部分。充分了解其基礎(chǔ)知識(shí)對(duì)于賽靈思器件的設(shè)計(jì)和調(diào)試都很有幫助。
本篇博文將介紹賽靈思器件上的 AXI3/AXI4 的相關(guān)基礎(chǔ)知識(shí)。首先,我們將從一些通俗易懂的知識(shí)、理論和術(shù)語(yǔ)開始講解。
何謂 AXI?
AXI表示Advanced eXtensibleInterface(高級(jí)可擴(kuò)展接口),它是由Arm定義的接口協(xié)議,包含在“高級(jí)微控制器總線架構(gòu)AMBA”標(biāo)準(zhǔn)中。
AXI3/AXI4規(guī)格可通過(guò)Arm網(wǎng)站免費(fèi)獲?。ㄦ溄樱?,因此如果您對(duì)其感興趣,我鼓勵(lì)您務(wù)必下載。
AXI4 接口 (AMBA 4.0) 分 3 種類型:
AXI4 (AXI4-Full):用于滿足高性能存儲(chǔ)器映射需求。
AXI4-Lite:用于簡(jiǎn)單的低吞吐量存儲(chǔ)器映射通信(例如,往來(lái)于狀態(tài)寄存器的通信)。
AXI4-Stream:用于高速流傳輸數(shù)據(jù)。
注:本文不涵蓋 AXI4-Stream 相關(guān)內(nèi)容。此處“AXI”表示 AXI3、AXI4 和 AXI4-Lite。
注:AXI3 接口與 Full AXI 接口接近。
AXI 讀寫通道
AXI 協(xié)議定義了 5 條通道:
其中 2 條用于讀取傳輸事務(wù)
讀地址
讀數(shù)據(jù)
另 3 條用于寫入傳輸事務(wù)
寫地址
寫數(shù)據(jù)
寫響應(yīng)
通道 (channel) 是與 VALID 和 READY 信號(hào)關(guān)聯(lián)的 AXI 信號(hào)的獨(dú)立集合。
注:AXI4/AXI3/AXI4-Lite 接口只能用于讀取(僅包含 2 條讀取通道)或者只能用于寫入(僅包含 3 條寫入通道)。
任一通道上發(fā)射的每一條數(shù)據(jù)都稱為一次傳輸 (transfer)。當(dāng) VALID 和 READY 信號(hào)均居高不下并且時(shí)鐘存在上升沿時(shí),就會(huì)發(fā)生傳輸。例如,在下圖中,在 T3 處正在發(fā)生傳輸:
AXI 讀取傳輸事務(wù)
AXI 讀傳輸事務(wù)需要在 2 條讀取信道上發(fā)生多次傳輸。
首先,地址讀通道 (Address Read Channel) 從主設(shè)備 (Master) 發(fā)送到從設(shè)備 (Slave),以便設(shè)置地址和部分控制信號(hào)。
然后,此地址的數(shù)據(jù)通過(guò)讀數(shù)據(jù)通道 (Read data channel) 從從設(shè)備發(fā)送到主設(shè)備。
請(qǐng)注意,根據(jù)下圖所示,每個(gè)地址中可發(fā)生多次數(shù)據(jù)傳輸。此類型的傳輸事務(wù)稱為突發(fā) (burst)。
AXI 寫入傳輸事務(wù)
AXI 寫入傳輸事務(wù)需要在 3 條讀取信道上存在多次傳輸。
首先,寫地址通道 (Address Write Channel) 從主設(shè)備發(fā)送到從設(shè)備,以便設(shè)置地址和部分控制信號(hào)。
然后,此地址的數(shù)據(jù)通過(guò)寫數(shù)據(jù)通道 (Write data channel) 從主設(shè)備發(fā)射到從設(shè)備。
最后,寫入響應(yīng)通過(guò)寫響應(yīng)通道 (Write Response Channel) 從從設(shè)備發(fā)送到主設(shè)備,以指示傳輸是否成功。
寫響應(yīng)通道 (Write Response Channel) 上可能的響應(yīng)值包括:
OKAY (0b00):正常訪問(wèn)成功。表示已成功完成正常訪問(wèn)
EXOKAY (0b01):專屬訪問(wèn)成功。
SLVERR (0b10):從設(shè)備錯(cuò)誤。已成功訪問(wèn)從設(shè)備,但從設(shè)備希望向發(fā)端主設(shè)備返回錯(cuò)誤條件(例如,數(shù)據(jù)讀取無(wú)效)。
DECERR (0b11):解碼器錯(cuò)誤。通常由互連組件生成,用于指示傳輸事務(wù)地址處沒(méi)有任何從設(shè)備
注:讀取傳輸事務(wù)同樣包含響應(yīng)值,但此響應(yīng)通過(guò)讀響應(yīng)通道 (Read Response Channel) 來(lái)發(fā)射
AXI4 接口要求
在 AXI4 規(guī)格中記錄了部分要求。
最值得注意的是:
斷言 VALID (AxVALID/xVALID) 信號(hào)時(shí),它必須保持處于已斷言狀態(tài)直至從設(shè)備發(fā)出 AxREADY/xREADY 斷言后出現(xiàn)上升時(shí)鐘沿為止。
發(fā)送信息的 AXI 接口的 VALID 信號(hào)不得從屬于接收該信息的 AXI 接口的 READY 信號(hào)。
但是,READY 信號(hào)的狀態(tài)可從屬于 VALID 信號(hào)
寫響應(yīng)必須始終位于所屬的寫入傳輸事務(wù)中最后一次寫入傳輸之后
讀數(shù)據(jù)必須始終位于數(shù)據(jù)相關(guān)的地址之后
從設(shè)備必須等待發(fā)出 ARVALID 和 ARREADY 斷言后,才能發(fā)出 RVALID 斷言以指示該有效數(shù)據(jù)可用
-
賽靈思
+關(guān)注
關(guān)注
33文章
1797瀏覽量
132259 -
AXI
+關(guān)注
關(guān)注
1文章
136瀏覽量
17195 -
AXI4
+關(guān)注
關(guān)注
0文章
20瀏覽量
9046
發(fā)布評(píng)論請(qǐng)先 登錄
AXI VIP設(shè)計(jì)示例 AXI接口傳輸分析
如何使用AXI VIP在AXI4(Full)主接口中執(zhí)行驗(yàn)證和查找錯(cuò)誤
看看在SpinalHDL中AXI4總線互聯(lián)IP的設(shè)計(jì)
AXI4接口協(xié)議的基礎(chǔ)知識(shí)

一文詳解ZYNQ中的DMA與AXI4總線

ZYNQ中DMA與AXI4總線

深入AXI4總線一握手機(jī)制

關(guān)于AXI4-Stream協(xié)議總結(jié)分享
AXI4 、 AXI4-Lite 、AXI4-Stream接口
AXI3與AXI4寫響應(yīng)的依賴區(qū)別?
AXI4協(xié)議五個(gè)不同通道的握手機(jī)制

FPGA AXI4協(xié)議學(xué)習(xí)筆記(二)

Xilinx FPGA AXI4總線(一)介紹【AXI4】【AXI4-Lite】【AXI-Stream】

SoC設(shè)計(jì)中總線協(xié)議AXI4與AXI3的主要區(qū)別詳解

評(píng)論