2020/5/21 12:54:06
人们对低功耗设备和设计技术的兴趣激增。通过回顾已提出的降低功耗的技术,深入了解低功耗设计中的一些基本权衡。设计的主要策略是以速度换取功耗,不浪费功耗,并找到一个较低的功耗问题。
文章通过定义功耗及其组成部分,总结降低功耗的若干种常用方案;并重点介绍如何用UPF把低功耗意图描述出来以及如何用Synopsys工具实现整个流程。
目前常用的低功耗设计的一些方法特别是用power-gating的方法来控制静态功耗以及UPF的实现方法,然后描述UPF在设计流程中的应用。
数字IC设计面临的挑战
制造工艺技术节点的发展比预期增加了更多的功耗。每一个新工艺都具有固有的更高的动态和漏电电流密度,并且在速度上的改进最小。低成本总是继续推动更高水平的集成,而保持功耗控制的低成本技术突破正变得非常稀缺。
消费者需要移动设备更多的功能和更长的电池寿命。4G/5G对运营商的最高要求是能效。这需要在高级工艺中进行高水平的硅集成,但高级工艺本身具有更高的泄漏电流。因此,有必要在降低泄漏电流以降低功耗方面下更大的功夫。
芯片功耗越大,产生的热量就越多,同时热噪声也越大,就会影响器件的正常工作,从而导致芯片无法正常工作。芯片设计阶段考虑低功耗设计,如果成功使功耗被控制在一定范围内,这样在封装的时候,可以考虑采用成本比较低的封装材料。然后在系统级,也就是芯片PCB板布局的时候,也会减少很多成本。
图1: 静态功耗与工艺特征尺寸的关系
功耗产生的原因
静态功耗是指信号电平没有翻转时所消耗的功耗。例如,当D触发器数据输入端和时钟输入端都没有变化时,D触发器所消耗的功耗(即,所有输入均为“静态”)。
数字IC设计中,如果选定的工艺中有几种阈值电压的lib文件,可以通过设置功耗约束和关断VDD的方式,使EDA工具软件在静态功耗、时序和面积中寻找一个折中的最佳方案。
动态功耗是输入处于活动状态时消耗的功耗。当输入有交流活动,电容充电和放电,导致功耗增加。动态功耗主要包括开关功耗和短路功耗。对负载电容进行充放电时消耗的功耗,称之为开关功耗。开关功耗(Switching Power)计算公式:Pswitching = n*fclock*VDD2*C,n是输出信号的爬升时间机率,VDD是供电电压,C是负载电容。
以一个普通CMOS反相器为例来说明,如图2所示。
图2: 动态功耗产生示意
在反相器中,电容通过PMOS晶体管充电,因此从电源中获得一些能量。部分能量在PMOS中耗散,部分能量储存在电容器上。此外,电平由高到低变化时,电容器被放电,储存的能量在NMOS器件中被耗散。在低到高的变化,负载电容被充电,从电源获取的能量为这个电容器充电。因此,CMOS门的开关功耗取决于电源电压、负载处连接门的电容和输入端开关频率。
当NMOS和PMOS晶体管都在一小段时间内处于工作状态时,就会发生短路功耗,在这段时间内,电流会从电源通路接地。因此,这就产生了短路电流。在一阶分析中,假设晶体管在过渡期间的上升/下降时间为0,且可以忽略短路功耗。然而,为了更精确地分析,将假定晶体管的过渡时间是有限的,因此在每次信号切换时都存在短路功耗。
在数字IC整个设计流程中可以通过改变工作电压,翻转率和负载电容来改善switch power,从而改善动态功耗。
低功耗设计的常用方法
通过分析功耗产生的原因,可以判断降低功耗受到很多约束,需要在各个要素之间反复衡量。数字IC低功耗的设计应该从顶层到底层各个阶段进行优化,如工艺级低功耗技术、电路级低功耗技术、RTL级(寄存器传输级)低功耗技术、系统级低功耗技术、算法级低功耗技术等。
■ 工艺级低功耗技术
代工厂可以通过提供多阈值电压工艺MTCMOS和变阈值电压工艺VTCMOS来降低功耗。MTCMOS电路处于待机模式时,它被用于低压应用。相比CMOS逻辑电路,采用一个NMOS和一个阈值电压不同PMOS晶体管搭建而成。CMOS逻辑电路采用低阈值设计,保证了电路的速度和性能。VTCMOS利用基极偏压效应来降低功耗。
■ 电路级低功耗技术在电路中降低功耗的方法之一是减少总线上的数据翻转次数,而总线逆变编码是一种广泛应用的技术。而ShiftInv编码又优于总线逆变编码技术。仿真结果表明,与使用总线逆变编码相比,转换次数大大减少。
高速电路设计中为了更高的性能采用Domino逻辑电路。domino逻辑的更高性能是以更高的功耗为代价的。domino电路中的开关活动平均是CMOS电路的两倍。这导致更高的功耗,即使开关电容较低。
■ 寄存器传输级(RTL)低功耗技术
当毛刺(glitch)通过一个组合逻辑块传播时,它们会成倍增加,并占据20%到70%的信号转换。在布尔设计中,增加驱动和门级吸收被用来减少故障。可以使用锁存器或RS触发器来消除机械设备切换时产生的信号反弹或噪声。
■ 系统级低功耗技术系统级低功耗技术主要有门控技术,异步电路等。
时钟门控是在数字IC设计中用于降低功耗的一种常用技术。大多数最新的技术库包括时钟门控单元,实现工具可以使用这些单元执行时钟门控单元的自动插入操作,以减少相当大的动态功耗。
使用异步设计方法,IP与互连总线完全解耦。这使得在现有同步系统中集成异步通信成为可能。异步通信不需要大量的时钟树上的驱动单元,这节省了相当多的功耗,对于使用电池供电的手持设备来说是非常重要的。但是异步设计在借助EDA工具软件做时序收敛的时候会受到很大挑战。
■ 算法级低功耗技术
现在很多的应用都需要高效快速的数据处理。数据处理就离不开基本的加减乘除运算。比如乘法是大多数信号处理算法的基本运算。乘法器具有面积大、延时长、功耗大等特点。因此,低功耗乘法器的设计一直是低功耗数字IC设计的重要组成部分。
工作区域编码(WZE)通过编码外部地址总线来降低功耗。该方法基于这样的假设:程序在每一时刻都偏爱其地址空间的几个工作区域。在这种情况下,该方法标识这些区域,并通过总线仅发送此引用相对于该区域的前一个引用的偏移量,以及当前工作区域的标识符。这与偏移量的单热编码相结合。
结 论
本文介绍了芯片设计上的低功耗设计技术及功耗的起源和组成,以及几种常用的低功耗设计。除了在硬件上进行功耗优化,人们也在从软件角度来进行降低功耗的努力。最明显的例子就是操作系统级里的电源管理,把不在运行的程序和App放置在休眠状态(sleep mode)。除此之外,人们也在探索在编译器里加入功耗优化的功能,使得程序和App在运行中也可以达到功耗最低。可以预见,随着器件工艺,电路设计,系统集成,和软件开发的不断完善,低功耗设计也会在以上的各个方面不断发展进步。
声明:本网站部分文章转载自网络,转发仅为更大范围传播。 转载文章版权归原作者所有,如有异议,请联系我们修改或删除。联系邮箱:viviz@actintl.com.hk, 电话:0755-25988573