[FPGA24]UltraScale+_功耗域_互联接口

UltraScale+的四大功耗域,PS与PL之间的互联接口

UltraScale+的四大功耗域

  • UltraScale+的每个电源域可以单独隔离。 LPD上的平台管理单元(PMU)有助于隔离每个电源域。此外,当相应电源域的电源之一意外掉电时,可以自动打开隔离。由于每个电源域都可以单独隔离,因此可以实现功能隔离(安全和安保应用程序的重要方面)。

电池功耗域(BPD)

  • 电池功耗域,Battery power domain (BPD)。用于保持实时时钟(RTC)和电池供电RAM的正常运行。为电池供电RAM供电时,功耗约180毫微瓦;启用RTC时,功耗达3毫瓦。

低功耗域(LPD)

  • 低功耗域,Low-power domain (LPD)。与实时处理单元RPU相关联,与OCM、PMU、CSU、Low-speed外设相关联。根据活动水平,功耗范围为20毫瓦到220毫瓦区间。

全功耗域(FPD)

  • 全功耗域,Full Power Domain (FPD)。与应用处理单元APU相关联,与图像处理单元GPU相关联,与DDR控制器、高性能外设如PCIE/USB3.0/DisplayPort/SATA相关联。根据活动水平,功耗可高达数瓦。由低功耗域切换到全功耗域的过程通常涉及启动或恢复APU上的OS(Linux)。

PL功耗域(PLPD)

  • PL功耗域,PL Power Domain (PLPD)。与逻辑单元、BRAM、DSP、IO、AMS、高速串行SerDes(GTH/GTY)、视频编解码器(Video Codec)、PCIE、UltraRAM、CMAC、Interlaken等相关联。

平台管理单元(PMU)

  • 平台管理单元,Platform Management Unit (PMU)。主要实现两个功能:
  1. 功能管理:在LPD里,PMU管理每个功耗域的隔离功能;
  2. 安全管理:隔离能在相应电源域的某个电源意外断电时自动打开。

PS与PL之间的互联接口

  • PS互连由多个Switch组成,这些Switch通过高级可扩展接口(AXI接口)点对点连接系统资源,用于master口和slave口之间传输地址、数据以及响应事务。ARM的AMBA 4.0 interconnect实现了用于QoS、调试和测试监测的完整的互连通信功能。

总体功能介绍

  • PS互连基于AXI HP数据通道交换机,有以下功能:
  1. 互连交换机是基于ARM NIC-400
  2. Cache一致性互连(CCI-400)
  3. 系统内存管理单元(SMMU)允许使用虚拟地址
  4. 两个电源域(FPD和LPD)的互连分离
  5. QoS服务支持更好的AXI事务处理
  6. AXI性能监测器(APM)能够收集事务指标
  7. AXI超时模块(ATB)挂载在互连上作为看门狗
  8. AXI隔离模块(AIB)负责将AXI/APB的主机和从机隔离,为它们的关闭行为做准备。

接口类型

  • PS和PL之间有以下接口:
  1. M_AXI_HPM0/1_FPD:低延迟的可以访问PL端AXI从口的AXI主口
  2. M_AXI_HPM0_LPD:低功耗域内可以访问PL端AXI从口的AXI主口
  3. S_AXI_HPC[0:1]_FPD和S_AXI_HP[0:3]_FPD:可以被PL端AXI主口访问的高性能AXI从口
  4. S_AXI_LDP:低功耗域内可以被PL端AXI主口访问的AXI从口
  5. S_AXI_ACE_FPD:可以被PL端AXI主口访问的双向AXI一致性扩展口
  6. S_AXI_ACP_FPD:可以被PL端AXI主口访问的缓存一致性加速从口

互连框图

  • PS与PL整体互连框图如下图所示:

具体功能介绍

FPD Main Switch

  • 128位的FPD主开关是FPD主机和LPD从机(包括OCM和TCM)的top互连中的一个开关。该开关的主要作用为:
  1. 提供到OCM的直接路径(绕过LPD互连),可以使延迟最小并提高FPD到OCM的吞吐量
  2. 提供了一个单独的路径来访问FPD主机的LPD外设寄存器。

