数字 IC 技能树之(1)低功耗技术

作为 PPA 的成员之一,低功耗技术显得尤为重要,是未来 IC 设计的一个方向。本文主要介绍一些常用的低功耗设计技术如流水并行、资源共享、状态编码、门控时钟、操作数隔离、门级电路功耗优化、多阈值电压。

功耗分为动态功耗和静态功耗,动态功耗又分为开关功耗(翻转功耗)和短路功耗(内部功耗)。

开关功耗:在数字 CMOS 电路中,对负载电容进行充放电时引起的功耗。

短路功耗:在数字 CMOS 电路中,由于输入信号在进行翻转时无法瞬时完成,因此 PMOS 和 NMOS 不可能总是一个截止一个导通,总有那么一段时间为 PMOS 和 NMOS 同时导通的状态,那么从 VDD 到 GND 之间就有了通路,从而形成了短路电流。

静态功耗:在数字 CMOS 电路中,漏电流引起的功耗。

由于静态功耗一般与工艺器件有关,不加以讨论,我们重点关注动态功耗。衡量 CMOS 动态功耗的公式为 P=CV^{2}f,这里 C 为电路电容,V 为电路工作电压,f 为电路工作频率。通过对动态功耗公式的分析,我们有如下几种常见的低功耗设计技术。

1、流水并行

流水线技术和并行技术分别通过降低电路工作电压和减小电路电容的方式,实现低功耗技术,具体的分析,大家可以参考书籍《VLSI 数字信号处理系统设计与实现》,非常经典(可以留言,24 小时内免费发送相关文件)。

2、资源共享

类似于模块复用,通过减少相同的逻辑操作来实现同样的功能,从而降低功耗。

3、状态编码

对于一些频率翻转较快较频繁的信号,我们可以利用数据编码来降低开关活动,例如,格雷码代替二进制码,翻转更少,功耗更低。

4、门控时钟 Clock Gating

思想来源:如果数据想要保持不变,或者数据暂时不需要,那么,我们何不将该部分的时钟给“关闭”了呢?不让时钟工作,时钟就不会存在翻转,既降低了功耗,还能够节省面积呢!

// 门控时钟电路非常容易实现,用工具自动插入门控时钟,不需要修改 RTL 代码,门控时钟与工艺无关。
// “载入-使能”
always @( posedge CLK )
    if(EN)
        Q <= D;

数字 IC 技能树之(1)低功耗技术_第1张图片

5、操作数隔离 Operand Isolation

思想来源:当某一个模块不需要的时候,干嘛还让它处于大量的复杂数据工作状态呢,我们何不把这些数据给全部置零呢?与其让该模块处理着大量的变化着的无效数据,何不将其全部恢复初始值/默认值/零值呢?这样,数据就不会存在翻转,从而降低了功耗。

数字 IC 技能树之(1)低功耗技术_第2张图片

6、门级电路功耗优化 Gate-Level Power Optimization

从已经映射的门级网表开始,对设计进行功耗的优化,一方面要求满足设计规则的要求,另一方面要求满足时序约束的要求。功耗的减少以时序路径的正时间冗余作为交换,所以,设计中正时间冗余越多,就越有潜力降低功耗。其由 EDA 工具来实现,并且对于 RTL 设计人员是透明的,我们只需要了解这个优化概念就足够了。

数字 IC 技能树之(1)低功耗技术_第3张图片

7、多阈值电压 Multi-Threshold

阈值电压 Vth 越高的单元,泄露功耗越,门延时越,速度越;反之。

根据多阈值电压单元的特点,在关键路径中使用低阈值电压的单元,以减少单元门的延时,以改善路径的时序。而在非关键路径中使用高阈值电压的单元,以降低静态功耗。

因此,使用多阈值电压的工艺库,我们可以设计出低静态功耗和高性能的设计。

数字 IC 技能树之(1)低功耗技术_第4张图片

8、高级低功耗技术

还有一些比较高级的低功耗技术,有兴趣的可以研究一下:https://www.cnblogs.com/IClearner/p/6903204.html

 

数字 IC 技能树之(1)低功耗技术_第5张图片

 

 

 

你可能感兴趣的:(数字,IC,技能树拓展延伸)