快捷搜索:  汽车  科技

芯片功耗如何定义(一文带你读懂芯片功耗如何分析)

芯片功耗如何定义(一文带你读懂芯片功耗如何分析)03. 翻转功耗 -- 晶体管负载充放电带来的功耗内部功耗由两部分组成:01. 漏电功耗 -- 非理想漏电流产生的功耗漏电功耗由三个部分组成:02. 内部功耗 -- 寄生参数充放电产生的功耗

降低芯片功耗的必要性

  • 芯片封装一般较小,功耗过大将导致能量密度增加,芯片温度升高,时序跑不快。
  • 功耗对芯片内部及外部的电源网络架构设计有影响。

功耗组成

芯片功耗分为静态功耗动态功耗

其中,静态功耗包括漏电功耗,动态功耗包括内部功耗翻转功耗

芯片功耗如何定义(一文带你读懂芯片功耗如何分析)(1)

01. 漏电功耗 -- 非理想漏电流产生的功耗

漏电功耗由三个部分组成:

  • 亚阈值电流:CMOS的G级为0时,管子处于截至状态,S和D之间存在微量漏电流。
  • 栅极隧穿电流:CMOS的工艺越来越小后,G极的SIO2越来越薄,当薄至和电子,空穴的德布罗意波的波长近似时,电子会击穿栅极,产生栅漏电流。
  • 反偏PN节电流:扩散层与衬底之间的漏电电流(非目前主流因素)

芯片功耗如何定义(一文带你读懂芯片功耗如何分析)(2)

02. 内部功耗 -- 寄生参数充放电产生的功耗

内部功耗由两部分组成:

  • 短路电流:CMOS管翻转过程中,pMOS和nMOS同时导通产生的电流,大小与输入信号slew和晶体管负载有关。
  • 输入端口电流:晶体管输入发生翻转,但是输出来改变,但此时输入信号翻转仍会导致内部产生功耗。

芯片功耗如何定义(一文带你读懂芯片功耗如何分析)(3)

03. 翻转功耗 -- 晶体管负载充放电带来的功耗

作为最常见的功耗,信号翻转功耗和互联寄生参数以及晶体管输入寄生参数息息相关。

电路功耗计算模型

本文以二输入与非门为例进行总功耗计算演示,输入输出参数如下所示。

芯片功耗如何定义(一文带你读懂芯片功耗如何分析)(4)

VDD = 1.0V Output Load = 20fF Static probability (pin A1) = 0.6 Static probability (pin A2) = 0.55 Toggle rate (pin A1) = 5 million transitions/sec Toggle rate (pin A2) = 6 million transitions/sec Static probability (pin ZN) = 0.67 Toggle rate (pin ZN) = 7.7 million transitions/sec

01. 漏电功耗计算

标准单元、宏单元的漏电功耗需根据状态从时序库(Timing library)查表得到leakage power并结合duty进行计算。

漏电功耗与input的duty有关,和output的toggle rate无关。

查表得相关数据如下:

leakage_power(){ value: 42.2; } leakage_power(){ value: 26.1; when: "!A1 !A2"; } leakage_power(){ value: 33.0; when: "!A1 A2"; } leakage_power(){ value: 27.0; when: "A1 !A2"; } leakage_power(){ value: 82.7; when: "A1 A2"; }

漏电功耗计算公式如下:

Cell Leakage Power = 26.1*(1-0.6)*(1-0.55) 33*(1-0.6)*0.55 27*0.6*(1-0.55) 82.7*0.5*0.55 = 41.99nW

02. 内部功耗计算

根据timing library中cell的internal_power查表结合duty和toggle rate进行计算。

内部功耗与input信号slew和output的load强相关,与toggle rate有关。

查表得相关数据如下:

pin(A1){ direction: input; internal_power(){ when: "!A2&ZN"; /*Transition at A1 does not cause an output transition.*/ rise_power(scalar){ values("0.004");} fall_power(scalar){ values("0.006");} } } pin(A2){ direction: input; internal_power(){ when: "!A1&ZN"; /*Transition at A2 does not cause an output transition.*/ rise_power(scalar){ values("0.006");} fall_power(scalar){ values("0.008");} } } pin(out){ direction: output; internal_power(){ /*A1 causes output transition */ related_pin: "A1"; rise_power(scalar){ values("0.043");} fall_power(scalar){ values("0.016");} } internal_power(){ /*A2 causes output transition */ related_pin: "A2"; rise_power(scalar){ values("0.036");} fall_power(scalar){ values("0.021");} } }

A1内部功耗计算公式如下:

Internal Power A1 = 1.5 million*(0.004 0.006)/2 = 7.5nW

A2内部功耗计算公式如下:

Internal Power A2 = 1.8 million*(0.006 0.008)/2 =12.6nW

A1对ZN作用的内部功耗计算公式如下:

Internal Power A1->ZN = 3.5 million*(0.043 0.016)/2 =103.25nW

A2对ZN作用的内部功耗计算公式如下:

Internal Power A2->ZN =4.2 million*(0.036 0.021)/2 =119.7nW

03. 翻转功耗计算

翻转功耗计算公式如下:

Switching Power = 0.5*C*VDD^2*f = 0.5*20*1*1*7.7 = 7.7nW

04. 具体分析

总功耗计算公式如下:

总功耗 = Leakage Internal Switching = 41.99 (7.5 103.25) (12.6 119.7) 7.7 = 366.589nW

猜您喜欢: