一、功耗概念
1.Dynamic power
(1).switching power
(2).internal power
内部功耗:输入信号处于中间电压时,有个短时间的功耗,此时PMOS和NMOS都可以导电,此时
2.Static power(Leakage power)
三、低功耗方法
1.clock gating
时钟门控,对于选定的寄存器,如果某段时间保存的值不在改变。那么可以暂停其时钟信号。关闭时钟可以避免每个cycle都去重载寄存器。主要挑战是:使用在合适的地方、需要创建逻辑在恰当时间打开或关闭时钟。
2.使用格雷码编码手段。
3.直接降低供电电压(Supply Voltage Reduction)
但同样会降低开关速度,而且晶体管阈值电压也必须降低,带来抗噪能力(noise immunity),瞬开电流(crowbar currents),亚阈值漏电(subthreshold leakage)等问题
4.多电压域的标准单元(Multi—Vt Library Cells)
标准单元库可以提供具有不同阈值电压的标准单元来实现一个逻辑函数。
5. 多电压设计(Multi-Voltage Design)
不同chip上不同的部分可能有不同的速度需求。比如CPU和RAM需要比周边模块(peripheral block)工作的更快。那么CPU和RAM可以工作在高电压域,周边模块工作在低电压域。
当然多个电压域也带来一些复杂性和额外的开销。必须提供额外的设备引脚(device pins)来提供芯片电压,并且电网(power grid)必须将每个电压源分别分配到适当的模块。当逻辑信号(logic signal)从一个电压域到另一个电压域时,需要使用level-shifter cell。
如下图,高电压域到低电压域时插入了level-shifter(低到高使用得更多)。level-shifter cell需要两个电压供电,分别对应输入和输出的电压,如下图所示。
6.门控电压域(Power Gating)
Power gating是指某个时间段内chip内不使用的block可以完全掉电(shut down),使用是在上电。比如在手机待机时,语音功能相关的block可以掉电。
当然这种方法也会带来一些复杂性和额外开销。比如power gating需要引入power switch,isolation-cell,retention registers。
Power swich:多阈值CMOS(MTCMOS)技术的High-Vt晶体管用于功耗开关(power switch)。 比如下图,高压PMOS header switch放置在VDD和模块(需要掉电的block)的供电pin之间(supply pins)。高压NMOS footer switch放置在VSS和模块(需要掉电的block)的接地pin之间(ground pins)。当然下面这种是粗粒度的策略(coarse-grain strategy),因为power switch控制了整个block。而细粒度策略(fine-grain strategy)则是可能每个标准单元都有自己的power switch,但是这种策略需要更多面积。
7.动态(自适应)电压和频率调整(Dynamic/Adaptive Voltage and Frequency Scaling,DVS,DVFS,AVS,AVFS)
8.低电压待机(Low VDD standby)
0.6v低电压block是always on的,其他block都可以掉电。然后可以通过此block将其他block唤醒。
一.VCS nlp
vcs nlp(native low power)是vcs的low power仿真工具,用来仿真并debug 低功耗设计的bug。
vcs nlp仿真需要的文件:Design(Verilog/VHDL, RTL, gate-level netlist),UPF文件(Unified Power Format),验证平台文件(vcs nlp兼容常规验证流程中的验证平台,Testbench)
参考: VCS Native Low Power (NLP)User Guide.