本文主要介紹Zynq UltraScale+ MPSoC系列器件的PS-PL之間互連的AXI總線接口。
Zynq MPSoC系列器件的AXI總線結(jié)構(gòu)如下圖所示:
PS側(cè)可以使用PS-PL AXI接口調(diào)用PL側(cè)的硬件加速器等接口。這種互連屬于高帶寬、低延遲的連接方式。 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接口實現(xiàn)了PS 和PL 之間的低延遲連接,通過這個128位的接口,PL端可以直接訪問APU的L1和L2 cache,以及DDR內(nèi)存區(qū)域。故PL側(cè)可以直接從cache中拿到APU的計算結(jié)果,同時也可以第一時間將邏輯加速運算的結(jié)果送至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)聽,兩個用于應(yīng)答。此接口允許PL將其緩存存儲在FPGA的專用存儲資源或邏輯結(jié)構(gòu)中。然后,可以使用ACE接口與PS中的其他相干主機和PL中的相干主機保持一致。尤其是APU可以監(jiān)聽PL緩存(使用S_AXI_ACP_FPD接口這是不可能實現(xiàn)的)。由于S_AXI-ACE-FPD端口直接連接到CCI-400總線上,而不會通過SMMU,因此,它無法利用PS中的物理和虛擬地址映射。
MPSoC有六個PL側(cè)高性能(HP)AXI主接口連接到PS側(cè)的FPD(PL-FPD AXI Masters),可以訪問PS側(cè)的所有從設(shè)備。這些高帶寬的接口主要用于訪問DDR內(nèi)存。有四個HP AXI主設(shè)備接口表示為S_AXI_HPn_FPD,兩個高性能一致性(HPC)AXI主設(shè)備接口表示為S_AXI_HPCn_FPD。
每個S_AXI_HPn_FPD接口都通過幾個AMBA switch連接到DDR內(nèi)存控制器。它們之間的特性如下:
S_AXI_HP0_FPD-此接口與PL側(cè)的DP口共享其在DDR內(nèi)存控制器上的端口,這些接口連接到DDR內(nèi)存控制器的端口3。
S_AXI_HP{1,2}_FPD-這兩個端口共享DDR內(nèi)存控制器的端口4,且能獨占該端口。這種獨占性提供了與DDR內(nèi)存的高吞吐量、低延遲通信。
S_AXI_HP3_FPD-此接口與FPDMA控制器共享DDR內(nèi)存控制器上的端口。
所有的六個HP AXI主接口都通過PS中的SMMU。SMMU能夠使用物理和虛擬地址轉(zhuǎn)換。這使得每個接口都支持與APU的虛擬化。
S_AXI_LPD是連接PL和LPD之間的一個高性能的AXI接口。它能夠低延遲地訪問OCM和TCMs。當FPD斷電時,這個接口特別有用,因為它仍然能夠為PL提供對LPD的高性能訪問。但是,由于互連的拓撲結(jié)構(gòu),這個端口與DDR控制器的的訪問延遲比較大。
在FPD和PL之間有兩個高性能通信接口,在LPD和PL之間有一個高性能通信接口,如下所示:
在FPD中,有兩個到PL的接口:M_AXI_HPM0_FPD和M_AXI_HPM1_FPD。這些接口適合于為PS中的FPD主機提供對PL中的存儲器的訪問,以便能夠傳輸大量數(shù)據(jù)。
在LPD中,有一個高性能從接口M_AXI_HM0_LPD。該接口適合于為PS中的LPD主機(例如LP-DMA)提供對PL中的存儲器的訪問,以便能夠傳輸大量數(shù)據(jù)。這個接口是低延遲的,可以在FPD關(guān)機時訪問。但由于路徑中有一個ID轉(zhuǎn)換器,APU無法訪問此接口。
下面是這十二個接口的一個簡單的比較:
下面提供一個簡單的選擇流程,詳細說明了使用Zynq MPSoC時選擇PS-PL AXI接口的方法。其中包括使用每個接口的一些好處,以及在選擇該接口時需要考慮的問題。
以上就是針對Zynq MPSoC的PS-PL AXI接口的簡單介紹,使用時可以參考相關(guān)文檔進行詳細了解。
審核編輯 :李倩
-
FPGA
+關(guān)注
關(guān)注
1638文章
21877瀏覽量
610583 -
總線接口
+關(guān)注
關(guān)注
0文章
90瀏覽量
30961
原文標題:FPGA系列之“Zynq MPSoC PS-PL AXI Interfaces”
文章出處:【微信號:zhuyandz,微信公眾號:FPGA之家】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。
發(fā)布評論請先 登錄
相關(guān)推薦
【ZYNQ Ultrascale+ MPSOC FPGA教程】第二十九章PL端AXI GPIO的使用

【ZYNQ Ultrascale+ MPSOC FPGA教程】第三十二章PL讀寫PS端DDR數(shù)據(jù)

【FPGA ZYNQ Ultrascale+ MPSOC教程】33.BRAM實現(xiàn)PS與PL交互

ZYNQ7000系列 PS、PL、AXI 、啟動流程基本概念

ZYNQ PS + PL異構(gòu)多核案例開發(fā)手冊之1axi_gpio_led_demo案例

評論