Zynq UltraScale+MPSoC是Xilinx第二代Zynq平台,它将强大的PS和用户的PL结合到同一个芯片中。PS采用了Arm Cortex-A53 64位四核/双核处理器和Cortex-R5F双核实时处理器。除Zynq-7000 SoC芯片提供的成本和集成优势外,Zynq UltraScale+MPSoC还提供了以下新功能和优势。
(1)对于功耗和性能扩展的可扩展PS。
(2)低功耗运行模式和休眠模式。
(3)灵活的用户可编程电源和性能扩展。
(4)具有芯片和用户安全支持的高级配置系统。
(5)扩展的连接支持,包括PS中的PCIe、SATA和USB 3.0。
(6)PS中带有GPU和显示端口(Display Port,DP)的高级用户接口。
(7)增加了DRAM和PS-PL的带宽。
(8)使用Arm高级QoS管理器改善内存流量。
(9)提高了安全性和可靠性。
Zynq UltraScale+MPSoC产品主要有CG、EG和EV三个系列。
1.CG系列
Zynq UltraScale+MPSoC中的CG系列芯片型号和功能如表1.12所示。
表1.12 Zynq UltraScale+MPSoC中的CG系列芯片型号和功能
续表
2.EG系列
Zynq UltraScale+MPSoC中的EG系列芯片型号和功能如表1.13所示。
表1.13 Zynq UltraScale+MPSoC中的EG系列芯片型号和功能
续表
3.EV系列
Zynq UltraScale+MPSoC中的EV系列芯片型号和功能如表1.14所示。
表1.14 Zynq UltraScale+MPSoC中的EV系列芯片型号和功能
续表
Zynq UltraScale+MPSoC的内部结构如图1.9所示。
图1.9 Zynq UltraScale+MPSoC的内部结构
1.PS的结构
由图1.9可知,PS主要有4个处理单元。
(1)Cortex-A53应用处理单元(Application Processing Unit,APU):基于Armv8架构的64位四核或双核多核处理器,如图1.10所示。
图1.10 Zynq UltraScale+MPSoC中的多核Cortex-A53的结构
它有以下功能。
①支持AArch32和AArch64执行状态。
②支持每个执行状态中的所有异常级(EL0、EL1、EL2和EL3)。
③支持Armv8-A指令集,包括高级SIMD、VFPv4浮点扩展和加密扩展。
④具有单独的32KB L1高速缓存,用于存储指令和数据。
⑤具有两级(系统管理程序和客户级)存储器管理单元(Memory Management Unit,MMU)。
⑥CPU包含一个有序的8级流水线,具有大多数指令的对称双发射能力。
⑦具有在CCI一致性区域中的1MB L2高速缓存(L2 Cache 1MB)。
⑧具有加速器一致性端口(Accelerator Coherency Port,ACP)。
⑨具有到CCI的128位AXI一致性扩展(AXI Coherency Extension,ACE)主接口。
⑩支持Armv8调试架构。
⑪支持可配置的端。
⑫支持硬件虚拟化,使多个软件环境及应用程序能够同时访问系统功能。
⑬硬件加速加密性能是软件加密性能的3~10倍。
⑭具有大物理地址范围,使处理器能够访问容量超过4GB的物理存储器。
⑮应用TrustZone技术,可确保安全应用程序的可靠实现。
(2)Cortex-R5F实时处理单元(Real-time Processing Unit,RPU):基于Armv7架构的32位实时处理单元,具有专用紧耦合存储器(Tightly Coupled Memory,TCM),如图1.11所示。
图1.11 Zynq UltraScale+MPSoC中的双核Cortex-R5结构
它有以下功能。
①实现Armv7-R指令集。
②带有VFPv3指令的单精度和双精度FPU。
③具有Armv7-R架构存储器保护单元(Memory Protection Unit,MPU)。
④具有64位主AXI3接口,用于访问存储器和共享外设。
⑤具有64位从AXI3接口,用于DMA访问TCM。
⑥包含全局历史缓冲区和4个入口返回堆栈的动态分支预测。
⑦具有单独的128KB TCM存储器组,每个TCM都有ECC保护。
⑧带有ECC保护的32KB指令和数据L1高速缓存。
⑨具有独立的Cortex-R5F处理器或双冗余配置。
⑩具有每个处理器上的32位高级可扩展接口规范的外设接口,用于直接访问中断控制器的低延迟器件存储器类型。
⑪调试APB接口到CoreSight调试访问端口(Debug Access Port,DAP)。
⑫支持低中断延迟和不可屏蔽快速中断。
⑬具有性能监视单元(Performance Monitoring Unit,PMU)。
⑭支持异常处理和存储器保护。
⑮支持在L1存储器上的ECC检测/纠正。
⑯锁步(冗余)CPU配置可用于缓解CPU寄存器和门中的随机故障。
⑰内建自测试(Built In Self Test,BIST),用于检测硬件中(可能)由永久失败引起的随机故障。
⑱具有看门狗定时器,用于检测导致程序流错误的系统性和随机性故障。
(3)Mail-400图形处理单元(Graphic Processing Unit,GPU):具有像素和几何处理器,以及64KB L2高速缓存(在EG和EV MPSoC芯片中可用),如图1.12所示,其组成如下。
①一个几何处理器(Geometry Processor,GP)。
②两个像素处理器(Pixel Processor,PP)。
③共享64KB L2高速缓存控制器。
④GP和每个PP的单独存储器管理单元(Memory Management Unit,MMU)。
⑤128位AXI主总线接口。
图1.12 Arm Mali-400 GPU的结构
GPU元件实现的功能如下。
①支持OpenGL ES 1.1和2.0(带软件支持)。
②支持OpenVG 1.1(带软件支持)。
③拥有SIMD引擎功能。
④遵循32位浮点运算符合IEEE标准(IEEE Std 754)。
⑤4路32位同步指令执行。
⑥具有顶点加载器DMA单元。
⑦具有高数据延迟容忍度。
⑧高级4X和16X倍抗混叠。
⑨纹理大小高达4096×4096(单位为像素)。
⑩支持爱立信纹理压缩(Ericsson Texture Compression,ETC),可降低存储器带宽。
⑪具有本地高速缓存,用于降低存储器带宽。
⑫具有广泛的纹理格式:RGBA 8888、565、1556,Mono 8和Mono 16,YUV格式。
⑬具有图形着色器引擎之间的自动负载平衡。
⑭支持一级虚拟地址转换。
(4)视频控制单元(Video Control Unit,VCU):视频压缩、解压缩和处理(可在EV MPSoC芯片中使用)。
2.PL的结构
PL中提供的主要资源如下。
(1)可配置的逻辑块(Configurable Logic Block,CLB),包括LUT、触发器(Flip-Flop)和级联的加法器。
(2)36KB块RAM(Block RAM,BRAM),可实现为真正双端口、最多72位数据宽度,以及可配置为两个18KB模式。
(3)UltraRAM,可实现为288KB双端口、72位数据宽度,具有检错和纠错功能。
(4)DSP块,实现27位×18位有符号乘法、48位加法器/累加器和27位预加法器。
(5)可编程的I/O块,支持LVCMOS、LVDS和SSTL、支持1V到3.3V的I/O,以及可编程的I/O延迟和串行化器/解串行化器。
(6)JTAG边界扫描,符合IEEE Std 1149.1测试接口标准。
(7)PCIe,支持根复杂和端点配置、支持最高Gen3速度、最多支持5个集成的PCIe模块。
(8)100Gbit/s以太网MAC/PCS,符合IEEE Std 802.3、CAUI-10(10×10.3125Gbit/s)或CAUI-4(4×25.78125Gbit/s)、CAUI4配置中的RESFEC(IEEE Std 802.3bj),最多支持4个集成块。
(9)Interlaken,兼容Interlaken规范1.2、64/67编码、12×12.5Gbit/s或6×25Gbit/s,最多支持4个集成块。
(10)视频编码器/解码器,在EV系列芯片中可用、可以从PS或PL访问、同步编码和解码、支持H.264和H.265。
(11)系统监控器,片上电压和温度传感,包含最多17个外部输入的10位200KSPS ADC。
Zynq UltraScale+MPSoC有4个供电区域,包括低功耗区域(Low Power Domain,LPD)、完全供电区域(Full Power Domain,FPD)、PL供电区域(PL Power Domain,PLPD)和电池供电区域(Battery Power Domain,BPD),如图1.13所示。
(1)LPD主要由RPU、DMA(LP-DMA)、平台管理单元(Platform Management Unit,PMU)、配置安全单元(Configuration Security Unit,CSU)、低速I/O外设和SRAM接口构成。
(2)FPD主要由APU、DMA(FP-DMA)、GPU、动态存储器控制器(DDR Controller,DDRC)和高速I/O外设构成。
(3)BPD是Zynq UltraScale+MPSoC的最低功耗区域。在该模式下,除实时时钟(Real-Time Clock,RTC)和电池备份RAM(Battery Backed RAM,BBRAM)外,所有PS均关闭。
每个供电区域都可以单独隔离。LPD上的PMU便于隔离每个供电区域。此外,当相应供电区域的一个电源意外断电时,隔离功能自动打开。由于每个供电区域都可以单独隔离,因此功能隔离(安全和安保应用的一个重要方面)是可能的。
图1.13 Zynq UltraScale+MPSoC的供电区域
Zynq UltraScale+MPSoC PS-PL AXI接口说明如表1.15所示。
表1.15 Zynq UltraScale+MPSoC PS-PL AXI接口说明
续表