功耗簽核:為什麼晶片漏電比運算更耗電
換句話說,功耗簽核不是「算一個數字」,而是「算很多個數字,然後確認最壞情況下仍然安全」。
2-2 三大功耗指標:動態、靜態、峰值
簽核報表上最常看到的三類指標,各自對應不同的風險:
指標
物理意義
主要風險
典型關注場景
動態功耗(Dynamic / Switching Power)
訊號翻轉時對負載電容充放電,以及轉態瞬間的短路電流
續航力不足、發熱、電池放電過快
滿載運算、影音播放、遊戲
靜態功耗(Static / Leakage Power)
電晶體關閉狀態下仍存在的漏電流
待機耗電、閒置發熱、熱失控風險
待機、睡眠、低負載長時間運行
峰值功耗(Peak / Instantaneous Power)
極短時間內的瞬間電流需求(di/dt)
IR Drop、電壓雜訊、功能錯誤、封裝與電源網路設計不足
開機瞬間、時脈突然拉高、大量電路同時喚醒
很多新手會只盯著「平均功耗」看,但實務上峰值功耗往往才是讓晶片「跑不起來」的關鍵。因為平均功耗只決定電池能撐多久,峰值功耗卻決定電壓會不會瞬間塌下去、時序會不會失效。
2-3 簽核工具與流程概觀
業界常見的功耗簽核工具包括 Synopsys 的 PrimePower(常與 PrimeTime 时序分析搭配)、Cadence 的 Voltus 與 Joules、Ansys 的 RedHawk-SC 系列,以及在做早期 RTL 估算時的 PowerArtist 等。它們的共同點是:都需要三樣東西才能算出可信的數字——
值得一提的是,Liberty 檔裡的漏電數值是一張「二維或三維查表」,輸入軸通常是輸入狀態(Input State)與溫度、電壓。也就是說,同一顆邏輯閘,在不同的輸入組合下漏電量並不一樣——這也是為什麼功耗簽核必須知道「電路處於什麼狀態」,而不能只用平均活動率隨便帶過。
三、拆解晶片功耗:動態功耗與靜態功耗
要理解「漏電為什麼可能比運算更耗電」,得先把功耗拆開來看。數位 CMOS 電路的功耗,基本上可以寫成:
Ptotal = Pdynamic + Pstatic =(Pswitching + Pshort-circuit)+ Pleakage
接下來分別說明。
3-1 動態功耗:P = αCV²f 的直觀意義
動態功耗中最主要的一項是切換功耗(Switching Power),公式是大家耳熟能詳的:
Pswitching = α · C · V² · f
f:操作頻率。
舉個具體一點的例子:假設某個節點的等效負載電容是 1 fF(10-15 F),電壓 0.8V,頻率 1GHz,翻轉率 0.2,那麼這個節點的切換功耗約為 0.2 × 1fF × 0.64 × 109 ≈ 0.128 µW。聽起來微不足道,但如果一顆晶片上有十億個這樣規模的節點同時在活動,總和就是 128W 等級的數字——這也是為什麼「幾億顆電晶體」聽起來抽象,但換算成功耗就非常有感。
3-2 短路功耗:轉態瞬間的「短路」
CMOS 邏輯閘在輸入訊號轉態的短暫期間,PMOS 與 NMOS 會同時處於導通狀態,形成從 VDD 到 GND 的直接通路,這就是短路功耗(Short-circuit Power)。它的大小與輸入訊號的轉態時間(Slew)、電源電壓、臨界電壓有關。轉態越慢、VDD 越高、Vth 越低,短路電流就越大。
一般來說,短路功耗大約佔動態功耗的 10%~20%,在時序收斂良好、轉態陡峭的設計中會更小。它經常被忽略,但在低電壓設計或轉態較差的角落(Corner)下,仍然必須納入計算。
3-3 靜態功耗:漏電的四種主要來源
靜態功耗就是晶片「不翻轉」時仍然存在的功耗,來源是各種漏電流。主要可以分成四類:
此外,還有一個常被單獨討論的類別:SRAM 漏電。快取記憶體佔了現代 SoC 面積的很大一部分,而 SRAM bitcell 通常採用面積最小、Vth 最低的電晶體,漏電密度相當高。很多晶片在待機時的漏電,其實大半來自 SRAM 陣列,而不是邏輯電路。
四、為什麼漏電會「看起來」比運算更耗電?
看到這裡,應該已經可以隱約感覺到答案了:動態功耗只在「有翻轉」的時候產生,而漏電是時時刻刻、全年無休。只要晶片通著電,漏電就在發生。於是「漏電是否超過運算功耗」,本質上就變成一個與工作週期(Duty Cycle)有關的問題。
4-1 製程微縮讓 Vth 一路下滑,漏電指數上升
過去的「Dennard 縮放」告訴我們:製程微縮時,如果電壓與臨界電壓也一起等比例縮小,功率密度就能維持不變。這套規則在 130nm 之後逐漸失靈,原因之一就是Vth 不能再無止境地降低——因為 Vth 一降,次臨界漏電就指數上升。
於是產業出現了兩條分歧的路線:一條是「不要降太多 Vth,改用別的方法提升效能」(例如應變矽、HKMG、FinFET、GAA 奈米片),另一條則是接受較高的漏電,換取效能與面積。這也造成了一個現象:先進製程的效能與漏電是綁在一起談的。同一顆晶片,用「低 Vth」的標準元件可以跑得更快,但漏電也更高;用「高 Vth」元件則反之。實務上設計師會混用多種 Vth 元件(Multi-Vt),只在時序關鍵路徑上用低 Vth,其餘用高 Vth 來壓低漏電。
即使如此,在高速、高溫的操作條件下,先進節點的漏電仍然可能佔總功耗的 20%~40%;在高溫、低活動率的場景中,比例還會更高。
4-2 溫度的正回饋:越熱越漏,越漏越熱
漏電對溫度的敏感度非常高。經驗上,溫度每上升約 10°C,漏電大約會增加一倍左右(實際係數依製程與元件而異,但「指數上升」這個趨勢是確定的)。這會形成一個危險的正回饋循環:
漏電產生熱 → 溫度上升 → 漏電進一步增加 → 產生更多熱 → ……
在正常設計中,散熱能力足以打斷這個循環;但如果封裝散熱不足,或者晶片某個區域的功耗密度過高,就可能出現局部熱點(Hot Spot),甚至「熱失控(Thermal Runaway)」。這正是為什麼功耗簽核必須在高溫角(High Temperature Corner)下檢查漏電,而不是只看常溫。
反過來說,這也是為什麼很多裝置在冬天待機會比較省電、在夏天或悶熱環境下待機耗電會明顯變差——漏電就是這麼「看天氣吃飯」。
4-3 工作週期比:晶片大部分時間其實在待機
這是整篇文章最關鍵的觀念。我們來做一個簡單的計算。
假設某顆晶片滿載時的動態功耗是 3.0W,而漏電功耗是 0.5W,滿載總功耗 3.5W。此時漏電只佔 14%,看起來沒什麼問題。
但如果這顆晶片處在「輕度使用」的情境,平均活動率只有滿載的 5%:
動態功耗 ≈ 3.0W × 5% = 0.15W
漏電功耗 ≈ 0.5W(幾乎不變,只隨溫度略為浮動)
總功耗 ≈ 0.65W,其中漏電佔了約 77%
這就是答案的核心:漏電是「固定成本」,動態功耗是「變動成本」。當晶片忙的時候,變動成本遠大於固定成本;但當晶片閒著的時候,變動成本趨近於零,固定成本卻一毛都不會少。而真實世界中的裝置——手機、筆電、物聯網感測器、車用電子——絕大多數時間都處於低負載或待機狀態。
使用情境
平均活動率(相對滿載)
動態功耗佔比
漏電佔比
滿載運算(遊戲、渲染、AI 推論)
70%~100%
約 80%~95%
約 5%~20%
一般日常使用(瀏覽、文書)
10%~30%
約 50%~75%
約 25%~50%
待機/螢幕關閉
1%~5%
低於 20%
超過 80%
深度睡眠(僅保留喚醒邏輯)
接近 0%
幾乎為 0
接近 100%
4-4 電壓與頻率的邊際效益:降頻省動態,卻救不了漏電
很多人以為「降頻就能省電」,這句話只對了一半。降頻確實會等比例降低動態功耗(P ∝ f),但對漏電幾乎沒有幫助——漏電主要取決於 Vth、溫度和製程,與時脈頻率關係不大。
更麻煩的是,為了維持高頻,工程師往往必須拉高電壓;而電壓一拉高,動態功耗以平方成長,漏電也跟著上升(因為 Drain-Induced Barrier Lowering 效應會讓有效 Vth 下降)。這就是為什麼「高效能模式」的功耗曲線往往非常陡峭:從 2.5GHz 衝到 3.5GHz,可能要多花 40% 以上的功耗,而換來的效能提升卻不到 40%。
換句話說,晶片在高效能區間的「功耗效率」其實是遞減的。這也解釋了為什麼現代 SoC 要設計這麼多個電源域與頻率檔位(DVFS),目的就是把工作負載放在功耗效率最好的區間,而不是一味追求最高頻率。
4-5 暗矽(Dark Silicon)與漏電預算
所謂「暗矽」,指的是在功耗預算限制下,晶片上有一部分區域無法同時全速運作。這個現象的成因之一,正是漏電。因為即使某個區塊完全閒置,它的漏電仍然在吃掉預算,導致「能同時開啟的電路」變少。
這也是為什麼現代處理器要做電源閘控(Power Gating):不只是把時脈關掉(Clock Gating 只能省動態功耗),而是直接把整個區塊的電源切斷,讓漏電降到接近零。這是對付漏電最直接、也最有效的手段之一。
五、實務上的功耗簽核策略
理解了漏電的物理本質之後,我們來看工程師在實務上怎麼「簽」這件事。
5-1 多模式多場景簽核(MMMC)
晶片不是只有一種狀態。它可能有:全速模式、省電模式、睡眠模式、深睡模式、開機初始化模式、測試模式(Scan / BIST)等等。每一種模式下,哪些區塊通電、哪些時脈在跑、電壓是多少,都不一樣。這些資訊通常寫在UPF(Unified Power Format)或 CPF 這類「電源意圖」檔案中,功耗簽核工具必須讀進來,才知道怎麼正確計算。
同時,還要考慮製程變異與環境條件,也就是所謂的「角(Corner)」:
這裡有一個很重要的觀念:時序簽核與功耗簽核關注的角,往往不是同一個。新手常犯的錯誤,就是拿時序 worst case 的結果去看漏電,結果低估了實際的漏電量。
5-2 Power Gating:把漏電「關掉」
Power Gating 的做法,是在電源與電路之間插入「開關電晶體」(Switching Power Cell / Sleep Transistor),當區塊不需要使用時,把開關關掉,讓該區塊的電源網路浮接,漏電可降低數個數量級。
但這件事不是「加個開關」那麼簡單,實務上要處理:
這些機制都會影響功耗簽核的結果,也必須在 UPF 中正確描述,否則簽核數字會與實際晶片行為脫節。
5-3 Clock Gating、DVFS 與 AVS
相對於 Power Gating 直接斷電,Clock Gating 是「只關時脈」。它的效果是省下動態功耗(尤其是時脈樹本身的功耗,這在高效能晶片中往往佔總動態功耗的 20%~40%),但對漏電無能為力——區塊仍然通著電,漏電照樣發生。
DVFS(動態電壓頻率調整)則是依負載調整電壓與頻率。由於動態功耗與 V² 成正比,降電壓的節能效果非常顯著;同時電壓下降也會讓漏電略為降低。實務上,DVFS 的檔位設計本身就是功耗簽核的重要輸入——每個檔位(OPP)都要簽一次。
AVS(自適應電壓調整)則更進一步,透過晶片上感測器量測實際狀況,動態調整電壓到「剛好夠用」的程度,把製程變異造成的安全邊際(Margins)盡量回收。這在先進節點特別有價值,因為那些為了保險而多給的電壓,會同時放大動態功耗與漏電。
5-4 IR Drop 與電遷移:漏電也會影響電源完整性
這一點經常被忽略:漏電不只影響「耗多少電」,也影響「電流怎麼分布」。因為漏電是普遍存在於整個晶片上的靜態電流,即使晶片閒置,電源網路仍然承載著這些電流,於是會產生靜態 IR Drop。
在高漏電的設計中,閒置狀態下的電壓降可能已經吃掉一部分電壓餘裕(Voltage Margin),導致真正開始運作時更容易出現時序問題。同時,長期存在的靜態電流也會加速電遷移(EM)的累積。因此,完整的功耗簽核通常會與 IR Drop 分析、EM 分析一起做,而不是只看功耗總量。
六、常見誤區與工程師 FAQ
誤區一:功耗簽核只要看動態功耗就好。
錯。對行動裝置與物聯網產品而言,待機漏電往往才是使用者最有感的痛點。一顆滿載表現漂亮但待機漏電偏高的晶片,在市場上會被評價為「很耗電」。
誤區二:漏電是待機才有的事,跟效能無關。
錯。漏電會持續消耗功耗預算,導致散熱設計更吃緊、可用功耗預算變少,間接壓縮了效能發揮的空間。而且在高效能模式下,漏電仍然存在,只是被動態功耗稀釋了比例。
誤區三:時序不過就拉高電壓,反正只是多耗一點電。
拉高電壓對動態功耗是平方級的影響,對漏電也是負面影響。這是典型的「用功耗換時序」,代價往往比想像中高。更好的做法是回到實體設計解決時序問題,或調整 Multi-Vt 的使用策略。
誤區四:低功耗是製程的事,設計端沒什麼能做的。
正好相反。同一顆製程,不同的架構、電源域規劃、Clock Gating 覆蓋率、Multi-Vt 策略、DVFS 檔位設計,功耗可以差到數倍。製程提供的是舞台,設計才是演出。
Q:為什麼手機放一晚會掉 5%,明明什麼都沒做?
因為手機並沒有真正「斷電」。基頻、Wi-Fi、藍牙、感測器中樞、電源管理 IC 都還維持著低限度的通電與週期性喚醒,而這些電路本身就帶有漏電。只要電池接著、電源沒有完全切斷,漏電就會持續存在。
Q:為什麼筆電闔上蓋子放進背包還是溫的?
可能是「現代待機(Modern Standby)」或類似的低功耗待機模式仍在背景執行網路維護、更新等任務,也可能是某些電路沒有進入深睡。無論哪一種,背後都是「漏電 + 少量動態功耗」在持續發熱。
Q:FinFET 不是解決漏電了嗎?
FinFET 透過閘極三面包覆通道,大幅改善了閘極控制力,確實讓漏電比同世代平面製程明顯降低。但它並沒有「消滅」漏電,只是把曲線推回去一些。到了 5nm、3nm 甚至更先進節點,短通道效應、閘極漏電與變異問題又會以新的形式回來,這也是 GAA(環繞式閘極)等新結構登場的原因。
七、結語:漏電是物理,功耗簽核是紀律
回到最初的問題:為什麼晶片漏電會比運算更耗電?
答案其實不複雜:因為運算只是偶爾發生,漏電卻是持續發生。動態功耗會隨著工作量增減,漏電卻像一筆永遠付不完的固定帳單。當晶片大部分時間處於低負載或待機狀態時,這筆固定帳單自然就成為總功耗的主體。再加上製程微縮讓 Vth 越來越低、溫度正回饋讓漏電越滾越大,漏電在先進節點的重要性只會越來越高。
而「功耗簽核」的價值,就在於它讓工程師能在晶片還沒製造出來之前,就把這些看不見的電流算清楚——在哪個溫度、哪個電壓、哪種工作模式下,漏電會是多少、動態功耗會是多少、峰值電流會不會撐爆電源網路。它不是一個漂亮的數字報表,而是一套紀律:老老實實地在每個角落、每種模式下確認,這顆晶片在真實世界裡不會讓使用者的電量莫名其妙地流失。
下次當你發現手機待機一晚掉了幾 % 電,或筆電收在包包裡卻微微發熱時,不妨想想:那背後可能是數十億顆電晶體,正以一種極其微小的方式,持續地「呼吸」著。而讓這份呼吸盡可能輕盈,正是功耗簽核工程師每天在做的事。