• 注册
  • 查看作者
  • 浅谈数字IC后端设计中低功耗设计的若干种方法

    随着工艺节点的不断发展(现在普遍是28nm,22nm,16nm,14nm,甚至有的都在做7nm),芯片的性能需求越来越高,规模也越来越大,数字IC设计工程师对芯片的功耗也越来越关心了,特别是移动端的消费类电子产品,对芯片的功耗要求特别高,一旦功耗太大,整个产品可能就是一个暖手宝,甚至整个芯片的性能会大大地打折扣,无法满足实际应用需求。关于芯片功耗太大,芯片性能下降的问题,后面另开一个专题介绍。

    芯片功耗分为动态功耗和静态功耗两大部分。

    动态功耗是电路在工作时(翻转时)所消耗的能量。对于CMOS电路来说,它又分为开关功耗和短路功耗。开关功耗为电路翻转时对负载电容充电的功耗,短路功耗为输入翻转时,PMOS和NMOS同时打开的瞬间电流形成的功耗。用公式描述可写为:

               Pdyn = (CL * Vdd2 * Ptran * F) + (ttran * Vdd * Ipeak * F)

    其中,CL为电路总负载电容;Vdd为工作电压;Ptran为工作电路所占比例;F为工作时钟频率;ttran为PMOS,NMOS同时导通时间;Ipeak为短路电流。

    公式中第一部分为开关功耗,第二部分为短路功耗。一般来说,只要gate的slew足够小,也就是ttran足够快,短路功耗一般可以忽略。

      从公式中可以看到降低动态功耗的思路,可以从Vdd、F、CL和降低gate翻转次数这几方面设计降低功耗的方案。由此会带来一系列架构设计、设计方法学、时序分析、数字后端实现等方面的需求,以及由于工艺的发展带来的一系列问题。在后续的文章中将会详细讨论这些内容。

    再来说说静态功耗。静态功耗是电路在没有翻转时,只有供电的情况下,晶体管中漏电流造成的功耗。根据重要性可以分为以下四个部分:

    1、 亚域值漏电流Isub: 从Drain经过弱反形层流向Source的电流

    2、 栅电流:Igate: 由于隧道效应和热载流子效应,由Gate经薄栅氧流向Sub的电流

    3、 由Gate引起的Drain电流IGIDL:由于Drain端的强电场引起的由Drain流向Sub的电流

    4、  结反偏电流Irev:反偏结耗尽区少子漂移和电子空穴对产生形成的由Drain、Source到Sub的电流。

      由于工艺尺寸降到90nm以下后,在Drain端会形成超强的反偏电场,而在Gate和Drain的overlap区域,Sub的参杂浓度偏大(为了防止punchthrough),在这里会容易发生band-band tunneling或者avalanche,因此会形成较大的Drain到Sub的漏电流。

      深亚微米下,Vdd降低,为了提高性能会同时降低管子Vt,而Isub和Vt是指数反比关系,会造成Isub急剧增大。45nm下Isub会是90nm下Isub的6.5倍。同时Isub也会随温度上升指数增加。

      90nm工艺下,栅氧厚度只有几个nm(几个原子的厚度),栅氧的隧穿电流Igate在90nm下可以达到Isub的1/3,在65nm下可以等于Isub电流。

     

    那么,在数字IC设计中,我们常见的降低功耗的方法有哪些呢?吾爱IC社区特地做了一个小归纳,方法如下:

    1.clock gating 门控时钟技术。众所周知,在数字IC设计中,时钟信号的翻转率是比较高的,因此它的功耗约占整个芯片功耗的20-30%。传统的设计方法是时钟信号一直是存活着的(常开),门控时钟技术就是根据设计,将暂时不用的模块的时钟信号通过一个控制信号gating住,降低这个模块的时钟信号翻转率,从而降低芯片功耗的一种技术。clock gating的加法也有很多,有在rtl级就例化进来的gating(往往是比较root的gating),也有综合阶段工具自动加进来的。从数字前端设计的角度,clock gating是想越靠近root端越好(因为一个gating可以控制更多的寄存器或者时钟单元),一旦将某个gating关掉,能够节省较多的功耗。因此,在数字后端实现过程中,经常会碰到到gating使能端E pin的setup比较难meet,主要原因是这类gating比较靠近root导致的。关于如何fix clock gating使能端的setup讲在后面做详细的分析。

    2.power gating 。在数字IC后端设计中,经常采用这个策略降低功耗。在后端实现过程中,加入MTCMOS来控制标准单元的开关。

    3.multi vt cells 。这个就是在数字IC后端设计实现过程中,将某些不是critical path的地方尽量用HVT或者RVT,降低leakage。当然这个需要与performance,area做一个tradeoff。因为用HVT或者RVT,由于timing不好meet,工具优化的比较困难,可能反而会导致面积越优化越大。

    4.DVFS技术。DVFS(Dynamic Voltage and Frequency Scaling)动态电压频率调节本质上是一种低功耗技术,目的是根据的芯片当时的实际功耗需要设定工作电压和时钟频率,这样可以保证提供的功率既满足要求又不会过剩,从而可以降低功耗。比如数字芯片中,CPU模块(比如8核cpu),在需要跑分的时候,将给cpu供电的电压通过软件调节到更高的电压(overdrive),获得一个更高的频率。在实际某个应用场景下,可能cpu只需要一个较低的频率时,可以将电压调节成一个较低的电压(underdrive)来实现。

    一味的降频降压当然是不能降低功耗的,因为低频下运行可能使系统处理任务的时长增加,从而整体上可能增加了功耗。所以DVFS的核心是动态调整的策略,其目的是根据当时的系统负载实时调整,从而提供满足当时性能要求的最低功率,也就达到了最低功耗。制定调整策略前,先找出系统中的耗电大户即CPU GPU这些模块。需要统计出这些模块的负载情况,基本的策略当然是工作负载增加则升频升压,工作负载降低则降频降压。

    5.well bias.这个方法可以动态调整偏置电压,从而实现降低功耗的目的。

     

     

     

     

     

  • 0
  • 0
  • 0
  • 754
  • 请登录之后再进行评论

    登录
  • 单栏布局 侧栏位置: