Visual walkthrough — Static vs dynamic power dissipation
Prerequisites we lean on: CMOS Inverter operation (the PMOS/NMOS switch pair), Capacitance in interconnects (where comes from). Parent: Static vs dynamic power.
Step 0 — The three characters (build every symbol first)
Before any equation, meet the actors. We will NOT use a symbol we have not drawn.
The one law connecting charge and voltage on the bucket:
- — charge sitting on the plate (coulombs), the "amount of water".
- — bucket wideness (constant for a given wire).
- — voltage across the cap right now (the "water level"), which rises as piles up.
Step 1 — What "charging" physically means
WHAT. We close the top switch (the PMOS turning on). The battery, at fixed height , is now connected through the resistor to the empty capacitor.
WHY. This is exactly what happens when a CMOS output rises from LOW to HIGH: the PMOS connects to the load wire. We want the energy bill of this one event.
PICTURE. Charge leaves the battery's high side, is pushed down through , and lands on the capacitor plate. As charge lands, the cap's level climbs from toward .
The current — the flow rate of charge — is:
- — how fast charge is flowing right now (amps = coulombs per second).
- — how fast the water level is rising. WHY a derivative? "Rate of change of level" is precisely the slope of the -vs-time curve; the derivative is the tool that reads a slope off a curve. We chose it because current is a rate.
- Multiply by because a wider bucket needs more charge-flow to raise its level at the same speed.
At the start the level is , so the full battery height appears across → big current. As the level rises, less height is left across → the current tapers off. The flow self-limits.
Step 2 — Energy the battery pays
WHAT. Add up every joule the battery hands out during the whole charge-up.
WHY. Energy = (push) × (charge moved through that push). The battery always pushes at height , so every coulomb it delivers costs joules-per-coulomb.
- — "sum over all instants of time" (the tool for adding up a continuously changing thing).
- — pulled outside the sum because it never changes.
- — a tiny sliver of charge delivered in a tiny time .
The trick — change the variable from time to voltage. Since (from Step 1), the messy time-integral becomes a clean voltage-integral:
-
WHY swap variables? We do not know in detail (it depends on ), but we do know the level always travels from to . Rewriting in terms of makes vanish from the accounting — that is the whole point.
-
Result = area of a full rectangle: height , width .
Step 3 — Energy the capacitor keeps
WHAT. Of that , how much is now stored in the full bucket (not wasted)?
WHY. Stored energy = sum of (current level) × (charge added at that level). Early charge is added when the level is low (cheap); late charge when the level is high (expensive).
-
— the level at the moment this sliver arrives (varies from to ).
-
— the sliver of charge .
-
The integral of a straight line gives the triangle area .
-
The picture says it all: the rectangle (battery pays) splits into a triangle stored and an equal triangle wasted. Two equal triangles → the stored half and the burned half are the same.
Step 4 — Energy the resistor burns (the "½ lost" is forced)
WHAT. Whatever the battery paid but the cap did not keep must have turned to heat in :
WHY it must be exactly half. Energy cannot vanish (conservation). The rectangle is the total; the triangle is what's saved; the other triangle is the only place left for it to go — heat.
PICTURE — where went. Notice never appears in the answer. Look at the two charging curves for a small (fast, spiky current) and a large (slow, gentle current). Different shapes in time — identical area under , because both start at level and finish at level .
Step 5 — The discharge (falling edge) burns the other half
WHAT. Now open the top switch and close the bottom one (NMOS on). The full bucket drains to ground through the NMOS resistance.
WHY. On the way down, no battery is involved — the stored is the only energy present, and it all leaves as charge slides down through the resistor to ground.
PICTURE. The level falls ; the stored triangle empties entirely into heat in the NMOS. No battery pays; the cap pays.
Add up one full up-then-down cycle:
The stored half from charging is not saved for later — it's spent as heat on the way down. So one clean toggle up-and-back = of heat, exactly the battery's original bill.
Step 6 — From one cycle to power, and the two edge cases
WHAT. Power is energy per second. If the gate completes cycles each second, and only a fraction of clocks actually cause a toggle:
- — activity factor (0–1): the chance this node toggles on a given clock. WHY needed? most nodes sit still most of the time; multiplying by counts only the toggles that really happen.
- — clocks per second. Turns energy-per-cycle into energy-per-second = watts.
- — the quadratic: one from charge , one from the height it was pushed through.
Cover every case — the degenerate ends:
| Case | What happens | Result |
|---|---|---|
| (node never toggles) | no charge ever moves | ; only leakage remains |
| (toggles every clock) | maximum switching | |
| (clock stopped) | no cycles per second | dynamic power ; the chip still leaks (static) |
| no height to push through | power quadratically — the low-voltage win | |
| (ideal switch) | still two full triangles | heat per cycle still — never zero! |
The one-picture summary
One rectangle of battery energy splits into two equal triangles: half stored on the rising edge, half burned in the PMOS. On the falling edge the stored triangle burns in the NMOS. Full cycle → all of it is heat → . Multiply by activity and clock rate to get .
Recall Feynman retelling — say it like a story
Imagine filling a bucket from a fixed-height tap. The tap always pushes at the same height , so every drop it delivers costs the full height. But the first drops land in an empty bucket (low level, cheap to store) while the last drops must climb to a nearly-full level (expensive). Averaging, the bucket only keeps half of what the tap paid — the other half was "wasted" fighting the resistance on the way in, as heat. Then when you tip the bucket out onto the ground, that stored half also turns into heat as the water rushes down. So a full fill-and-dump wastes everything the tap paid: . Do this times a second and you get the power. The astonishing part: it doesn't matter how narrow the pipe () is — a narrow pipe just makes the water dribble slowly, a wide pipe gushes, but the total water and total wasted energy are identical. Resistance sets the speed, never the bill.
Recall Quick self-check
Battery energy for one charge-up ::: Energy stored on the full cap ::: Heat in PMOS during charge ::: Heat per full cycle (up + down) ::: Does the answer depend on ? ::: No — only sets speed () Power from energy-per-cycle ::: multiply by →
Related: Propagation delay in CMOS (that same sets the delay), Voltage scaling and Dennard scaling (why the term is the prime target), Power gating and clock gating (killing and leakage when idle).