2. 功耗来源分析:芯片动态功耗与静态功耗
做热设计这么多年,我有个习惯——拿到一个新项目,第一件事不是急着画散热器,而是先搞清楚功耗从哪来。你想想看,热是功耗的产物,功耗都搞不清楚,散热方案就是瞎蒙。
芯片的功耗,说白了就两大类:动态功耗和静态功耗。这两兄弟性格完全不同,一个爱折腾,一个爱偷懒。咱们一个一个聊。
2.1 动态功耗:芯片干活时烧的电
动态功耗,就是芯片在“动”的时候消耗的能量。比如CPU在算数、GPU在渲染、FPGA在翻转逻辑。动态功耗又分两块:开关功耗和短路功耗。
2.1.1 开关功耗
开关功耗是动态功耗的大头,占比通常能到70%~90%。它的公式很简单:
P_sw = α × C_load × V² × f
这里每个参数我都吃过亏,给你拆开讲:
- α(活动因子):信号翻转的概率。0到1之间,0.5表示一半时间在翻转。我见过有人直接取1,结果散热器设计得跟坦克装甲一样厚。
- C_load(负载电容):后级门电路的输入电容加上走线寄生电容。这个值跟工艺强相关,7nm的C_load比28nm小得多。
- V(供电电压):平方关系!电压降10%,功耗降19%。这就是为什么大家都在搞DVFS(动态电压频率调整)。
- f(工作频率):线性关系。频率翻倍,开关功耗翻倍。
关键认知:开关功耗与电压的平方成正比。这意味着降压是降功耗最狠的手段,没有之一。
我在项目中遇到过一件事:某AI芯片,客户说功耗超标20%。我一看,他们为了追求性能,把核心电压从0.85V提到了0.95V。算一下:(0.95/0.85)² ≈ 1.25,功耗直接涨了25%。后来我们通过优化时序,把电压降回0.85V,问题就解决了。
2.1.2 短路功耗
短路功耗,也叫直通功耗。CMOS电路在翻转的瞬间,PMOS和NMOS会同时导通一小会儿,形成从VDD到GND的短路电流。
这个功耗占比不大,通常5%~10%。但有个坑——输入信号上升/下降时间越慢,短路功耗越大。我曾经调试一块板子,发现某个信号线上串了太大的电阻,导致边沿变缓,局部温度直接高了8°C。
我的经验:高速信号线不要为了省成本加太大的串联电阻。省了几毛钱,多花了几瓦功耗,散热成本翻倍。
2.2 静态功耗:芯片待机时也在漏电
静态功耗,就是芯片啥也不干,光插着电就有的功耗。以前工艺老(0.18μm、0.13μm),静态功耗几乎可以忽略。但现在到了7nm、5nm,静态功耗能占到总功耗的30%~50%。
静态功耗主要来自漏电流。漏电流有几种:
2.2.1 亚阈值漏电流
这是最主要的漏电流来源。MOS管在关断状态下,Vgs小于阈值电压Vth,但沟道并没有完全关死,还是有一点点电流从源极流到漏极。
公式长这样:
I_sub = I₀ × exp((Vgs - Vth) / (n × Vt)) × (1 - exp(-Vds / Vt))
嗯,看着复杂。但你只需要记住一句话:阈值电压Vth每降低100mV,亚阈值漏电流增加约10倍。
为什么会这样?因为工艺越先进,为了追求速度,Vth就越低。Vth低了,管子关不严,漏电就大。这就是性能和功耗的博弈。
2.2.2 栅极漏电流
栅氧化层太薄了,电子会直接隧穿过去。28nm以上工艺,栅氧厚度还能撑住。到了16nm以下,栅极漏电就开始明显了。不过现在用了High-K金属栅极,这个问题有所缓解。
2.2.3 其他漏电流
- PN结反向漏电流:源/漏与衬底之间的PN结反向偏置时的漏电。温度每升高10°C,这个漏电流大约翻倍。
- GIDL(栅致漏极漏电流):栅极电压导致漏极附近的电场增强,产生漏电。这个在FinFET工艺中比较明显。
注意:漏电流和温度是正反馈关系。温度升高→漏电流增大→功耗增大→温度进一步升高。这就是所谓的“热失控”。我在做服务器芯片散热时,就遇到过这种恶性循环,最后不得不降频处理。
2.3 开关损耗与导通损耗
这两个概念主要用在功率器件(MOSFET、IGBT)中,但在芯片内部同样适用。
2.3.1 开关损耗
开关损耗发生在器件从导通到关断、从关断到导通的过渡过程中。这个过程中,电压和电流同时不为零,产生瞬时功率。
公式:
P_sw_loss = 0.5 × V_ds × I_d × (t_rise + t_fall) × f_sw
其中t_rise和t_fall是开关时间。频率越高,开关损耗越大。这就是为什么DC-DC转换器频率不能无限提高的原因——效率会掉下来。
2.3.2 导通损耗
导通损耗就是器件完全导通后,导通电阻R_ds(on)产生的I²R损耗。
P_con_loss = I² × R_ds(on) × D
D是占空比。这个损耗跟电流的平方成正比,所以大电流场景下,选低R_ds(on)的管子至关重要。
| 损耗类型 | 主要影响因素 | 温度敏感性 | 典型占比 |
|---|---|---|---|
| 开关损耗 | 频率、开关时间、电压 | 中等 | 30%~50% |
| 导通损耗 | 电流、导通电阻、占空比 | 高(R_ds(on)随温度升高) | 40%~60% |
| 漏电流损耗 | 温度、电压、工艺 | 极高 | 5%~20% |
2.4 实际项目中的功耗分析流程
说了这么多理论,来点实际的。我一般按这个步骤做功耗分析:
- 拿到芯片的功耗模型:芯片厂商会提供功耗估算工具或表格。别全信,但也不能不信。
- 区分场景:待机、轻载、典型负载、峰值负载。每个场景的功耗构成不一样。
- 考虑温度影响:漏电流随温度变化,这个必须迭代计算。我习惯先假设一个结温,算完功耗再反推结温,迭代3~5次就收敛了。
- 留余量:芯片的功耗数据通常是典型值,实际量产会有波动。我一般留15%~20%的余量。
一句话总结:动态功耗看电压和频率,静态功耗看温度和工艺。做散热方案时,两个都要算清楚,缺一不可。
嗯,这一节内容不少。你消化一下,下一节咱们聊聊如何把这些功耗数据转化成热仿真需要的边界条件。