EDA工具里的功耗分析方法(上)
時間:2025-11-17 23:00:48
手機(jī)看文章
掃描二維碼
隨時隨地手機(jī)看文章
在當(dāng)下的芯片設(shè)計中,工藝越先進(jìn),芯片規(guī)模越大,功耗就越發(fā)敏感,降低功耗的訴求越來越緊迫。在小編過往的文章中,有過低功耗設(shè)計實現(xiàn)的一些討論,具體猛戳如下鏈接:淺談芯片低功耗的設(shè)計實現(xiàn)(上)淺談芯片低功耗的設(shè)計實現(xiàn)(下)
優(yōu)化一定是建立在計算和數(shù)據(jù)的基礎(chǔ)上的,那么對于EDA而言,功耗是怎么算出來的呢?今天,就讓小編帶領(lǐng)大家一起從EDA的視角,來洞察功耗計算的零零總總。
開篇之前,先復(fù)習(xí)一下功耗的計算公式:
注解


注釋:SDPD是一種瞬態(tài)值。在芯片常規(guī)的工作中,某一時刻,芯片是某一種固定的SDPD,所以一個芯片的實際工作狀態(tài)(功耗)是由各種SDPD按照出現(xiàn)的比率描述的一個完備值(各種SDPD出現(xiàn)概率總和是100%)
據(jù)上,器件的功耗的相關(guān)性可以用如下的表格來歸類
EDA工具提供了相應(yīng)的信息和抽取方式來擬合library的描述。以常用的DC工具里的report_power命令為例,工具會羅列出下面的功耗信息:
表頭解析:
DC也會把器件分類進(jìn)行功耗報告打?。?img height="150" src="/uploads/mp/20250905/53/43253-12.jpg" style="height:auto !important;" width="550" />
對于器件的分類方法見下表:
通常,report_power默認(rèn)行為是打印類似上述的芯片功耗的總和結(jié)果,這些都是每一個器件單獨功耗的合計值,當(dāng)然,也可以使用一些選項打印出某一個cell或者net或的功耗細(xì)節(jié)。
但是通常不太會這么做,因為去看每一個cell或者net的功耗意義并不很大,反而是找到芯片里邊的最差功耗的cell或者net會比較有趣(設(shè)計里的功耗大戶)。
譬如關(guān)心cell的動態(tài)功耗,這時可以使用下列命令來羅列:

如果用戶對功耗最大的cell比較感興趣,可以使用-verbose的選項
羅列出更多的細(xì)節(jié):

類似的也可以針對net類型進(jìn)行sort、verbose的報告。

對于internal power,其在在library里的描述是pin based的
在report_power命令里邊,internal power被整合為cell類型,但是本質(zhì)上就是所有pin在SDPD下的總和表達(dá)。為了方便表達(dá),工具使用了上述三種對象對功耗進(jìn)行了分拆,總結(jié)如下
可以看出,EDA工具為了簡化對功耗的核算,使用了歸一化的操作,這樣可以大大減少報告數(shù)量和歧義,這個對library的訴求也是得到了一致限于篇幅。上文提到的SDPD、toggle rate和state probability等和功耗計算細(xì)節(jié)相關(guān)的屬于,放在下一篇文章中討論,敬請期待。
優(yōu)化一定是建立在計算和數(shù)據(jù)的基礎(chǔ)上的,那么對于EDA而言,功耗是怎么算出來的呢?今天,就讓小編帶領(lǐng)大家一起從EDA的視角,來洞察功耗計算的零零總總。
開篇之前,先復(fù)習(xí)一下功耗的計算公式:
注解
EDA對功耗評估的分類
基于上述功耗的計算理論,為了方便計算,EDA工具對功耗的評估分為如下幾類基于library非功耗的信息,計算功耗

基于SDPD的功耗查看
leakage power可以基于SDPD,直接查看library獲取功耗- 基于器件輸入狀態(tài)進(jìn)行功耗查看:器件狀態(tài)決斷SDPD (Status Dependency Path Dependency)
- library同時提供默認(rèn)的leakage power的功耗信息
基于SDPD和pin的屬性查找表
internal power可以基于SDPD和input/outputl 的RC屬性查找表來獲取- 基于SDPD的數(shù)據(jù)查詢
- input pin:基于input transiton的查找表
- output pin:基于input transiton和output cap的查找表
- cel的internal power是所有pin在SDPD下的總和

注釋:SDPD是一種瞬態(tài)值。在芯片常規(guī)的工作中,某一時刻,芯片是某一種固定的SDPD,所以一個芯片的實際工作狀態(tài)(功耗)是由各種SDPD按照出現(xiàn)的比率描述的一個完備值(各種SDPD出現(xiàn)概率總和是100%)據(jù)上,器件的功耗的相關(guān)性可以用如下的表格來歸類
EDA的功耗計算示例
EDA工具提供了相應(yīng)的信息和抽取方式來擬合library的描述。以常用的DC工具里的report_power命令為例,工具會羅列出下面的功耗信息:

DC也會把器件分類進(jìn)行功耗報告打?。?img height="150" src="/uploads/mp/20250905/53/43253-12.jpg" style="height:auto !important;" width="550" />
對于器件的分類方法見下表:
通常,report_power默認(rèn)行為是打印類似上述的芯片功耗的總和結(jié)果,這些都是每一個器件單獨功耗的合計值,當(dāng)然,也可以使用一些選項打印出某一個cell或者net或的功耗細(xì)節(jié)。但是通常不太會這么做,因為去看每一個cell或者net的功耗意義并不很大,反而是找到芯片里邊的最差功耗的cell或者net會比較有趣(設(shè)計里的功耗大戶)。
譬如關(guān)心cell的動態(tài)功耗,這時可以使用下列命令來羅列:

如果用戶對功耗最大的cell比較感興趣,可以使用-verbose的選項
羅列出更多的細(xì)節(jié):

類似的也可以針對net類型進(jìn)行sort、verbose的報告。

cell、net和pin的功耗歸一化:
從上文描述中可以看到,net會描述switching power,cell對標(biāo)的則是internla power和leakage power。但是工具在產(chǎn)生報告的時候,無論是net還是cell都會把三類功耗打印完全,這里是使用output pin對應(yīng)的net來做的cell、net歸一化處理
對于internal power,其在在library里的描述是pin based的
在report_power命令里邊,internal power被整合為cell類型,但是本質(zhì)上就是所有pin在SDPD下的總和表達(dá)。為了方便表達(dá),工具使用了上述三種對象對功耗進(jìn)行了分拆,總結(jié)如下
可以看出,EDA工具為了簡化對功耗的核算,使用了歸一化的操作,這樣可以大大減少報告數(shù)量和歧義,這個對library的訴求也是得到了一致限于篇幅。上文提到的SDPD、toggle rate和state probability等和功耗計算細(xì)節(jié)相關(guān)的屬于,放在下一篇文章中討論,敬請期待。
本章詞匯