Cache一致性互连

  • Cache一致性互连(CCI)将部分的interconnect和coherence功能合并成一个块。它提供了以下接口:
  1. 2个ACE从端口(用于完全一致性,上图的S3/S4)
  2. 3个ACE-lite从端口(用于I/O一致性,上图的S0/S1/S2)
  3. 2个ACE-lite主端口(用于DDR,上图的M1/M2)
  4. 1个ACE-lite主端口(用于非DDR内存映射访问,上图的M0)。
  5. 1个分布式虚拟内存消息接口(用于系统内存管理单元SMMU,上图的DVM)
  • 互连框图里显示了CCI端口连接,CCI寄存器是全局映射的,可以从LPD访问。

Full Coherency

  • 完全(双向)一致的主口可以监测彼此的缓存,为了在APU和PL之间共享更细粒度的数据,系统可以在PL中实现缓存,然后让APU监测PL缓存,同时PL也可以窥探APU的缓存。

I/O Coherency

  • I/O(单向)一致的主口可以通过CCI ACE-Lite从口监测APU缓存,当APU数据正在和I/O主口共享时,当APU缓存刷新时,可以避免实现额外的软件需求来实现一致性。
  • 所有的PS主口,包括RPU(不包括全功率DMA控制器、DisplayPort和S_AXI_HP{0:3}_FPD PS主口),都可以选择配置为I/O一致性。
  • PS中有两个DMA,一个位于LPD中,另一个位于FPD中。FPD DMA没有到CCI的物理通路,不支持I/O一致性。LPD DMA有一个通过CCI到DDR控制器的替代路径,这允许它被标记为I/O一致性。

ACP Coherency

  • PL的主口一样可以通过APU的ACP端口去监测APU缓存,ACP访问还能被用于分配L2缓存。

互连子模块

  • PS互连有以下子模块:
  1. Xilinx内存保护模块,Xilinx memory protection unit,XMPU:FPD,OCM和DDR。Xilinx内存保护模块(XMPU)为内存和FPD从口提供内存分片和TrustZone保护。
  2. Xilinx外设保护模块,Xilinx peripheral protection unit,XPPU。Xilinx外设保护模块(XPPU)提供LDP外设隔离和IPI保护功能。可以通过配置XXPU来允许1个或多个主口访问LDP外设。
  3. 系统内存管理模块,System memory management unit,SMMU。系统内存管理单元(SMMU)为从口提供保护服务,并为I/O主口提供地址转换以识别超出其实际寻址能力的空间。在缺乏内存隔离的情况下,I/O器件会破坏系统内存,SMMU会提供设备隔离来防止DMA攻击。SMMU由译码控制单元(TCU)和多个译码缓冲单元(TBUs)组成。
  4. AXI超时模块,AXI timeout block,ATB,挂载在互连上作为看门狗。AXI超时模块主要是为了确保互连不会因为没有响应而挂机卡死。该模块时刻监视跟踪着AXI上的事务,如果从口在设定的时间内不给主口响应,模块自身会产生一个响应给主口,防止互连因为等不到响应而挂死。超时模块的原理图如下,可以通过配置ATB_PRESCALE寄存器来设置超时值:
  5. AXI隔离模块,AXI and APB isolation block,AIB,负责将AXI/APB的主机和从机隔离,为它们的关闭行为做准备。AXI隔离模块(AIB)负责将AXI/APB的主机和从机隔离,为它们的关闭行为做准备。AIB在隔离过程中管理AXI和APB接口,从而实现上电向断电状态的平稳过渡。AIB功能透明易懂,在正常事务期间零延迟。
  6. PS-PL之间的AXI接口
  7. AXI性能监视器,AXI performance monitor,APM。AXI性能监控器(APM)在PS AXI互连的多个节点上收集实时事务度量指标来帮助系统软件分析实时活动。

参考:
UG1085-Zynq UltraScale+ Device Technical Reference Manual
《The Zynq Book-基于含有 ARM® Cortex®-A9 的 Xilinx® Zynq®-7000
全可编程片上系统的嵌入式处理器》