AXI4交換機制
接口與互聯
一個典型的系統主要是由一個主設備和從設備連接組成的,它們通過某種形式的互連組合在一起,如圖4?29所示。
圖4?29 接口和互聯
AXI協議提供了一個單獨的接口定義來描述接口:
l主設備和互連之間
l從設備和互聯之間
l主設備和從設備之間。
上述接口定義使各種不同的互連易于表達。設備之間的互聯,與其他具有對稱的主端口和從端口設備一樣,可以連接真正的主設備和從設備。
大多數系統采用如下三種互連的方式之一:
l共享地址和數據總線
l共享地址總線和多個數據總線
l擁有多個地址和數據總線的多層互聯。
在大多數系統中,地址的通道的帶寬需求明顯小于數據通道帶寬的需求。這種系統能在系統運行和復雜度之間實現良好平衡,而復雜度主要由于使用共享地址總線和多個數據總線互聯方式去使能數據并行傳輸而導致的。
從上面可以看出,AXI 協議嚴格的講是一個點對點的主從接口協議,當多個外設需要互相交互數據時,我們需要加入一個 AXI Interconnect 模塊,也就是 AXI 互聯矩陣,作用是提供將一個或多個 AXI 主設備連接到一個或多個 AXI 從設備的一種交換機制(有點類似于交換機里面的交換矩陣)。這個 AXI Interconnect IP 核最多可以支持 16 個主設備、 16 個從設備,如果需要更多的接口,可以多加入幾個 IP 核。
AXI Interconnect 基本連接模式有以下幾種:
·N-to-1 Interconnect
·to-N Interconnect
·N-to-M Interconnect (Crossbar Mode)
·N-to-M Interconnect (Shared Access Mode)
圖4?30 多對一的情況
圖4?31 多對多讀寫地址通道
圖4?32 多對多讀寫數據通道
ZYNQ 內部的 AXI 接口設備就是通過互聯矩陣的的方式互聯起來的,既保證了傳輸數據的高效性,又保證了連接的靈活性。Xilinx 在 Vivado 里我們提供了實現這種互聯矩陣的 IP 核axi_interconnect,我們只要調用就可以。
圖4?33 Vivado中IP核
AXI 協議支持亂序交易。通過接口的每次交易,協議都會分配一個ID 標簽。協議要求相同ID 的交易按順序完成,而對不同ID的交易沒有順序限制,可以亂序完成。
亂序交易可以在兩個方面提高系統的性能:
互連設備在與具有快速響應能力的從設備和速度相對慢的從設備進行交易時,前者的交易優先后者完成。
復雜的從設備返回讀到的數據,此時的數據可能是亂序的。例如,較晚獲得的數據由于它被存放在內部緩沖器中,數據訪問要優先于早期獲得的數據。
如果一個主設備要求以交易開始時順序一樣的方式完成交易, 則那些交易要使用相同的ID 標簽。但是若主設備不要求按順序完成交易,則可以為不同的交易分配不同的ID,可以按任何順序完成交易。
在一個多主設備的系統中,互連設備負責給 ID 添加額外信息,以保證所有從主設備那里傳來的ID 標簽是唯一的。ID 就像一個主設備號碼,但通過擴展可以使得每個主設備可以實現多個虛擬主設備,在相同端口通過提供ID,指示虛擬主設備號碼。
雖然復雜的裝置可以利用亂序,但是簡單的裝置不要求使用。簡單的主設備可以為每個交易分配相同的ID,簡單的從設備可以按序響應交易,不用管ID。
-
AXI4
+關注
關注
0文章
20瀏覽量
8904 -
AXI4總線
+關注
關注
0文章
8瀏覽量
1395
原文標題:AXI總線詳解-AXI4交換機制
文章出處:【微信號:Open_FPGA,微信公眾號:OpenFPGA】歡迎添加關注!文章轉載請注明出處。
發布評論請先 登錄
相關推薦
評論