0、緒論
在 AMBA 系列之 AXI 總線協(xié)議初探 中,了解到 AXI 總線交互分為 Master / Slave 兩端,而且標(biāo)準(zhǔn)的 AXI 總線支持不同的位寬,既然是總線,那么必須要支持總線互聯(lián),多 Master,多 Slave的場景,在 AMBA AXI Specification 的 “AXI Architecture-》Interface and Interconnect ”章節(jié) 描述了 Interconnect 的含義;用于AXI總線互聯(lián),而且給出了一些基本的互聯(lián)拓?fù)浣Y(jié)構(gòu):
1、共享地址和數(shù)據(jù)總線
2、共享地址總線,多個數(shù)據(jù)總線
3、多個地址總線、多個數(shù)據(jù)總線
根據(jù)實際系統(tǒng)的需求,不同的交互速度和互聯(lián)復(fù)雜程度來折中選擇方案;
換句話來說,實際的工程中,一個(或者多個)實際的主設(shè)備有 AXI Master 控制器,一個(或者多個)從設(shè)備有 AXI Slave 控制器,他(們)之間通過 Interconnect 作為橋梁,制定一套互聯(lián)的規(guī)矩(數(shù)據(jù)/地址總線等);我們可以把這個 AXI Interconnect 理解為一個獨立的 IP Core 負(fù)責(zé)一些互聯(lián)的事務(wù);
Xilinx 定義了一套它的 AXI Interconnect IP,在 Xilinx 官方網(wǎng)站有對這個 IP 的介紹:
https://china.xilinx.com/products/intellectual-property/axi_interconnect.。.
Xilinx 的 AXI Interconnect IP Core 核心,由 Product Guide 095 (PG095)來描述:
https://www.xilinx.com/support/documentation/ip_documentation/axi_interc.。.
Xilinx 的 AXI Interconnect IP 和 Vivado Design Suite捆綁,產(chǎn)品描述:
包含在Vivado 和 ISE 設(shè)計套件中,不收取額外費用
AXI Interconnect IP 將一個或多個 AXI 存儲器映射的主器件連接到一個或多個存儲器映射的從器件。AXI 接口符合 ARM? 的 AMBA? AXI 第 4 版規(guī)范,包括 AXI4-Lite 控制寄存器接口子集。Interconnect IP 僅用于存儲器映射傳輸;AXI4-Stream 傳輸不適用。AXI Interconnect IP 可作為嵌入式開發(fā)套件 (EDK) 中 Vivado? IP 目錄中的處理器內(nèi)核使用,或者作為 CORE Generator? IP 目錄中的獨立內(nèi)核使用。
AXI4-Stream 互聯(lián)參考:《AXI4-Stream Infrastructure IP Suite LogiCORE IP Product Guide (PG085)》
Product Guide 095 (PG095)中具體描述了 AXI Interconnect 支持的功能:
AXI互聯(lián)IP核允許任意AXI主設(shè)備和AXI從設(shè)備的連接,可以根據(jù)數(shù)據(jù)位寬、時鐘域和 AXI Sub-protocol 進(jìn)行轉(zhuǎn)換。當(dāng)外部主設(shè)備或從設(shè)備的接口特性不同于互聯(lián)模塊內(nèi)部的crossbar switch的接口特色時,相應(yīng)的基本模塊(Infrastructure cores)就會被自動的引入來執(zhí)行正確的轉(zhuǎn)換;
支持的 Feature 如下:
AXI Crossbar:將一個或者多個相似的 AXI memory-mapped Master 設(shè)備連接到一個或者多個相似的AXI memory-mapped Slave 設(shè)備,也就是 Masters 和 Slaves 的互聯(lián);
AXI Data Width Converter:將一個AXI memory-mapped Master 連接到一個數(shù)據(jù)位寬不同的AXI memory-mapped Slave 設(shè)備;
AXI Clock Converter:將一個 AXI memory-mapped Master 連接到一個不同時鐘域(Clock domain)的 AXI memory-mapped Slave設(shè)備;
AXI Protocol Converter:將 AXI4、AXI3 或者 AXI4-Lite 協(xié)議的 Master 連接到不同 AXI 協(xié)議的內(nèi)存映射 Slave 設(shè)備;
AXI Data FIFO:在 AXI memory-mapped Master 和 Slave 之間增加一組 FIFO 的緩沖;
AXI Register Slice:在 AXI memory-mapped Master 和 Slave 之間增加一組流水線寄存器;
AXI MMU:為 AXI 提供地址段的 decoding and remapping 服務(wù)
下面簡單介紹一下一些部分
1、AXI Crossbar
每一個被實例化的 AXI Interconnect (互聯(lián)模塊)都包含一個 AXI Crossbar,用于多個 MI(Master Interface) 和 SI(Slave Interface) 的連接;
Crossbar 的 SI 可以被配置為 1 ~ 16 個 SI Slots,最多接受來自 16 個 Master 的傳輸,同樣,MI 可以被配置為 1 ~ 16 個 MI Slots,最多與 16 個 Slaves 進(jìn)行通信;
1.1、幾種可以選擇的 Crossbar 互聯(lián)結(jié)構(gòu)
1.1.1、Crossbar mode (Performance Optimized)
性能最優(yōu):
共享地址通道,獨立的多數(shù)據(jù)通道架構(gòu) (SAMD:Shared-Address, Multiple-Data);
并行 crossbar 讀和寫通道,當(dāng)發(fā)生多讀寫的時候,可以完全并行,互不干擾;
可以根據(jù)配置連接的映射來減少 crossbar 數(shù)據(jù)路徑進(jìn)而減少資源的使用;
共享的寫地址仲裁器,加上一個共享的讀地址仲裁器,通常仲裁器并不會影響吞吐;
只有 AXI Crossbar 被配置為 AXI-4 或者 AXI-3 的時候,Crossbar mode 才有效;
1.1.2、Shared Access mode (Area optimized)
面積最優(yōu):
共享的寫入數(shù)據(jù)、共享讀取數(shù)據(jù)和單獨的共享地址路徑;
一次傳輸僅支持一個事務(wù);
使用資源最?。?/p>
更多的描述詳見文章開頭的 PG095
2、AXI Data Width Converter
Master 和 Slave 端 Interface 不同數(shù)據(jù)位寬的轉(zhuǎn)換:
支持的 Slave Interface(SI) 數(shù)據(jù)位寬為:32, 64, 128, 256, 512 or 1,024 bits
支持的 Master Interface(MI) 數(shù)據(jù)位寬為:32, 64, 128, 256, 512 or 1,024 bits (must be different than SI data width)。
When upsizing, data is packed (merged) when permitted by address channel control signals (CACHE modifiable bit is asserted)。
When downsizing, burst transactions are split into multiple transactions if the maximum burst length would otherwise be exceeded
When upsizing, the IP core can optionally perform FIFO buffering and clock frequency conversion (synchronous or asynchronous) in a resource-efficient manner
3、AXI Clock Converter
Master 和 Slave 端 Interface 不同時鐘域
支持同步時鐘的比例轉(zhuǎn)換,(N:1 and 1:N),轉(zhuǎn)換的 N 是 2
支持異步時鐘轉(zhuǎn)換(比同步時鐘消耗更多的資源,和 latency)
4、AXI Protocol Converter
4.1、AXI4 or AXI3 to AXI4-Lite protocol
AXI-4 或者 AXI-3 轉(zhuǎn)到 AXI4-Lite 協(xié)議,burst 事務(wù)轉(zhuǎn)為 AXI4-Lite 的 Single-Beat 傳輸
4.2、AXI4 to AXI3 protocol
當(dāng)針對 AXI3 從器件時,可通過分解事務(wù)處理內(nèi)容來轉(zhuǎn)換大于 16 拍的 AXI4 突發(fā)量
5、AXI Data FIFO
讀寫通道獨立可配置
基于 32-深度的 LUT-RAM
基于 512-深度的 BRAM
6、小結(jié)
簡單的描述了 Xilinx AXI Interconnect IP 的部分內(nèi)容,它的實現(xiàn)內(nèi)部需要集成 Arbiter 或者 Router 來進(jìn)行邏輯互聯(lián),官方的簡要描述如下:
可選的互聯(lián)架構(gòu)
縱橫機(jī)模式(性能最優(yōu)化):共享地址多數(shù)據(jù) (SAMD) 縱橫機(jī)架構(gòu),具有面向?qū)懭牒妥x取數(shù)據(jù)通道的并行路徑
共享訪問模式(面積最優(yōu)化):共享的寫入數(shù)據(jù)、共享讀取數(shù)據(jù)和單獨的共享地址路徑。
AXI 兼容協(xié)議(AXI3、AXI4 和 AXI4-Lite)包括:
針對增量 (INCR) 突發(fā)量的長達(dá) 256 的突發(fā)長度
當(dāng)針對 AXI3 從器件時,可通過分解事務(wù)處理內(nèi)容來轉(zhuǎn)換大于 16 拍的 AXI4 突發(fā)量
生成 REGION 輸出,供有多個地址解碼范圍的從器件使用
在每條通道上傳播 USER 信號(如果有); 獨立的每通道 USER 信號寬度(可選)
傳播服務(wù)質(zhì)量 (QoS) 信號(如果有);不被 AXI Interconnect 內(nèi)核使用(可選)
接口數(shù)據(jù)寬度:
AXI4: 32、 64、 128、 256、 512、 或 1024 位
AXI4-Lite: 32 位
32 位地址寬度
連接 1-16 個主器件和 1-16 個從器件
內(nèi)置數(shù)據(jù)寬度轉(zhuǎn)換、同步/異步時鐘速率轉(zhuǎn)換和 AXI4-Lite/AXI3 協(xié)議轉(zhuǎn)換功能
可選的寄存器 slice 流水線和數(shù)據(jù)路徑 FIFO 緩沖
可選的數(shù)據(jù)包 FIFO 功能
時延發(fā)出 AWVALID 信號,直到完整的突發(fā)量存儲在寫數(shù)據(jù) FIFO 中為止
時延發(fā)出 ARVALID 信號,直到讀數(shù)據(jù) FIFO 有足夠的空間存儲整個突發(fā)量長度為止
在縱橫機(jī)模式下支持多種出色的事務(wù)處理功能
循環(huán)依賴(死鎖)的 “每 ID 單從器件” 避免法
固定優(yōu)先權(quán)和輪詢仲裁
支持整體針對每個已連接從器件的 “信任區(qū)” 安全功能
支持只讀和只寫主器件和從器件,減少資源使用。
審核編輯:何安
-
AXI
+關(guān)注
關(guān)注
1文章
142瀏覽量
17775
發(fā)布評論請先 登錄
利用蜂鳥E203搭建SoC【1】——AXI總線的配置與板級驗證
關(guān)于ICB總線的應(yīng)用
將e203 例化AXI總線接口
使用BLE(CYW20829)作為SPI slave和MCU(TC387)作為SPI master,調(diào)試SPI通信時遇到的問題求解
RDMA簡介9之AXI 總線協(xié)議分析2
RDMA簡介8之AXI 總線協(xié)議分析1
NVMe IP之AXI4總線分析
NVMe簡介之AXI總線
NVMe協(xié)議簡介之AXI總線
DLP3310模組里面為什么用了Master和Slave兩個3437片子驅(qū)動DMD?作用分別是什么?
使用ADS1258的內(nèi)部差分模式測量電阻兩端的電壓,測量值相差很多是為什么?
ZYNQ基礎(chǔ)---AXI DMA使用

AXI 總線交互分為 Master / Slave 兩端
評論