Clock Gating vs Power Gating: Key Differences Explained
Both are low-power design techniques that reduce the power of unused circuits, but they stop different things. Clock gating stops the clock to registers, eliminating signal switching and reducing dynamic power. Power stays on, so state is retained and operation can resume immediately within one to a few cycles. Power gating cuts a block's power with a switch, eliminating almost all static power from leakage current in addition to dynamic power. The trade-off is that state is lost, so a mechanism to save it is needed, and wake-up takes longer.
| Aspect | Clock gating | Power gating |
|---|---|---|
| Power reduced | Dynamic power (switching in the clock network, flip-flops and downstream logic) | Both static power (leakage) and dynamic power |
| What is stopped | The clock to registers | The power supply to the block |
| Power supply | Stays on. Leakage current keeps flowing | Power switches disconnect the block's supply rail |
| State retention | Retained | Lost. Required state is saved in retention flip-flops (retention registers) or memory |
| Wake-up time | One to a few cycles | Long. Power is restored while limiting inrush current and the state is restored, typically on the order of µs |
| Required circuits | ICG (a clock-gating cell built from a latch and an AND gate) and logic to generate the enable | Power switches (headers or footers), isolation cells, retention flip-flops and a power sequencing controller |
| Granularity | Fine. Can be applied to groups of just a few registers | Coarse. Applied per block (power domain), such as a CPU core or an IP block |
| Design and verification | Logic synthesis tools can insert it automatically from enable conditions. STA performs clock-gating checks | Power intent is described in UPF or similar formats, and behavior and sequencing when power is cut must also be verified |
| Overhead | Small. ICG area and delay | Power switch area and voltage drop, plus energy to save and restore. Not worthwhile for short idle periods |
| Typical use | In almost all digital circuits, stopping the registers of inactive functions | Shutting down blocks that are unused for long periods. Deep CPU idle states, unused blocks in smartphone SoCs |
Figures are typical orders of magnitude and vary by process generation and product.