LPMM阅读笔记——第2章标准低功耗方法
《Low Power Methodology Manual For System-on-Chip Design》读书笔记
2 标准低功耗方法
这一章节主要介绍了4种低功耗技术,分别是clock gating, Gate Level Power Optimization, Multi-VDD和Multi-VT;下面分别对这几种方法进行介绍;
2.1 Clock Gating(时钟门控)
芯片的动态功耗主要来自时钟网络,超过50%甚至更多的动态功耗都被消耗在时钟树buf上,因为这些时钟的buf在系统中具有较高的翻转率,且驱动能力强;另外,当时钟在翻转时,即使触发器的输入/输出端保持不变,触发器也会消耗部分动态功耗。降低这种功耗最常见的方法是在不需要时钟的时候将其关掉,称这样的方法为时钟门控。
现在的设计工具都支持自动插入时钟门控而不会影响逻辑,其基本原理如下图 1所示:
图 1 时钟门控
上面的方法对于单bit的信号而言,可能体现不出多大的优势,但是对于多bit的信号而言,一个clock gating cell可以gate掉相应bit数的寄存器的时钟,插入时钟门控除了可以极大的降低电路的动态功耗外,还可以显著减小面积,因为一组寄存器的EN MUX被一个clock gate cell代替,同时,clock gate cell引入的delay会减少时钟树上的delay cell数量,书上举例说在作者参与的一个项目中插入clock gate后面积减少了20%,功耗降低了34%~43%;书中建议只对3bis及以上位宽的信号插入clock gate。
2.2 Gate Level Power Optimization(门极功耗优化)
与clock gate一样,门极功耗优化是由工具自动完成的,对于前端设计人员来说,不用关心细节,该方法的思想是将翻转率较高的信号在其传播路径的早期与翻转率较低的信号进行逻辑运算,以缩短较高翻转率信号的传播路径;将翻转率较高的信号接到逻辑门输入电容较低的端口;cell大小调整及buf插入等,示例如下:
图 2 门极功耗优化
图 2中上半部分电路中,与门输出的信号翻转率较高,由于后面跟一个或非门,所以将原电路进行重映射为一个与或门加一个反相器,使翻转率较高的网络成为器件的内部节点,映射后的电路中与门的输出电容更小,所以功耗更低。图7中下半部分电路中,通过优化,将高翻转率的信号接在逻辑门输入电容较低的端口,将翻转率较低的信号接在输入电容较高的端口。
这里书中提到的思想我可以理解并接受,但是我有个疑问:Gate Level Power Optimization是由工具自动完成的,那么对于“将翻转率较高的信号接到逻辑门输入电容较低的端口”这样的操作,工具是如何知道哪个输入端口的翻转率更高的?
2.3 Multi VDD(多电压域)
多电压域的基本思想就是在芯片中,根据不同模块的性能要求不同而采用不同的电源供电。如图 3所示的例子中,因为Cache RAM处于关键时序路径上,其频率较高,所以它以系统中的最高电压1.2V运行;CPU的的速度虽然会很大程度上的影响系统的性能,但cpu需要Cache RAM的速度来保证,所以CPU工作在比Cache RAM低的1.0V电压下,而SoC中各模块的频率较低,所以采用更低的电压供电。
图 3 多电源域系统
多电压域设计可以有效的降低系统的功耗,同时也能保证各模块的性能能达到最佳,但多电压域方案对设计的流程影响较大,不仅需要对电源域间的交互信号做单独的处理(增加电压转换器),还需要增加IO引脚来提供不同电压的电源。下一章会对多电源域设计有详细的介绍。
2.4 Multi-Threshold Logic(使用多阈值电压的库来实现)
随着工艺制程越来越小,工作电压越来越低,降低Vt呈趋势,图 4所示是在90nm工艺下不同库的漏电流与延迟,从图中可以看出降低Vt可以提高电路的工作速度,但会使漏电流变大。基于此,可以在设计中对于性能要求高的电路,采用低 Vt的管子;对于性能要求不高的电路采用高Vt的管子。
图 4 90nm工艺下不同库的漏电流与延迟
在使用不同阈值电压的库优化功耗前必须满足最低的性能要求,在工程中,可以先使用低Vt的库进行实现,然后再使用高Vt的库进行功耗优化,将非关键路径中的cell替换掉,以实现满足性能的同时,降低系统的功耗;若想要优先满足功耗,则可以先使用高Vt的库进行实现,然后再用低Vt的库进行时序优化。
============正文结束===========
扫描下面的二维码,阅读其他章节。