数字IC低功耗设计总结
1、功耗分类:
低功耗按照类型分类,主要有动态功耗、静态功耗、浪涌功耗三种。
(1)动态功耗包括:
开关功耗(翻转功耗):电平翻转对负载电容进行充放电时消耗的功耗。
短路功耗(内部功耗):信号翻转时不可能瞬时完成,PMOS和NMOS存在同时导通构成通路,形成短路电流。
(2)静态功耗:
主要是漏电流引起的功耗
2、系统与架构级低功耗设计
(1)多电压设计技术:
不同的模块区域有不同的电压。(各模块电压可固定、可通过软件选择、可自适应改变)
(2)系统时钟分频:
时钟是系统中频率最高的信号,其功耗功之高不容置疑。可在不同的工作模式下选用不同频率的时钟,并且将一些不需要的模块时钟关闭。
(3)算法和IP选择
(4)异步设计:
同步系统中通过时钟树综合、插入缓冲器减少时钟的偏移。这种方法在时钟网络上添加了大量的缓冲器,时钟网络消耗的功耗也增加。
在异步设计里面,不需要全局时钟,两个模块通过握手信号进行交互,这时候就可以减少功耗。可以把一个系统使用多个时钟,每个时钟控制的区域内部都设计成一个同步的子系统。
3、RTL级低功耗设计
(1)门控时钟法:
通常情况下,时钟树由大量的缓冲器和反相器组成,时钟信号为设计中翻转率最高的信号,时钟树的功耗可能高达整个设计功耗30%。加入门控时钟电路后,由于减少了时钟树的开关行为,节省了开关功耗。同时,由于减少了时钟引脚的开关行为,寄存器的内部功耗也减少了。
门控时钟有两种方案:一种直接针对寄存器的时钟进行门控,一种对模块级别的时钟进行门控。(2)操作数隔离技术:
当某段时间不需要运算器的结果时,把运算器的输入用与门隔离掉,停止其反转。(3)资源共享与状态编码:
对于设计比较多算术运算的设计,如果有同样的操作在多处使用,那我们可以避免相应的运算逻辑在多个位置重复出现。共享后:
此外,对于一些变化非常频繁的信号,我们利用数据编码来降低开关活动(例如,用格雷码比用二进制码翻转更少,功耗更低)。
(4)并行与流水的选择:
采用并行处理,可以降低系统工作频率,从而可能降低功耗。
流水线技术可以将一个较长的组合路径分成M级流水线。路径长度缩短为原始路径长度的1 /M。这样,一个时钟周期内充/放电电容变为C/M。在相同的速度要求下,可以采用较低的电源电压来驱动系统。这样,系统的整体功耗可能会降低。
参考:https://www.cnblogs.com/IClearner/tag/%E4%BD%8E%E5%8A%9F%E8%80%97%E8%AE%BE%E8%AE%A1/