天天看點

ZYNQ晶片AXI 協定和PL和PS接口互聯​​​​​​ AXI 協定PL和PS接口互聯

  • ​​​​​​ AXI 協定

Zynq可擴充平台的性能不僅在于PS與PL的功能強大,最大的優勢在于能把二者聯合起來使用以形成完整體系。其中,起到至關重要作用的就是通過AXI總線協定實作兩部分的緊密聯合。

在介紹AXI協定之前先介紹先進的微控制器總線結構(Advanced Microcontroller Bus Architecture,AMBA)。AMBA是一個開放标準,概述了如何在SoC中連接配接和管理不同的元件或塊[65]。AMBA規範由ARM開發,已經成為SoC中接口元件的實際标準。AMBA規範是為了解決SoC設計中的一些關鍵問題而開發的。其中之一是解決快速開發的需求,這意味着如果使用AMBA,可以確定從一開始就有一個連貫的設計,進而減少昂貴的重新設計的費用。在2.0改進版中,AMBA為了更好的促進片上通信描述了三種不同的總線,有進階高性能總線(Advanced High Performance Bus,AHB)、進階系統總線(Advanced System Bus ,ASB)和進階外圍總線(Advanced Peripheral Bus,APB)。

最終,由于AHB達到了性能極限,到2003年ARM已經釋出了新一代AMBA協定。在3.0改進版中引入了AXI協定,AXI代表進階可擴充接口(Advanced Extensible Interface,AXI),通過點對點連接配接方案實作的性能比AHB更好。與系統總線不同,AXI互連隻允許使用幾個定義良好的接口在主從之間進行事務處理,如圖4. 5所示。

ZYNQ晶片AXI 協定和PL和PS接口互聯​​​​​​ AXI 協定PL和PS接口互聯

圖4. 5 AXI協定的接口與互聯

Fig4. 5 AXI protocols for interfaces and interconnections

AXI協定目前的最新版本是AXI4.0,并且包含三種不同的子協定:

  1. AXI接口與協定

高性能接口協定,适合寄存器映射資料傳輸的需求,支援位址階段最高可以達256個資料位的傳輸。主要用于CPU通路寄存器等需要高速資料互動的場景使用。

  1. AXI-Lite接口協定

簡單化,低流量的位址映射接口協定,對于資料批量傳輸不支援,僅僅支援存儲器映射的單次資料通信。因較低的速率傳輸,用于通路速度低的外設。

  1. AXI-Stream接口協定

AXI4-Stream協定用于主要關注以資料為中心和資料流範式的應用程式,這些應用程式不存在或不需要位址的概念。每個AXI4-Stream充當握手資料流的單一單向通道。在資料流應用程式中,AXI-Stream IP可以更好地優化性能,但也趨向于更加專門化在給定的應用程式空間中[66]。

ZYNQ晶片AXI 協定和PL和PS接口互聯​​​​​​ AXI 協定PL和PS接口互聯

Fig4. 6 AXI protocols read data architecture

圖4. 6 AXI協定讀資料架構

       圖4. 6顯示了AXI協定讀資料架構,讀操作順序為主與從進行讀位址通道握手并傳輸位址内容,然後在讀資料通道握手并傳輸所讀内容以及讀取操作的回應,時鐘上升沿有效。

圖4. 7顯示了AXI協定寫資料架構,通過寫位址通道傳輸位址和控制資訊,其中位址和控制資訊在寫入資料之前從主機傳遞給從機。與讀資料架構不同的是,在每次批量資料寫入完成後,從機會發出一個響應信号,向主機表明寫操作完成。

AXI4協定為讀寫提供獨立的資料和位址連接配接,允許同時進行雙向資料傳輸。在突發傳輸模式下給一個首位址可以一次性傳輸高達256個資料。

ZYNQ晶片AXI 協定和PL和PS接口互聯​​​​​​ AXI 協定PL和PS接口互聯

圖4. 7 AXI協定寫資料架構

Fig4. 7 AXI protocols write data architecture

  • PL和PS接口互聯

在ZYNQ平台上,PL與PS的互動主要通過AXI通道進行點對點通信位址、資料和響應事務。AXI接口主要包含三種資料通路:AXI_HP(High Performance)、AXI_GP(General Purpose)、AXI_ACP(Accelerator Coherency Port)。毎種資料傳輸接口所能通路的裝置和傳輸速率都有很大的差異。

  • AXI_HP接口

AXI_HP接口為PL總線主機提供DDR和片上記憶體的高帶寬資料傳輸路徑。每個高速接口都包含兩個FIFO緩沖區,用于讀寫通信流。PL到記憶體互連将高速AXI_HP端口和到兩個DDR記憶體端口或OCM進行連接配接。AXI_HP接口也被引用為AFI (AXI FIFO接口),以強調它們的緩沖能力。

  • AXI_GP接口

AXI通用傳輸接口,資料總線寬度為32-bit,主端口的事務傳輸能力為8個讀端口和8個寫端口。AXI_GP接口僅用于通用目的,并不用于實作高性能。

  • AXI_ACP接口

AXI加速器一緻性端口提供低延遲通路可程式設計邏輯主機,L1和L2緩存可以和的一緻性端口相連接配接。

       表4.1總結了PS和PL各種接口的理論帶寬和數量等資訊。

表4.2 PS和 PL各種接口特性

Table 4.2  PS and PL various interface features

接口 類型 接口數量

接口寬度

/Bits

接口時鐘

/(MHz)

讀帶寬

(MB/s)

寫帶寬

(MB/s)

AXI_GP

AXI_GP

AXI_HP

AXI_ACP

DDR

OCM

主接口

從接口

從接口

從接口

外部儲存

内部儲存

2

2

4

1

1

1

32

32

64

64

32

64

150

150

15

150

1066

222

600

600

1200

1200

4264

1779

600

600

1200

1200

4264

177