0、緒論
在 AMBA 系列之 AXI 總線協(xié)議初探 中,了解到 AXI 總線交互分為 Master / Slave 兩端,而且標(biāo)準(zhǔn)的 AXI 總線支持不同的位寬,既然是總線,那么必須要支持總線互聯(lián),多 Master,多 Slave的場(chǎng)景,在 AMBA AXI Specification 的 “AXI Architecture-》Interface and Interconnect ”章節(jié) 描述了 Interconnect 的含義;用于AXI總線互聯(lián),而且給出了一些基本的互聯(lián)拓?fù)浣Y(jié)構(gòu):
1、共享地址和數(shù)據(jù)總線
2、共享地址總線,多個(gè)數(shù)據(jù)總線
3、多個(gè)地址總線、多個(gè)數(shù)據(jù)總線
根據(jù)實(shí)際系統(tǒng)的需求,不同的交互速度和互聯(lián)復(fù)雜程度來(lái)折中選擇方案;
換句話來(lái)說(shuō),實(shí)際的工程中,一個(gè)(或者多個(gè))實(shí)際的主設(shè)備有 AXI Master 控制器,一個(gè)(或者多個(gè))從設(shè)備有 AXI Slave 控制器,他(們)之間通過(guò) Interconnect 作為橋梁,制定一套互聯(lián)的規(guī)矩(數(shù)據(jù)/地址總線等);我們可以把這個(gè) AXI Interconnect 理解為一個(gè)獨(dú)立的 IP Core 負(fù)責(zé)一些互聯(lián)的事務(wù);
Xilinx 定義了一套它的 AXI Interconnect IP,在 Xilinx 官方網(wǎng)站有對(duì)這個(gè) IP 的介紹:
https://china.xilinx.com/products/intellectual-property/axi_interconnect.。.
Xilinx 的 AXI Interconnect IP Core 核心,由 Product Guide 095 (PG095)來(lái)描述:
https://www.xilinx.com/support/documentation/ip_documentation/axi_interc.。.
Xilinx 的 AXI Interconnect IP 和 Vivado Design Suite捆綁,產(chǎn)品描述:
包含在Vivado 和 ISE 設(shè)計(jì)套件中,不收取額外費(fèi)用
AXI Interconnect IP 將一個(gè)或多個(gè) AXI 存儲(chǔ)器映射的主器件連接到一個(gè)或多個(gè)存儲(chǔ)器映射的從器件。AXI 接口符合 ARM? 的 AMBA? AXI 第 4 版規(guī)范,包括 AXI4-Lite 控制寄存器接口子集。Interconnect IP 僅用于存儲(chǔ)器映射傳輸;AXI4-Stream 傳輸不適用。AXI Interconnect IP 可作為嵌入式開(kāi)發(fā)套件 (EDK) 中 Vivado? IP 目錄中的處理器內(nèi)核使用,或者作為 CORE Generator? IP 目錄中的獨(dú)立內(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ù)位寬、時(shí)鐘域和 AXI Sub-protocol 進(jìn)行轉(zhuǎn)換。當(dāng)外部主設(shè)備或從設(shè)備的接口特性不同于互聯(lián)模塊內(nèi)部的crossbar switch的接口特色時(shí),相應(yīng)的基本模塊(Infrastructure cores)就會(huì)被自動(dòng)的引入來(lái)執(zhí)行正確的轉(zhuǎn)換;
支持的 Feature 如下:
AXI Crossbar:將一個(gè)或者多個(gè)相似的 AXI memory-mapped Master 設(shè)備連接到一個(gè)或者多個(gè)相似的AXI memory-mapped Slave 設(shè)備,也就是 Masters 和 Slaves 的互聯(lián);
AXI Data Width Converter:將一個(gè)AXI memory-mapped Master 連接到一個(gè)數(shù)據(jù)位寬不同的AXI memory-mapped Slave 設(shè)備;
AXI Clock Converter:將一個(gè) AXI memory-mapped Master 連接到一個(gè)不同時(shí)鐘域(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ù)
下面簡(jiǎn)單介紹一下一些部分
1、AXI Crossbar
每一個(gè)被實(shí)例化的 AXI Interconnect (互聯(lián)模塊)都包含一個(gè) AXI Crossbar,用于多個(gè) MI(Master Interface) 和 SI(Slave Interface) 的連接;
Crossbar 的 SI 可以被配置為 1 ~ 16 個(gè) SI Slots,最多接受來(lái)自 16 個(gè) Master 的傳輸,同樣,MI 可以被配置為 1 ~ 16 個(gè) MI Slots,最多與 16 個(gè) Slaves 進(jìn)行通信;
1.1、幾種可以選擇的 Crossbar 互聯(lián)結(jié)構(gòu)
1.1.1、Crossbar mode (Performance Optimized)
性能最優(yōu):
共享地址通道,獨(dú)立的多數(shù)據(jù)通道架構(gòu) (SAMD:Shared-Address, Multiple-Data);
并行 crossbar 讀和寫(xiě)通道,當(dāng)發(fā)生多讀寫(xiě)的時(shí)候,可以完全并行,互不干擾;
可以根據(jù)配置連接的映射來(lái)減少 crossbar 數(shù)據(jù)路徑進(jìn)而減少資源的使用;
共享的寫(xiě)地址仲裁器,加上一個(gè)共享的讀地址仲裁器,通常仲裁器并不會(huì)影響吞吐;
只有 AXI Crossbar 被配置為 AXI-4 或者 AXI-3 的時(shí)候,Crossbar mode 才有效;
1.1.2、Shared Access mode (Area optimized)
面積最優(yōu):
共享的寫(xiě)入數(shù)據(jù)、共享讀取數(shù)據(jù)和單獨(dú)的共享地址路徑;
一次傳輸僅支持一個(gè)事務(wù);
使用資源最小;
更多的描述詳見(jiàn)文章開(kāi)頭的 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 不同時(shí)鐘域
支持同步時(shí)鐘的比例轉(zhuǎn)換,(N:1 and 1:N),轉(zhuǎn)換的 N 是 2
支持異步時(shí)鐘轉(zhuǎn)換(比同步時(shí)鐘消耗更多的資源,和 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)針對(duì) AXI3 從器件時(shí),可通過(guò)分解事務(wù)處理內(nèi)容來(lái)轉(zhuǎn)換大于 16 拍的 AXI4 突發(fā)量
5、AXI Data FIFO
讀寫(xiě)通道獨(dú)立可配置
基于 32-深度的 LUT-RAM
基于 512-深度的 BRAM
6、小結(jié)
簡(jiǎn)單的描述了 Xilinx AXI Interconnect IP 的部分內(nèi)容,它的實(shí)現(xiàn)內(nèi)部需要集成 Arbiter 或者 Router 來(lái)進(jìn)行邏輯互聯(lián),官方的簡(jiǎn)要描述如下:
可選的互聯(lián)架構(gòu)
縱橫機(jī)模式(性能最優(yōu)化):共享地址多數(shù)據(jù) (SAMD) 縱橫機(jī)架構(gòu),具有面向?qū)懭牒妥x取數(shù)據(jù)通道的并行路徑
共享訪問(wèn)模式(面積最優(yōu)化):共享的寫(xiě)入數(shù)據(jù)、共享讀取數(shù)據(jù)和單獨(dú)的共享地址路徑。
AXI 兼容協(xié)議(AXI3、AXI4 和 AXI4-Lite)包括:
針對(duì)增量 (INCR) 突發(fā)量的長(zhǎng)達(dá) 256 的突發(fā)長(zhǎng)度
當(dāng)針對(duì) AXI3 從器件時(shí),可通過(guò)分解事務(wù)處理內(nèi)容來(lái)轉(zhuǎn)換大于 16 拍的 AXI4 突發(fā)量
生成 REGION 輸出,供有多個(gè)地址解碼范圍的從器件使用
在每條通道上傳播 USER 信號(hào)(如果有); 獨(dú)立的每通道 USER 信號(hào)寬度(可選)
傳播服務(wù)質(zhì)量 (QoS) 信號(hào)(如果有);不被 AXI Interconnect 內(nèi)核使用(可選)
接口數(shù)據(jù)寬度:
AXI4: 32、 64、 128、 256、 512、 或 1024 位
AXI4-Lite: 32 位
32 位地址寬度
連接 1-16 個(gè)主器件和 1-16 個(gè)從器件
內(nèi)置數(shù)據(jù)寬度轉(zhuǎn)換、同步/異步時(shí)鐘速率轉(zhuǎn)換和 AXI4-Lite/AXI3 協(xié)議轉(zhuǎn)換功能
可選的寄存器 slice 流水線和數(shù)據(jù)路徑 FIFO 緩沖
可選的數(shù)據(jù)包 FIFO 功能
時(shí)延發(fā)出 AWVALID 信號(hào),直到完整的突發(fā)量存儲(chǔ)在寫(xiě)數(shù)據(jù) FIFO 中為止
時(shí)延發(fā)出 ARVALID 信號(hào),直到讀數(shù)據(jù) FIFO 有足夠的空間存儲(chǔ)整個(gè)突發(fā)量長(zhǎng)度為止
在縱橫機(jī)模式下支持多種出色的事務(wù)處理功能
循環(huán)依賴(死鎖)的 “每 ID 單從器件” 避免法
固定優(yōu)先權(quán)和輪詢仲裁
支持整體針對(duì)每個(gè)已連接從器件的 “信任區(qū)” 安全功能
支持只讀和只寫(xiě)主器件和從器件,減少資源使用。
審核編輯:何安
-
AXI
+關(guān)注
關(guān)注
1文章
128瀏覽量
16667
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
評(píng)論