ボスが面白いデータをくれた.DesignCompiler の電力解析結果である.乗算器を遅延制約を変えて合成している.
Period Intl Switch Leak Total
1 ns 636.4446 uW 523.31 uW 2.20E+04 nW 1.18E+03 uW
10 ns 63.6445 uW 52.331 uW 2.20E+04 nW 137.9381 uW
100 ns 6.3645 uW 5.2331 uW 2.20E+04 nW 33.5603 uW
すべて電力(ワット)で書かれているが,単なる和では Total は求まらない.
変換するにはエネルギーに変える.回路が同じだから処理あたりのエネルギーは同じ.
Intl+Sw (Power) Intl+Sw (Energy)
1159.7546 nW 1159.76 fJ
115.9755 nW 1159.76 fJ
11.5976 nW 1159.76 fJ
115.9755 nW 1159.76 fJ
11.5976 nW 1159.76 fJ
リークもエネルギーに変える.単位時間に応じてリークは増える.
Leak (Energy)
2.20E+04 aJ
2.20E+05 aJ
2.20E+06 aJ
2.20E+04 aJ
2.20E+05 aJ
2.20E+06 aJ
和を取ってエネルギーを求め,それをクロック時間で割って時間あたりのエネルギーである電力を計算する.結局,DesignCompilerの電力解析結果は,サイクルあたりの電力の総和を計算している事になる.
Total (Energy) Total (Power)
1.18E+03 fJ 1.18E+03 uW
1.38E+03 fJ 1.38E+02 uW
3.36E+03 fJ 3.36E+01 uW
[内部電力] = [内部エネルギー] / [時間]
[外部電力] = [外部エネルギー] / [時間]
[処理あたりのエネルギー] = [内部電力 + 外部電力 + リーク電力] * [時間]
ということですね.