Power Estimation
Naehyuck Chang
Dept. of EECS/CSE
Seoul National University
naehyuck@snu.ac.kr
1
ELPL Embedded Low-Power
Laboratory
Contents
SPICE power analysis
Power estimation basics
Signal probability calculation
Switching Activity
Leakage Estimation
2
Circuit-level power analysis
SPICE is the de facto standard power analysis tool
Simulation program with integrated circuit emphasis
A lot of SPICE related literatures and simulators
HSPICE, PSPICE, and so on
The reference for the higher abstraction levels
Accurate but slow
Analytical models of MOSFET
Recently, faster analysis tools were introduced
E.g. PowerMill, Spectre, and so on
Still accuracy is inferior to SPICE
3
Embedded Low-Power Laboratory
SPICE basics
Solving a large matrix of nodal current using Krichoff’s Current
Law (KCL)
Primitive elements
Registers, capacitors, inductors, current sources, and voltage
sources
More complex elements
Such as diodes and transistors
Constructed from the primitive elements
Analysis modes
DC analysis
Transient analysis
4
Embedded Low-Power Laboratory
SPICE power analysis
Can estimate all types of power consumption
Dynamic/static/leakage
Not feasible for the entire chip due to the computation
complexity
Can be used as a characterization tool for higher abstraction level
analysis
Can consider process and other parameter’s variation
BEST/TYPICAL/WORST
5
Embedded Low-Power Laboratory
Discrete transistor modeling/analysis
To speed up the analysis
Lose accuracy
Typical methods
Circuit model
Approximate the complex equations into a linear equation
Tabular transistor model
Express the transistor models in tabular forms
Switch model
Consider a transistors as a two-state switch (on/off)
6
Embedded Low-Power Laboratory
Circuit model
• The linear equation should be numerically evaluated whenever the operating
points change
7
Embedded Low-Power Laboratory
Tabular transistor model
Pre-compute a current table
Look up the table instead of solving an equation
Table format
Vgso Vdso ids
0.1 0.1 1
… … …
5 5 10
One-time characterization effort for each MOS
Event-driven appraoch can be used for speed-up
Nearly two orders of magnitude improvement (speed, size)
8
Embedded Low-Power Laboratory
Switch model
• RC calculation for timing
• Power is estimated from the switching
frequency and capacitance
• Further speed-up, but less accuracy
9
Embedded Low-Power Laboratory
Power characterization for cell library
Circuit-level power analysis is time consuming
Need to speed up with reasonable accuracy loss
Levels beyond gate level will be discussed later
Partially similar to delay characterization
Dynamic power
Capacitive power dissipation
Internal switching power dissipation
Leakage power
Accuracy depends on the model of circuit simulation
Iterative analytic estimation
Simulation based approach
10
Embedded Low-Power Laboratory
Power characterization flow
Accuracy vs. speed
Too many input patterns too many simulation runs
Too many input patterns probabilistic analysis
010110
110111 A large # of
Circuit
000100 current Average Power
Simulator
……… waveforms
Probability Analysis
Average Power
Values tools
11
Embedded Low-Power Laboratory
Simulation-based cell characterization
Parameters
Input pattern (logical value)
Input slope
Output loading capacitance
Process condition
Total # of runs of simulation is the multiplication of the possible
number of values of each parameter
Some parameters are continuous
Input slope, output loading capacitance
Piece-wise linear approximation is widely used
Process/operation condition
BEST/TYPICAL/WORST
12
Embedded Low-Power Laboratory
Example: 2-input NAND (I)
Possible input patterns
Dynamic power Static power
A B C Power A B C Power
1 r f ? 0 0 1 ?
1 f r ? 0 1 1 ?
r 1 f ? 1 0 1 ?
f 1 r ? 1 1 0 ?
8 simulation runs!
13
Embedded Low-Power Laboratory
Example: 2-input NAND (II)
Input slope
Depending on the predecessor
Capacitance
Depending on the successor
proportional to the # of fan-outs
If we consider four points for capacitance
Total # of simulation runs for a single input
2 (rise / fall) x 4 (# of input slopes) x 4 (# of capacitance points)
= 32 points
14
Embedded Low-Power Laboratory
Example: 2-input NAND (III)
Process/operation condition
Temperature
Process variations such as doping density
Typically use 3 conditions are widely used
Total # of simulations
For dynamic power
(2 x 2) x S x C x P
For static power
22 x P
15
Embedded Low-Power Laboratory
Additional factors to be characterized
Output slope
Used as an input slope of the successor
Need to know for each simulation point
Input capacitance
Used for computing the total output capacitance of the
predecessor
Can be estimated by the area of gate (W/L) and Tox
Parasitics: Cgs/Cgd
All the information should be included in the library
16
Embedded Low-Power Laboratory
Tool flow
Library Circuit Slope/Cap
information netlist information
input pattern
generator
Circuit
simulator
Simulation
Analyzer
Synthesis Library Simulation
library generator library
Embedded Low-Power Laboratory 17
Probability-based power estimation
Pre-requisite to move to module 8
If we ignore internal capacitance of a logic gate
Parameters
C: switched capacitance
f : the frequency of operation
For aperiodic signals: the average # of signal transitions per unit time
Called signal activity
Our concern
How to estimate f in a probabilistic manner
18
Embedded Low-Power Laboratory
Modeling of signals
To model the digital signals, need to know
Signal probability
Signal activity
g(t), t ∈(-∞, ∞)
A stochastic process that takes the values of logical 0 or 1
Transitioning from one to the other at random times
SSS: Strict-Sense Stationary
Mean ergodic
Constant mean with a finite variance
g(t) and g(t+τ) become uncorrelated as τ ∞
19
Embedded Low-Power Laboratory
Signal probability and activity
Signal probability
Z +T
1
P(g) = lim g(t)dt
T →∞ 2T −T
P(g=1) : signal probability
Signal activity
ng(T )
A(g) = lim
T →∞ T
ng(t): # of transitions of g(t) in the time interval between –T/2 and
+T/2
20
Embedded Low-Power Laboratory
Signal probabilities of simple gates
Inverter Assumption
g1, g2, …, gn are independent
Output signal probability
Determined by the given
boolean function
AND gate NOT: 1 –
AND: multiply
OR NOT ((NOT) AND (NOT))
OR gate
21
Embedded Low-Power Laboratory
Signal probability calculation (I)
By Parker and McClusky
Algorithm: Compute signal probabilities
Input: Signal probabilities of all the inputs to the circuit
Output: Signal probabilities of all nodes of the circuit
Stpe1: For each input signal and gate output in the circuit, assign
a unique variable
Step2: Starting at the inputs and proceeding to the outputs, write
the expression for the output of each gate as a function (using
standard expressions for each gate type for probability of its
output signal in terms of its mutually independent primary input
signals)
Step3: Suppress all exponents in a given expression to obtain the
correct probability for that signal
22
Embedded Low-Power Laboratory
Signal probability calculation (II)
Step 3 for protecting recovergent fanout
W/o step 3, the reconvergent fanout node may have a signal
probability higher than 1
A boolean function f
n: # of independent inputs
p: # of products
αi: some integer
Called as the sum of probability products of f
23
Embedded Low-Power Laboratory
Signal probability calculation: Example
y = x1x2 + x1x3, xi, I = 1, 2, 3 are mutually independent
z = x1x2’ + y
P(y) = P(x1x2) + P(x1x3) – P(x1x2)P(x1x3)
= P(x1)P(x2) + P(x1)P(x3) – P(x1)P(x2)P(x3)
P(z) = P(x1x2’) + P(y) – P(x1x2’)P(y)
= P(x1)P’(x2) + P(x1)P(x2) + P(x1)P(x3) – P(x1)P(x2)p(x3)
– P(x1)P’(x2)(P(x1)P(x2) + P(x1)P(x3) – P(x1)P(x2)P(x3))
P(x2)P’(x2) = P(x2)(1 – P(x2)) = 0
P(z) = P(x1)P’(x2) + P(x1)P(x2) + P(x1)P(x3) – P(x1)P(x2)p(x3)
– P(x1)P’(x2)P(x3)
24
Embedded Low-Power Laboratory
Signal probability using BDD (I)
BDD: Binary Decision Diagram
Shannon’s expansion
a
Cofactors w.r.t. xi and x’i
b
Example c
f = ab + c
0 1
25
Embedded Low-Power Laboratory
Signal probability using BDD (II)
P(f)
A depth first traversal of BDD, with a post order evaluation of
P(.) at every node is required for evaluation of P(f)
26
Embedded Low-Power Laboratory
References
http://public.itrs.net
Gary K. Yeap, “Practical Low Power Digital VLSI Design”,
Kluwer Academic Publishers, 1997
Kaushick Roy and Sharat C. Prasad, “Low Power CMOS VLSI:
Circuit Design”, Wiley Interscience, 2000
Kiat-Seng Yeo, Kaushik Roy, “Low Voltage, Low Power VLSI
Subsystems”, McGraw-Hill, 2004
27
Embedded Low-Power Laboratory
ELPL Embedded Low-Power
Laboratory
Switching Activity
Activity Factor:
System clock frequency = f
Let fsw = αf, where α = activity factor
If the signal is a clock, α = 1
If the signal switches once per cycle, α = ½
Dynamic gates: switch either 0 or 2 times per cycle, α = ½
Static gates: depending on design, but typically α = 0.1
Switching power:
28
ELPL Embedded Low-Power
Laboratory
Switching Activity
Abnormal switching activity
Glitch power
Power dissipated in
intermediate transitions
during the evaluation of
the logic function
Unbalanced delay paths are
principle cause
Usually 8% -25% of
dynamic power
29
ELPL Embedded Low-Power
Laboratory
Switching Activity
Transition Probability
Dynamic power is data dependent
Activity factor is dependent on the run-time data
Switching activity, P0→1, has two components
A static component: function of the logic topology
A dynamic component: function of the timing behavior (glitch)
Static transition probability
2-input NOR Gate
P0→1 = Pout=0 Pout=1= P0(1-P0)
With input signal probabilities
PA=1=1/2 and PB=1=1/2
NOR static transition probability
= 3/4 x 1/4 = 3/16
30
ELPL Embedded Low-Power
Laboratory
Switching Activity
Transition Probability
Switching activity is a strong function of the input signal
statistics
Generalized switching activity of a 2 input NOR gate
P0→1 = P0P1= (1-(1-PA)(1-PB)) (1-PA)(1-PB)
Transition probability for basic gates
Transition probability for 2 input NOR gates
31
ELPL Embedded Low-Power
Laboratory
Switching Activity
Transition Probability
Transition probability propagation
C: P0→1 = P0P1= (1-PA) PA =1/2 x 1/2 = 1/4
D: P0→1 = P0P1= (1-PCPB) PCPB
= (1 –(1/2 x 1/2)) x (1/2 x 1/2) = 3/16
32
ELPL Embedded Low-Power
Laboratory
Switching Activity
Signal Probability (advanced)
Generalized switching activity in combinational logic
Boolean difference:
Switching activity in sequential logic
Estimation of glitch power
33
ELPL Embedded Low-Power
Laboratory
Switching Activity
Decreasing the switching activities
No or little performance and/or functional degradation
Different coding techniques
Fewer bit transitions between two states
Boolean expressions simplification
Gate minimization
Avoid glitches
Get rid off unnecessary transitions
Power down modes
Turn off parts of that are not in use
34
ELPL Embedded Low-Power
Laboratory
Switching Activity
Decreasing the switching 100 000
activities
Example: gray coding
Hamming distance of one 101 001
Used when a sequence is
predictable
FSMs
Address busses
111 011
Makes full use of the bit-width
110 010
35
ELPL Embedded Low-Power
Laboratory
Leakage Estimation
Transistor leakage estimation
Leakage power components
Subthreshold leakage is the focus in leakage current modeling
(DIBL)
36
ELPL Embedded Low-Power
Laboratory
Leakage Estimation
Transistors in a circuit
Leakage current is strongly dependent on the relative position of
on and off devices in a transistor network
Position of devices
If transistors are connected in parallel and turned off, VDS and VS
are similar for each other
Leakage current can be calculated independently and summed up
If transistors are connected in series and turned off
Subthreshold current though each transistor must be the same
Voltage of the I-th transistor
37
ELPL Embedded Low-Power
Laboratory
Leakage Estimation
Large-circuit leakage current computation
Stack-based leakage estimation
On transistors are considered as a short circuit
Ignorance of the on resistance of transistors
The leakage current of a transistor in parallel with an on transistor
is ignored
VDS is estimated for the remaining transistors using
Leakage power
38
ELPL Embedded Low-Power
Laboratory
Leakage Estimation
Very large-circuit leakage estimation
Probabilistic approach
Huddles of large-circuit leakage current calculation
Calculation of the leakage current is complicated due to highly
nonlinear behavior of the drain current wrt source/drain voltage
SPICE simulation by using nonlinear model is still very expensive
Not feasible for the repeated evaluation of large circuits
Leakage current of a circuit is highly dependent on the circuit state
State probability must be considered
39
ELPL Embedded Low-Power
Laboratory
Leakage Estimation
State probability
Three-input NAND SPICE leakage simulation
40
ELPL Embedded Low-Power
Laboratory
Leakage Estimation
Gate state estimation
Necessary to simulate a substantial portion of the gates’ states
to obtain accurate average leakage of each gate
Requires extremely large number of random global circuit
vectors
Complexity reduction method
Probabilistic approach eliminates the need to do simulation over all
2n
A small subset of all the possible states is evaluated, based on the
notion of dominant-leakage states
41
ELPL Embedded Low-Power
Laboratory
Leakage Estimation
Calculation of state probability
Statistical simulation to measure the average leakage of an
entire circuit
Monte Carlo experiments
In each iteration, a randomly chosen circuit state is applied
Probabilistic approach is more effective than statistical
simulation for optimization purpose
Leakage optimization relies on accurate estimation rather than the
estimation of the total leakage
42
ELPL Embedded Low-Power
Laboratory
Leakage Estimation
Further simplification of the leakage calculation
Dominant leakage states
Leakage current in some states is significantly smaller than other
states
A state with more than one off transistor in a path from VDD to GND
results in far less leakage than a state with one off transistor (dominant
leakage state)
A set of dominant leakage states is generally small
Example: three-input NAND gate SPICE simulation
Average leakage is 1.78925 nA
Set of dominant leakage D={011, 101, 110, 111}
Only consideration of D, the average leakage is 1.7055 nA with 4.68%
error
43