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


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

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

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

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

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

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

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

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

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

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





