漏极阈值电压
扫描二维码
随时随地手机看文章
芯片设计进阶之路——门级优化和多阈值电压
低功耗深入理解(三)
在《芯片设计进阶之路——门控时钟》里面介绍了门控时钟。我们知道现在工具对门控时钟的支持已经十分成熟了,基本不需要我们设计上做任何改变,就能自动实现。
还有两种对设计影响小,而且比较成熟的低功耗技术是:
门级电路功耗优化
多阈值电压设计
这两种技术和门控时钟一样,已经被EDA工具支持的很好,基本不需要我们在设计上额外做任何工作,就能很好的实现。我们只需要了解他们的概念和基本原理就行了。
1 门级电路的功耗优化(Gate Level Power Optimization)
门级电路的功耗优化(Gate Level Power Optimization,简称GLPO)是从已经映射的门级网表开始,对设计进行功耗的优化以满足功耗的约束,同时设计保持其性能,即满足设计规则和时序的要求。功耗优化前的设计是已经映射到工艺库的电路,如下图所示:
门级电路的功耗优化包括了设计总功耗,动态功耗以及漏电功耗的优化。对设计做优化时,优化的优先次序如下:
从上到下,优先级逐渐降低。优化时,所产生的电路首先要满足设计规则的要求,然后满足延迟(时序)约束的要求,在满足时序性能要求的基础上,进行总功耗的优化,再进行动态功耗的优化和漏电功耗的优化,最后对面积进行优化。
优化时先满足更高级优先权的约束。进行低级优先权约束的优化不能以牺牲更高优先权的约束为代价。功耗的优化不能降低设计的时序。为了有效地进行功耗优化,需要设计中有正的时间冗余(timing slacks)。功耗的减少以时序路径的正时间冗余作为交换,即功耗优化时会减少时序路径上的正的时间冗余。因此,设计中正的时间冗余越多,就越有潜力降低功耗。
比如下面的例子:
在上图中,与门输出具有特别高的翻转率。因为它后面有一个NOR门,所以可以将两个门重新映射到一个AND-OR门加上一个反相器,这样高翻转的Net就变成了AND-OR内部的信号线了。现在就不需在AND门后接一个大电容来支持高翻转的输出,有效降低了动态功耗。
再看一个例子:
在上图中,左边多输入与门中,高翻转率的信号映射到了高功率输入引脚,低翻转信号映射到了低功率引脚。对于多输入门,不同引脚的输入电容可能差异很大——因此功率可能存在显著差异。通过重新映射,使高翻转信号映射到低功率输入端,可以降低动态功耗。
与时钟门控一样,门级功耗优化由EDA工具来实现,并且对于RTL设计人员是透明的。我们只需要了解这个概念,知道有这个优化就足够了。
2 多阈值电压设计(Multi-Threshold Logic)
多阈值电压指的是在工艺库中,同一种功能的门会有多种阈值电压的cell,这样在不同的逻辑里就能通过选择不同的阈值电压来降低静态功耗。
多阈值电压是用来降低静态功耗,也就是漏电功耗的。为什么多阈值电压技术可以降低漏电功耗呢?
这是基于下面两个结论:
1. 阈值电压VT越高,泄露功耗越小;
2. 阈值电压VT越高,门延时越大;
如下图所示:
一个更直观的图如下:(一个90nm库的数据)
可以看到,泄露功耗随着VT提高,呈指数级减少,有时LVT和HVT可以相差100倍。但是器件延时随VT增加却不是指数级的,但是还是VT越高,延时越大。
泄露功耗主要来源于亚阈值漏电流(Sub-threshold Leakage)引起的功耗(详细描述可以参考之前的文章)。一个比较好的计算公式如下:
W/L是晶体管的尺寸,Vth是热相关常量;Cox/Vth/W/L都是工艺相关,不可以调整。VGS就是VDD;
VT是阈值电压;可以看到,阈值电压越高,漏电功耗就越低。但是阈值电压越高,对应的翻转速度就会越慢,延时就会越大,性能就越差。
一般综合时,会先用HVT的cell去综合,然后在critical path上如果有timing不过,再用LVT去修。但是一般会限制LVT的数量,防止泄露功耗太大。因为亚阈值泄漏电流随温度呈指数增长(Vth)。即使在室温下的泄漏是可以接受的,在最坏的情况下,温度会超过芯片的设计目标。
后记
门控时钟,门级优化和多阈值电压技术已经是很常见,普遍使用的低功耗技术。现在工具和Flow已经能够很好的支持。但是作为设计人员,还是需要了解其基本原理,文中的描述已经足够大多数人的需求了。