本文主要介紹Zynq UltraScale+ MPSoC系列器件的PS-PL之間互連的AXI總線接口。
Zynq MPSoC系列器件的AXI總線結構如下圖所示:
PS側可以使用PS-PL AXI接口調用PL側的硬件加速器等接口。這種互連屬于高帶寬、低延遲的連接方式。 Zynq MPSoC提供了12個PS-PL AXI端口,詳細如下表所示:
vivado里面也是12個PS-PL Interfaces可以使用。
這些PS-PL接口的主要特性如下:
High-performance AXI4 interface with FIFO support in the PS.
Selectable native PL data bus width support (32/64/128).
Independent read and write clocks.
Three interfaces support I/O coherency through the cache-coherentinterconnect (CCI).
System Memory Management Unit (SMMU) for PS bound transactions (virtual to physical address translation).
Dedicated low-latency path between the low-power domain (LPD) and PL.
Accelerator coherency port (ACP) interface for I/O coherency and allocation into the APU’s L2 cache.
AXI coherency extensions (ACE) interface for full coherency. Usable as ACE-Lite for I/O coherency.
32 bits for general-purpose input and 32 bits for output from the platformmanagement unit (PMU) for communication with the PL.
16 shared interrupts and four inter-processor interrupts.
Dedicated interfaces from the gigabit Ethernet controller (GEM) and the Display Port protocol.
Other PS-PL interfaces, such as extended MIO and PL clocks.
S_AXI_ACP_FPD接口實現了PS 和PL 之間的低延遲連接,通過這個128位的接口,PL端可以直接訪問APU的L1和L2 cache,以及DDR內存區(qū)域。故PL側可以直接從cache中拿到APU的計算結果,同時也可以第一時間將邏輯加速運算的結果送至APU。
5
ACE(AXI一致性擴展)協(xié)議擴展了AXI4協(xié)議,并支持硬件一致性緩存。S_AXI_ACE_FPD使用《AMBA AXI and ACE Protocol Specification》中描述的ACE協(xié)議。S_AXI_ACE_FPD是一個PL作為master與PS中的CCI-400相連的接口。它能夠支持PS和PL中的硬件塊之間的完全一致性(雙向)。與AXI接口相比,ACE協(xié)議使用了五個額外的通道,三個通道用于監(jiān)聽,兩個用于應答。此接口允許PL將其緩存存儲在FPGA的專用存儲資源或邏輯結構中。然后,可以使用ACE接口與PS中的其他相干主機和PL中的相干主機保持一致。尤其是APU可以監(jiān)聽PL緩存(使用S_AXI_ACP_FPD接口這是不可能實現的)。由于S_AXI-ACE-FPD端口直接連接到CCI-400總線上,而不會通過SMMU,因此,它無法利用PS中的物理和虛擬地址映射。
MPSoC有六個PL側高性能(HP)AXI主接口連接到PS側的FPD(PL-FPD AXI Masters),可以訪問PS側的所有從設備。這些高帶寬的接口主要用于訪問DDR內存。有四個HP AXI主設備接口表示為S_AXI_HPn_FPD,兩個高性能一致性(HPC)AXI主設備接口表示為S_AXI_HPCn_FPD。
每個S_AXI_HPn_FPD接口都通過幾個AMBA switch連接到DDR內存控制器。它們之間的特性如下:
S_AXI_HP0_FPD-此接口與PL側的DP口共享其在DDR內存控制器上的端口,這些接口連接到DDR內存控制器的端口3。
S_AXI_HP{1,2}_FPD-這兩個端口共享DDR內存控制器的端口4,且能獨占該端口。這種獨占性提供了與DDR內存的高吞吐量、低延遲通信。
S_AXI_HP3_FPD-此接口與FPDMA控制器共享DDR內存控制器上的端口。
所有的六個HP AXI主接口都通過PS中的SMMU。SMMU能夠使用物理和虛擬地址轉換。這使得每個接口都支持與APU的虛擬化。
S_AXI_LPD是連接PL和LPD之間的一個高性能的AXI接口。它能夠低延遲地訪問OCM和TCMs。當FPD斷電時,這個接口特別有用,因為它仍然能夠為PL提供對LPD的高性能訪問。但是,由于互連的拓撲結構,這個端口與DDR控制器的的訪問延遲比較大。
在FPD和PL之間有兩個高性能通信接口,在LPD和PL之間有一個高性能通信接口,如下所示:
在FPD中,有兩個到PL的接口:M_AXI_HPM0_FPD和M_AXI_HPM1_FPD。這些接口適合于為PS中的FPD主機提供對PL中的存儲器的訪問,以便能夠傳輸大量數據。
在LPD中,有一個高性能從接口M_AXI_HM0_LPD。該接口適合于為PS中的LPD主機(例如LP-DMA)提供對PL中的存儲器的訪問,以便能夠傳輸大量數據。這個接口是低延遲的,可以在FPD關機時訪問。但由于路徑中有一個ID轉換器,APU無法訪問此接口。
下面是這十二個接口的一個簡單的比較:
下面提供一個簡單的選擇流程,詳細說明了使用Zynq MPSoC時選擇PS-PL AXI接口的方法。其中包括使用每個接口的一些好處,以及在選擇該接口時需要考慮的問題。
以上就是針對Zynq MPSoC的PS-PL AXI接口的簡單介紹,使用時可以參考相關文檔進行詳細了解。
審核編輯 :李倩
-
FPGA
+關注
關注
1629文章
21744瀏覽量
603655 -
總線接口
+關注
關注
0文章
83瀏覽量
30733
原文標題:FPGA系列之“Zynq MPSoC PS-PL AXI Interfaces”
文章出處:【微信號:zhuyandz,微信公眾號:FPGA之家】歡迎添加關注!文章轉載請注明出處。
發(fā)布評論請先 登錄
相關推薦
評論