AXI總線協議


AXI總線協議

(一)、概述

AXI (高性能擴展總線接口,Advanced eXtensible Interface)是ARM AMBA 單片機總線系列中的一個協議,是計划用於高性能、高主頻的系統設計的。AXI 協議是被優化用於通過使用Xilinx 進行的相應的開發來做FPGA 實現,它被用作FPGA 設計的IP 核之間的一種通信方式。

關鍵特性

1、地址/控制階段和數據階段是分開的,即master(主機)和slave(從機)之間有專門的地址/控制通道,還有專門的數據通道。

2、有字節閘來實現對非對齊數據的傳輸。

3、只需發布起始地址就能做批量數據傳輸

4、數據的讀寫通道是分離的,可以用來實現低成本的DMA(直接存儲訪問,Direct Memory Access)。除了地址和數據通道是分離的之外,讀寫數據的通道還是分開的,由此可以看出AXI總線的高速性。

5、可以指定多個需要處理的地址。

6、通信會話可以亂序完成,主要是指的數據的亂序,亂序發送需要有主機的ID進行支撐。

7、為了實現時序收斂,可以方便的加入寄存器,即在用戶logic和user interface處加入想要觀察和處理的用戶邏輯與端口。

(二)、AXI總線類型

自從2003年AXI1.0版本發布以后,目前的AXI版本是4.0,AXI接口類型有三種,即AXI4類型、AXI4-Lite類型,AXI4-Stream類型。

AXI4類型:最高性能的接口,適合存儲器映射的通信,支持每個地址階段256個數據傳輸周期的批量傳輸,存在於PS-PL之間。

AXI4_Lite類型:AXI4接口類型中輕量級版本,用於存儲器映射的單次數據通信會話,簡化了的接口占用較少的邏輯部分面積,不支持批量數據,只支持每次傳輸單個數據,存在於PS-PL之間。

AXI4-Stream類型:沒有地址階段,不是存儲地址映射,僅僅存在與PL側,可以實現無限制的數據批量大小,為流式數據傳輸定義單個專用通道,連接只能是從主機到從機。為了實現雙向傳輸,兩個外圍設備都必須是主機/從機簡稱融類型。

(三)、AXI架構

AXI協議規定一個AXI主機可以用寫數據通道通過AXI總線互聯將數據傳送給一個AXI從機(或者通過讀取數據通道從從機傳送到主機),寫數據傳輸會話會有一個額外的響應通道,但是讀取時並沒有,這時考慮到數據的流向。在進行數據讀取時,數據流向:Slave to Master,從機可以直接通過讀數據通道向主機返回信息。在進行數據寫入時,數據流向:Master to Slave,數據流向是單向的,需要有一個專門的響應通道。

無論是度還是寫,地址和控制數據都是在數據的發送/接收之前:

 

 

 

特別注意AXI互聯(AXI Interconnect):

(1)、主機AXI從處理器系統和處理器時鍾各自流向從機輸出S00_AXI和S00_AXLK。

(2)、AXI互聯的輸出都是主機通道,每個通道驅動對應的設備。

AXI-Lite代碼分析

(一)、RTL視圖

 

模塊輸入信號:

(1)、從機時鍾

(2)、從機復位

(3)、從機地址讀取有效

 

 

AXI4-Stream協議

一、協議介紹

1、AXI4_Stream適用於高速數據流,去掉了地址項,允許無限制的數據突發傳輸。除了總線時鍾和總線復位,其他的接口信號都是以字母T開頭。

2、信號接口描述:

(1)、ACLK---------時鍾源-----全局時鍾信號,所有信號在主時鍾信號的上升沿采樣。

(2)、ARESETN------復位------低電平有效。

(3)、Tvalid-------主機數據有效信號,(區別AXI4、AXI4-Lite,AXI4_Stream去掉了地址項),由主機發出,高速從機發出的數據有效。源為master。

(4)、Tdata[31:0]--主機發出的數據,數據寬度可選,32/64/1278/256 bit。源位master。

(5)、Tkeep[3:0]---字節修飾符,用於表明Tdata相關字節的內容是否為有效數據,未被Tkeep位確認的字節為孔子傑,視為無關字節,可以從字節流中去除。源為master。

(6)、Tlast--------主機通知從機這時最后一個數據,即為數據包的邊界。源為master。

(7)、Tid---------由主機發出,Identity標識符,在存在多個stream數據傳輸時起作用,用於識別不同的數據流。源為master。

(8)、Tready------從機發出的接收准備好信號。

二、通信機制

  最重要的就是牢記只有 Tvalid & Tready == 1 時才能開始數據傳輸,Valid信號由數據傳輸源產生,Ready信號由目的源產生(來自米聯客book,這句話總結的太經典了,因為在其他的AXI4總線進行數據讀取時,主機也會產生Rready信號)。

   因為AXI4-stream去掉了地址線(依靠Tid進行數據流識別),不涉及數據的讀寫通信,僅涉及簡單的發送與接收,減少了傳輸延時。

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM