IC数字后端知识角

低功耗设计基础:DVS, AVS和DVFS都是如何降低功耗的?

2022-05-07  本文已影响0人  飞奔的大虎

我们知道所有芯片在设计之初都需要规划好芯片的参数和应用场景,统称为芯片的spec。在spec中通常会定义一个或几个典型的应用场景以及它对应的工作条件如电压、频率和功耗上限等。因此绝大多数芯片的工作条件尤其是电压和频率在一开始就是比较固定的。然而在实际流片后,往往会出现不同芯片的最高频率不同的情况,最主要的原因相信很多人能猜到:process variation。一般来说这种variation会导致不同芯片达到相同性能所需要的电压也呈现正态分布,如下图所示:

这就导致有的芯片比目标频率低,可称为Weak Device;有的刚好达到目标频率,可称为Nominal Device;还有的可以达到比既定目标更高的频率,称为Strong Device。由于芯片功耗由以下公式可以算出:

其中C晶体管的电容值,f是信号的频率,V为工作电压,Pstatic则是静态功耗的总和。那么我们就可以看出来因为电压的平方与整体功耗成正比,因此降低工作电压对总体功耗的效果应该最为显著。当芯片的最高频率超出既定指标,那么想通过降低电压来保证性能不变的前提下获得更小的功耗就成了自然而然的想法。

既然要调整电压,就需要引入两个概念:DVS(Dynamic Voltage Scaling)和AVS(Adaptive Voltage Scaling)。它们的核心目的都是通过调节芯片整体或者部分power domain的电源电压来实现降低功耗的目的。所不同的是,DVS会选取一个或者几个电压-频率的对应点来固定调节电压,AVS可以更精确地在一定范围内自由调节电压数值。在降低功耗的效果上,根据德州仪器的公开实验数据,AVS最高可以减少60%以上的功耗:

讲到这里大家应该能明白DVFS代表什么了。DVFS的全称是Dynamic Voltage Frequency Scaling,是IC设计中降低动态功耗的比较常见的概念。它可以根据芯片的性能和功耗需求调整电压和频率,从而在各个不同的工作需求中都已最小的功耗实现需求。

在实现DVFS的过程中,需要一个输出电压控制器,一般来说叫做EMU(Energy Management Unit)。它在芯片中的基本逻辑结构如下:

在实际芯片工作过程中,EMU会根据不同的功耗需求输出不同的电压供给部分或者全部芯片的逻辑部分,从而在满足频率的前提下有效降低整体功耗。

另外,在芯片设计过程中,为了在不同电压和频率条件下满足时序需求,需要在多个coner和多个mode下做时序收敛,也就是通常所说的multi-mode multi-corner。这里的mode不仅仅是功能上区分的function,test等mode,还需要同一功能模式下不同电压的时序,因此采用这种设计的芯片会带来额外的timing signoff复杂度和工作量。

需要说明的是,DVFS调整电压和频率仍然是采用固定的几个数值来调节,而对应的还有AVFS(AdaptiveVoltage Frequency Scaling)尽管可以更精细地调节,但是在实际中应用却不多,原因在于AVFS会极大地增加timing signoff的难度,一方面很难用少数PVT条件去覆盖所有电压和频率的组合,另一方面想要增加PVT条件可能面临signoff corner过多或者时序库不全需要自己K库的问题。

总结来说,在实际应用中相较AVFS的方法,DVFS的应用更多。主要原因在于它可以在降低功耗和设计难度方面有一个较好的平衡。

——————————————————————

###看完请点个赞呗!赞是我继续更新的动力###

原文链接:数字后端设计芯讲堂

上一篇下一篇

猜你喜欢

热点阅读