数字IC笔记——功耗分析


功耗分析主要可以分为两个部分 静态功耗动态功耗,功耗的计算很难有一个准确值,各个工具计算的差别会很大。最常用的工具是Redhawk
(注意:opt log中报的power是leakage power,不是总功耗,最终报power通过report_power_analysis)

1.静态功耗

1.1 漏电流功耗(leakage power)

在CMOS电路中,静态功耗主要是漏电流引起的功耗即使电路处于静止状态,没有时钟,没有任何switching,这部分功耗依然存在

漏电流的公式,其中Ipeak为泄露电流:
Ppeak = VDD*Ipeak

在这里插入图片描述
漏电流的计算主要通过.lib中的数据,从而选定一种或几种适合当前design需求的library。比如C30LVT可能leakage比较大,相比C35RVT,C40LVT的leakage可能要大好几倍。因此再做PR时就不会选C30LVT。
在这里插入图片描述

1.2 如何降低漏电流功耗

更换阈值电压大的cell。阈值电压越低,饱和电流越小,速度性能越快,但漏电流越大,因此功耗会变差。HVT的cell其阈值电压最大,掺杂浓度越高,其泄露功耗最小。

名字含义
LVTLow V threshold,在关键路径使用,timing好,但由于漏电流大,功耗差
SVTStandard V threshold,中等的delay和power,如果路径使用HVT的timing比较差,可以换SVT
HVTHigh V threshold , timing 不重要的路径,可以使用,节省power

按速度排列:LVT > SVT>HVT
按消耗功耗排列:LVT > SVT>HVT
在关键路径上最好用LVT的库,考虑到降低功耗,最好用HVT的库

1.3 分析漏电流为零

漏电流为零,PR肯定有问题,关注VDD,VSS是否连接上。

2.动态功耗

2.1 开关功耗(Switch Power)

Switch Power是在CMOS电路中,对负载电容进行充放电时消耗的功耗。

开关功耗的公式,A是average switching activity:
Pswitch = 0.5 * V^2 * C * Tr
Tr为翻转率的值,是通过前端设计给的VCD波形文件,给定一段时间,计算平均翻转率来计算。

2.1.1 如何降低开关功耗

从公式可以看出,改善动态功耗可以通过改变工作电压翻转率负载电容实现。

2.2内部功耗(Internal Power)

内部功耗(Internal Power)也称短路功耗,是由于信号翻转时,有一段时间PMOS和NMOS同时导通,那么电源VDD到地VSS之间就有了通路,形成短路电流。

内部功耗的公式:
Pshort = Tr * V * Qx
Tr为翻转率的值,Qx是在一次翻转过程中从电源到地的电荷量

在这里插入图片描述
由于这部分是由标准单元内部switch造成的功耗。工具根据.lib里的数据计算这部分功耗。输入A变化引起的功耗。工具根据输入A的transition time查询rise_power, fall_power 表。
在这里插入图片描述

2.3 如何降低动态功耗

对于GPU这种芯片,对timing要求不高,可以通过将移动ICG放在clock source近端,来实现低功耗设计,因为它可以对设计中暂时不用的寄存器通过ICG来关断后面寄存器的时钟来实现低功耗设计的目的。不好的一点是会引起setup违例

  • 7
    点赞
  • 132
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值