PPA, Performance, Power, Area 是衡量一顆芯片的基本指標(biāo),這三大指標(biāo)中 Power 是最詭詐的,它不像 Performance 跟 Area 是可相對(duì)精確計(jì)算的,而 Power 在芯片回來之前都只能估算。至于為什么,老驢大致總結(jié)了幾點(diǎn),請(qǐng)?bào)H友補(bǔ)充:
leakage power, 不論是綜合還是 PostRoute, 計(jì)算 leakage 都是從某個(gè)固定 PVT library 中查表,然而實(shí)際芯片并不能確定地工作于某個(gè)固定的電壓值,一方面是供電電源無法保證完全沒有偏差,另一方面是 IR-drop 的影響;更不能保證工作溫度一定卡到某個(gè)攝氏度;工藝偏差在 timing 上有各種模型進(jìn)行模擬,然而在 power 上并沒有。
internal power, 除了固定的 PVT 之外,toggle rate 也只是估算,通常工具只能從波形里讀取時(shí)序邏輯、blackbox 等的翻轉(zhuǎn)信息,至于組合邏輯的 toggle rate 大都是估算得到的。
Switch power, 除了無法精確得到 toggle rate 的信息之外,實(shí)際芯片的工作電壓跟工作時(shí)鐘頻率都會(huì)有偏差。
Glitch power, 目前大部分 power 分析工具可以估算邏輯 Glitch 引起的功耗,然而要計(jì)算邏輯 Glitch 必須要反標(biāo) net delay, 不論是 cell Delay 還是 net Delay 在估算時(shí)都只在某個(gè)固定的 PVT 跟 RC corner, 如此計(jì)算得到的值勢(shì)必跟實(shí)測(cè)值有差別。
其他,如 I/O, 如 package, 如 Analog, 其功耗模型有多精確?
先撇開 Silicon, 從綜合到 Postroute 功耗的差別有多大呢?找到一本 07 年的老書《Closing the Power GapBetween ASIC & Custom,Tools and Techniques for LowPower Design》通篇有理有據(jù),除了工藝?yán)狭艘稽c(diǎn),其他都很好。取書中一張圖,涵蓋了綜合到 Postroute 的每一步。
先回顧一下功耗的三大部分 Leakage, Internal, Switch 都跟哪些因素有關(guān)?
Leakage Power: 跟工作電壓 VDD, 閾值電壓 Vth, 管子寬長比及輸入 pin 的狀態(tài)有關(guān);
Internal Power: 跟 Arc/pin 上有效的 toggle rate, SDPD, 輸入 pin 的 transition 及輸出負(fù)載有關(guān);
Switch power:跟工作電壓,工作時(shí)鐘頻率,Toggle rate 及輸出負(fù)載有關(guān)。
再看,從綜合到 PostRoute 在設(shè)計(jì)上發(fā)生了哪些變化?
純邏輯綜合:沒有線長的概念,沒有長線的 buffer, 沒有 clock tree, 沒有 hold buffer, clock 是 ideal 的,通常需要過約從而導(dǎo)致使用更大面積跟功耗的 cell,沒有 net 電容,沒有串?dāng)_信息;
物理綜合:工具相對(duì)精確的估算線長并做 buffering, 如果是 Ispatial ECF flow 可以 build clock tree, 沒有 hold buffer,clock 是 ideal 的,不需要過約,有 net 電容,沒有串?dāng)_信息;
P&R:真實(shí)的繞線,真實(shí)的 clock tree, 修過 hold, clock 是 propagated, 用 signoff 約束,有 net 電容,有串?dāng)_信息;
每一部分設(shè)計(jì)上的改變對(duì)功耗影響有多大,取決于設(shè)計(jì)特性跟工藝:
比如,對(duì)于 Port 多 Density 低的設(shè)計(jì),會(huì)有許多長線,所以長線上的 buffer 會(huì)有許多;
比如,只有一個(gè) clock 跟幾千個(gè)寄存器的設(shè)計(jì)和有幾千個(gè) clock 跟幾十萬個(gè)寄存器的設(shè)計(jì)相比,clock tree 的結(jié)構(gòu)長短區(qū)別會(huì)很大,clock tree 功耗占比自然也不同;
比如,.18 跟 5nm 相比,net 電容在整個(gè)設(shè)計(jì)中的比重完全不同,有沒有 net 電容對(duì) 5nm 而言至關(guān)重要;
比如,congestion 特別嚴(yán)重的設(shè)計(jì),cell 會(huì)被推散,crosstalk 也可能更嚴(yán)重。
等等不一而足,所以在討論從綜合到 PostRoute 的功耗差異時(shí),需要有明確的前提,需要根據(jù)不同類型的設(shè)計(jì)具體問題具體分析,只能在某個(gè)小范圍內(nèi)歸納總結(jié),很難找到一個(gè)通用法則。
最后再聊聊動(dòng)態(tài)功耗優(yōu)化,如果不考慮多電壓域,目前在實(shí)現(xiàn)端行之有效的動(dòng)態(tài)功耗優(yōu)化辦法無非是:clock gating, MB merge, 帶仿真波形。
而帶仿真波形的優(yōu)化手段無非是 Resize,Reconnect, Buffering, Cell replace,而不論哪種方法都依賴于負(fù)載電容,在 40nm之后如果在優(yōu)化時(shí)只看 pin 電容而看不到 net 電容,綜合后的結(jié)果跟 PostRoute 的結(jié)果有巨大差異的概率非常大,所以如果要帶著波形去做動(dòng)態(tài)功耗優(yōu)化,就請(qǐng)從物理綜合開始。
審核編輯 黃昊宇
-
GAP
+關(guān)注
關(guān)注
0文章
15瀏覽量
8313
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
評(píng)論