🎯 單元目標
完成本單元後,你將能夠:
- 用直覺理解 CMOS 切換時到底發生了什麼(電荷搬運)
- 分清楚暫態功耗的兩大來源:充放電功耗 vs 短路功耗
- 看懂 α、C、VDD、f 為何是數位功耗四大槓桿
- 把功耗直覺連到高科技實務:clock tree、buffer chain、DVFS、功耗預算與熱設計
🧭 一、先給一句話總結(超核心)
👉 CMOS 的功耗主要發生在「輸出節點電容充放電」以及「切換瞬間上下管同時導通」。
穩態幾乎不耗電,但切換一多,功耗就像水龍頭打開一樣湧出來。🧑🏫 二、給初學者的解析:你以為在算,其實在「搬電荷」
2.1 初學者常見誤解:CPU/GPU 很燒電是因為「算很難」
更接近真相的說法是:
👉 它燒電是因為「太多節點在翻轉」,每次翻轉都要搬一次電荷。
你可以把每個輸出節點想成一個「小水桶」(電容 Cload):
- 0 → 1:把水桶灌滿(充電)
- 1 → 0:把水桶倒掉(放電到地)
一直灌、一直倒 → 電費就一直來。
2.2 一句更白話的直覺
👉 運算 = 控制很多開關翻轉的順序;耗電 = 翻轉本身帶來的充放電成本。
🧠 三、切換時到底在做什麼?(把電路化成一顆「等效電容」)
把 CMOS 的輸出 Vout 想成掛著一顆看不見的 Cload:
Vout o----||---- GND
Cload
Cload 來源通常是:
- 下一級 gate 的輸入電容(Cin)
- 連線電容(wire cap)
- 你外加的負載(探棒/走線/電容)
切換時會發生兩件事:
- Vout 0→1:PMOS 把電荷灌進 Cload
- Vout 1→0:NMOS 把電荷排到 GND
👉 所以你每翻一次,就是在做一次「搬運電荷」的工作。
🧠 四、暫態功耗第一大宗:充放電功耗(Dynamic / Capacitive Power)
4.1 初學者必懂的「一次切換」直覺
- 電容越大(C 越大)→ 要搬的電荷越多 → 越耗
- 電壓越大(VDD 越大)→ 每次搬的能量更貴,而且是平方
一句話:
👉 VDD 是最貴的槓桿(平方成本)。
4.2 變成每秒多少錢(功率直覺)
你每秒切換 f 次,但不是每顆都在切,所以用 α(活動因子):
Pcap ≈ α · Cload · VDD² · f
四大槓桿(初學者只要背這四個「誰最能救命」):
- α:誰在亂翻(活動率)
- C:你推多重(負載電容/扇出/走線)
- VDD²:電壓最貴(降壓最有效)
- f:翻多快(頻率越高越貴)
🧠 五、暫態功耗第二大宗:短路功耗(Short-circuit Power)
切換期間,NMOS/PMOS 可能同時半開 → 形成瞬間直通:
VDD -- PMOS --+
+-- NMOS -- GND
5.1 什麼情況短路功耗最容易暴增?
✅ 輸入邊沿太慢(slew rate 差)
因為 Vin 在「中間區」停留更久 → 兩顆同時半開更久 → 短路電流積分更大。
一句話:
👉 慢切換 = 長時間短路 = 更燒電、更熱、更吵(電源噪聲更大)。
5.2 工程策略(初學者先記住這三招)
- 用 buffer chain 把邊沿變快
- 不要用高阻訊號源直接推大負載
- clock tree 用專用 clock buffer,把 slew 控在規格內
🧠 六、為什麼 clock tree 是功耗大戶?(實務必懂)
時脈的特性幾乎是「四槓桿全開」:
- α ≈ 1(幾乎每個週期都翻)
- C 超大(扇出巨大 + 長走線)
- f 很高(時脈就是最高頻活動來源之一)
- VDD 通常不能太低(需要速度/穩定)
所以:
👉 clock tree 常常是 SoC 最大的動態功耗來源之一。
因此省電第一刀常砍:
- clock gating(不需要就別讓它翻)
- DVFS(降壓降頻)
- power gating(不工作就整塊關電源,連漏電一起治)
🧠 七、暫態功耗也是熱與可靠度的起點(你以為只是耗電,其實會「搞壞」)
功耗會變熱:
👉 P 變成熱流 → 溫度上升 → 漏電上升 → 更熱(正回授)
同時切換也會造成:
- 瞬間電流尖峰(di/dt 大)
- 供電下陷(IR drop)
- 地彈(ground bounce)
- 電源噪聲(SSN)
- 波形變形、誤判、甚至 reset / 當機
一句話:
👉 暫態功耗不只燒電,也會燒可靠度與穩定性。
🧾 八、一句話記住本單元
⚡ CMOS 暫態功耗 =
👉 充放電功耗(α·C·VDD²·f) + 切換瞬間短路功耗(邊沿慢就慘)
省電本質就是控制:
誰在翻(α)、推多重(C)、用多大電壓(V²)、翻多快(f),並讓邊沿夠快避免短路功耗失控。
🔬 電子學實驗題(48/120)
實驗名稱
觀察 CMOS 切換瞬間電流尖峰:Cload、頻率與輸入邊沿對功耗的影響(實務版)
🎯 實驗目的
- 量測切換時供電瞬間電流尖峰(動態功耗證據)
- 比較不同 Cload 對尖峰與平均功耗的影響
- 比較不同頻率 f 對平均功耗的影響
- 比較輸入邊沿快慢對短路功耗的影響
🧰 器材
- CMOS 反相器 IC(74HC04 或類似)
- 電源(3.3V/5V,依 IC 規格)
- 函數產生器(可調頻率;能調 rise/fall 更佳)
- 示波器(至少 2ch)
- Rsense(1Ω~10Ω)
- Cload(10pF、100pF、1nF、10nF)
- 去耦電容 0.1uF(靠近 IC)
⚠️ 實驗前「很重要」提醒(初學者最常踩坑)
- 去耦電容一定要放,不然尖峰會變成電源噪聲大亂斗,看不到乾淨規律波形。
- Rsense 不要太大:太大會讓 VDD 掉太多,反而改變電路行為(建議 1Ω~5Ω 起跳)。
- 大 Cload(例如 10nF)可能讓輸出邊沿太慢,74HC 系列未必推得動,要降低頻率或減小 C。
- 示波器探棒接地線太長會引入雜訊,尖峰可能「看起來很假」,盡量用短接地。
🔧 接線 ASCII 圖(加圖說+量測點)
(A) 供電端串 Rsense:把它當「電流探頭」
+VDD ----[ Rsense ]----+---- VDD pin (IC)
|
CH1
(量 Vsense:Rsense 兩端)
GND ------------------------ GND pin (IC)
圖說:
- Vsense ≈ Idd × Rsense
- 所以你看到的 Vsense 尖峰 = 供電電流尖峰
- 尖峰越高/越寬 → 瞬間功耗越大,平均功耗也更大
(B) 輸入與輸出負載(同時量 Vin、Vout)
函數產生器 CH2 ---> Vin pin (IC)
Vout pin (IC) ----o---- CH? (示波器量 Vout)
|
[ Cload ]
|
GND
圖說:
- Cload 越大,i = C·dv/dt 需要的電流越大
- 所以 Vsense 尖峰會更大,且 Vout 邊沿會變慢
🔧 實驗步驟(每步都寫「你會看到什麼」)
Step A:改 Cload(看 C 對尖峰與功耗)
- 固定 VDD、固定頻率 f(例如 100kHz)
- Cload = 0(或最小),觀察 Vsense 基準尖峰
- 依序換 10pF → 100pF → 1nF → 10nF
你會看到:
- C 越大 → Vsense 尖峰越高/更寬
- Vout 上升/下降時間變慢(slew 變差)
- 平均供電電流上升(示波器平均值或 DMM 會看得到趨勢)
Step B:改頻率 f(看平均功耗近似線性)
- 固定 Cload(例如 1nF)
- f:10kHz → 100kHz → 1MHz(依設備能力)
你會看到:
- 尖峰形狀差不多,但「出現次數變多」
- 平均電流/平均功耗明顯上升(近似 ∝ f)
Step C:改邊沿快慢(抓短路功耗)
- 固定 Cload 與 f
- 調函數產生器 rise/fall time:快 → 慢
你會看到:
- 邊沿越慢,Vsense 波形會出現「額外的導通電流成分」
- 尖峰可能變寬(兩管同時半開更久)
- 某些情況平均電流上升,且 Vout 更鈍、切換更慢
✅ 專業解析(對照你看到的波形)
- 尖峰來自:i = C·dv/dt(搬電荷瞬間電流)
- f 影響平均值:每秒付費次數增加 → 平均功耗 ∝ f
- 慢邊沿增加短路功耗:Vin 在中間區停留更久 → VDD→GND 直通更久
🧠 實務總結(把這單元直接對接工程現場)
1) 你看到的不是「電路在算」,是「電荷在搬」
晶片省電的核心不是「少做運算」,而是:
- 少讓節點翻(α)
- 少推電容(C)
- 能降壓就降壓(V² 最強槓桿)
- 不需要就降頻(f)
- 邊沿要夠快,短路功耗別拖長(slew 受控)
2) 為什麼 SoC 會滿是 clock gating / power domain?
因為 clock tree 是 α≈1 的功耗大戶;
power gating 是對付漏電的最狠刀; 兩者合起來才撐得住十億顆規模與待機需求。
3) 為什麼「同時切換」會造成不穩?
瞬間電流尖峰大 → PDN 下陷、地彈、雜訊增加 → 誤判、抖動、甚至當機。
所以暫態功耗同時是: 👉 功耗問題 + 熱問題 + 可靠度問題 + 系統穩定性問題。