soc低功耗电路设计应用-Zynq MPSoC


以Zynq MPSoC 产品为例,介绍soc低功耗电路设计技术的应用。主要从硬件电路设计角度分析,后续再分析软件如何进行管理。Zynq MPSoC 器件不仅提供 64 位处理器可扩展性,同时还将实时控制与软硬件引擎相结合,支持图形、视频、波形与数据包处理。置于包含通用实时处理器和可编程逻辑的平台上,三个不同变体包括双应用处理器 (CG) 器件、四核应用处理器和 GPU (EG) 器件、以及视频编解码器 (EV) 器件, 为 5G 无线、下一代 ADAS 和工业物联网创造了无限可能性。

下图为Zynq MPSoC系统图。
在这里插入图片描述

在这里插入图片描述

电源管理

通过多电压域和电源门控技术实现低功耗。

多电源域

Zynq MPSoC主要有4个电源域:Low-power domain (LPD),Full-power domain (FPD),PL power domain (PLPD),Battery power domain (BPD)。每个电源域是单独隔离的,能够独立上电和下电。还包括一些IO电源域。
在这里插入图片描述

Low-power domain (LPD)主要包括R5实时处理器单元,PMU,CSU,USB0/1,OCM, RPU使用的外围等等。
Full-power domain (FPD)主要包括APU(A53)处理器单元,GPU,FPD DMA,DDR控制器,APU使用的外围等。
PL power domain (PLPD)包括PL结构,DSP,一些高速外围接口等。
Battery power domain (BPD)主要包括:RTC时钟,BBRAM,OSC等。

电源管理模式

提供了多种电源管理模式:battery-powered mode, low-power operation mode, and full-power operation mode。
battery-powered 模式
只有RTC和BBRAM工作,其它模块都断电。

low-power operation模式
LPD域上电,其它域下电,LPD域各器件处于工作状态,如果不工作时,为了省电可以关闭器件时钟或下电。
配置如下表:
在这里插入图片描述
full-power operation 模式
所有域上电,但各器件可以单独下电,如usb控制器。

Deep-Sleep模式
将suspend PS域,下表是Deep-Sleep模式一种配置,除了TCM,RTC,其它模块都进入挂起或下电状态。Sleep模式为了部分信息不丢失,可以对memory保持供电。例如,TCM或OCM保持供电,DDR进入self-refresh等。这样系统唤醒时能够快速回复到原来状态。
在这里插入图片描述

电源域上电下电

如下表为外部电源管理模块给芯片供电描述。PMU处理器负责管理各个模块的断电和上电,其他master(apu,rpu)可以向PMU请求某个电源域进行上电或下电,通过电源门控技术实现各个电源域独立断电和上电。
每个电源域的供电电压也不同,通过多电压域技术减少系统功耗。
在这里插入图片描述
在这里插入图片描述

PMU管理

PMU单元负责整个系统的电源管理,系统上下电,电源域上下电,睡眠,唤醒等流程。
系统中各个master可以向PMU请求某个电源域上电和下电,睡眠唤醒。
在这里插入图片描述

小结

从以上分析可以看出,Zynq MPSoC 器件实现了多电压技术和电源门控技术,通过软件配置不同寄存器可以实现不同电源域和不同器件的上电和下电,从而进行低功耗管理。

时钟和频率管理

时钟系统为为各个处理器,外围器件,互联器件以及其他逻辑单元提供时钟。系统中有5个系统PLL:I/O PLL,RPU PLL,APU PLL,VEDIEO PLL,DRR PLL。这5个system PLL有同一个电源VCC_PSPLL进行供电,经过分频后到达不同器件。
I/O PLL:为LPD域低速率外围器件和部分互联器件提供时钟。
RPU PLL:为RPU MPcore和部分互联器件提供时钟。
APU PLL:为APU MPcore和部分互联器件提供时钟。
VEDIEO PLL:为video I/O提供时钟。
DRR PLL: 为DDR控制器和部分互联器件提供时钟。
系统中每个器件都有独立的门控,都可以独立的关闭各个器件的时钟。

在这里插入图片描述

部分器件可以工作在不同的时钟频率,能够动态的切换工作频率。。
例如,APU可以工作在full时钟频率,也可以工作在half时钟频率。通过软件可以配置工作频率,如DVFS

在这里插入图片描述

总结

通过软件可以配置系统工作在不同电源模式,不同模式下也可以动态的对不同器件调整工作时钟频率和工作电压,或者通过门控关闭工作时钟,或者对器件进行断电。
改变时钟频率或工作电压:动态功耗管理
器件进行上下电:静态功耗+动态管理

参考:ug1085-zynq-ultrascale-trm
ug1137-zynq-ultrascale-mpsoc-swdev

  • 1
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
本书是使用Zynq MPSoC的开发人员的实用指南,同样也是希望熟悉器件及其相关设计方法的技术人员的有效参考。 Zynq MPSoC(多处理器片上系统)是Xilinx公司推出的第二代SoC系列产品,集成了复杂的处理系统,包括ARM Cortex-A53应用程序处理器和ARM Cortex-R5实时处理器,以及FPGA可编程逻辑。 来自苏格兰斯特拉斯克莱德大学(University of Strathclyde)的Louise Crockett团队基于这一平台的软件和硬件结构,撰写了Exploring Zynq MPSoC: With PYNQ and Machine Learning Applications,综合且全面地介绍了软件堆栈、多处理器处理系统以及可编程硬件阵列等问题。 程序员可以学会如何使用简单的软件界面和框架来快速实现他们的机器学习算法,系统设计师可以利用它来获取系统的最高性能。 内容导读 器件的架构 与Zynq7000相比,Zynq MPSoC 进一步整合了处理器系统中可选择的处理器数量和性能,最多可配备四个ARM Cortex-A53处理器内核和两个ARM Cortex-R5实时处理器内核。此外,该架构进一步拓展了可编程逻辑门阵列中的DSP切片和分布式存储器的规模。在开发当今新兴的AI应用程序时,全新的MPSoC架构将实现繁琐的算术计算和数据移动的过程变得十分轻松有趣。 设计工具和方法 SoC系统将包括硬件设计和软件设计两个方面。硬件设计会映射到SoC设备上的FPGA逻辑资源,而软件则运行在一个或多个系统内部署的处理器上。在此设计流程中,硬件和软件开发可以在很大程度上独立进行,然后整合。工程师使用他们选择的工具生成硬件系统的元素,并使用Xilinx Vivado开发环境实现系统集成和实现目标设备。软件开发人员可以使用Xilinx软件开发工具包(SDK)进行开发。这是传统的软硬件协同设计方法。 Xilinx的SDx开发环境则是一种更高级的开发方式。在Xilinx SDx工具中可以完全使用软件代码对整个系统进行描述,然后对各种计算进行资源分配(在用户指导下)。这使得面向软件的软硬件协同设计已经发生了相当大的转变。本书的第4章中更详细地讨论了关于SDx设计方法。 更先进的应用实现 本书还讨论了Zynq上许多应用程序的实现,包括FINN-R开源框架的有效性神经网络的实现、基于Python的Zynq设备框架和机器学习应用程序。我们可以预见到一些基于Zynq的更为优秀的产品,包括高级驾驶员辅助系统(ADAS),计算机视觉,“大数据”分析等。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值