10/4-6/05ELEC 5970-001/6970-001 Lecture 111 ELEC 5970-001/6970-001(Fall 2005) Special Topics in...

Preview:

Citation preview

10/4-6/05 ELEC 5970-001/6970-001 Lecture 11 1

ELEC 5970-001/6970-001(Fall 2005)Special Topics in Electrical EngineeringLow-Power Design of Electronic Circuits

Power Analysis: Probabilistic Methods

Vishwani D. AgrawalJames J. Danaher Professor

Department of Electrical and Computer EngineeringAuburn University

http://www.eng.auburn.edu/~vagrawalvagrawal@eng.auburn.edu

10/4-6/05 ELEC 5970-001/6970-001 Lecture 11 2

Basic Idea

• View signals as a random processes

Prob{s(t) = 1} = p1 p0 = 1 – p1

C

0→1 transition probability = (1 – p1) p1

Power, P = (1 – p1) p1 CV2fck

10/4-6/05 ELEC 5970-001/6970-001 Lecture 11 3

Source of Inaccuracy

1/fck

p1 = 0.5 P = 0.5CV2fck

p1 = 0.5 P = 0.33CV2fck

p1 = 0.5 P = 0.167CV2fck

Observe that the formula, Power, P = (1 – p1) p1 CV2fck, is notCorrect.

10/4-6/05 ELEC 5970-001/6970-001 Lecture 11 4

Switching Frequency

Number of transitions per unit time:

N(t)T = ───

t

For a continuous signal:

N(t)T = lim ───

t→∞ t

T is defined as the transition density.

10/4-6/05 ELEC 5970-001/6970-001 Lecture 11 5

Static Signal Probabilities

• Observe signal for interval t0 + t1– Signal is 1 for duration t1– Signal is 0 for duration t0– Signal probabilities:

• p1 = t1/(t0 + t1)• p0 = t0/(t0 + t1) = 1 – p1

10/4-6/05 ELEC 5970-001/6970-001 Lecture 11 6

Static Transition Probabilities

• Transition probabilities:• T01 = p0 Prob{signal is 1 | signal was 0} = p0 p1• T10 = p1 Prob{signal is 0 | signal was 1} = p1 p0• T = T01 + T10 = 2 p0 p1 = 2 p1 (1 – p1)

• Transition density: T = 2 p1 (1 – p1)

• Transition frequency: f = T/ 2

• Power = CV2T/ 2 (correct formula)

10/4-6/05 ELEC 5970-001/6970-001 Lecture 11 7

Static Transition Frequency

0 0.25 0.5 0.75 1.0

0.25

0.2

0.1

0.0

p1

f =

p1

(1 –

p1

)

10/4-6/05 ELEC 5970-001/6970-001 Lecture 11 8

Inaccuracy in Transition Density

1/fck

p1 = 0.5 T = 1.0

p1 = 0.5 T = 4/6

p1 = 0.5 T = 1/6

Observe that the formula, T = 2 p1 (1 – p1), is not correct.

10/4-6/05 ELEC 5970-001/6970-001 Lecture 11 9

Cause for Error and Correction

• Probability of transition is not independent of the present state of the signal.

• Consider probability p01of a 0→1 transition,• Then p01 ≠ p0 p1• We can write p1 = (1 – p1)p01 + p1 p11

p01p1 = ─────────

1 – p11 + p01

10/4-6/05 ELEC 5970-001/6970-001 Lecture 11 10

Correction (Cont.)

• Since p11 + p10 = 1, i.e., given that the signal was previously 1, its present value can be either 1 or 0.

• Therefore, p01

p1 = ────── p10 + p01

This uniquely gives signal probability as a function of transition probabilities.

10/4-6/05 ELEC 5970-001/6970-001 Lecture 11 11

Transition and Signal Probabilities

1/fck

p01 = p10 = 0.5 p1 = 0.5

p01 = p10 = 1/3 p1 = 0.5

p1 = 0.5p01 = p10 = 1/6

10/4-6/05 ELEC 5970-001/6970-001 Lecture 11 12

Probabilities: p0, p1, p00, p01, p10, p11

• p01 + p00 =1

• p11 + p10 = 1

• p0 = 1 – p1

• p01

p1 = ──────

p10 + p01

10/4-6/05 ELEC 5970-001/6970-001 Lecture 11 13

Transition Density

• T = 2 p1(1 – p1) = p0 p01 + p1 p10

= 2 p10 p01/(p10 + p01)

= 2 p1 p10 = 2 p0 p01

10/4-6/05 ELEC 5970-001/6970-001 Lecture 11 14

Power Calculation

• Power can be estimated if transition density is known for all signals.

• Calculation of transition density requires– Signal probabilities– Transition densities for primary inputs;

computed from vector statistics

10/4-6/05 ELEC 5970-001/6970-001 Lecture 11 15

Signal Probabilities

x1

x2

x1 x2

x1

x2

x1 + x2 – x1x2

x1 1 - x1

10/4-6/05 ELEC 5970-001/6970-001 Lecture 11 16

Signal Probabilities

x1

x2 x3

x1 x2

y = 1 - (1 - x1x2) x3 = 1 - x3 + x1x2x3 = 0.625

X1 X2 X3 Y0 0 0 10 0 1 00 1 0 10 1 1 01 0 0 11 0 1 01 1 0 11 1 1 1

0.5

0.5

0.5

0.25 0.625

Ref: K. P. Parker and E. J. McCluskey,“Probabilistic Treatment of General Combinational Networks,” IEEE Trans. on Computers, vol. C-24, no. 6, pp. 668-670, June 1975.

10/4-6/05 ELEC 5970-001/6970-001 Lecture 11 17

Correlated Signal Probabilities

x1

x2

x1 x2

y = 1 - (1 - x1x2) x2 = 1 – x2 + x1x2x2 = 1 – x2 + x1x2 = 0.75

X1 X2 Y0 0 10 1 01 0 11 1 1

0.5

0.5 0.25 0.625?

10/4-6/05 ELEC 5970-001/6970-001 Lecture 11 18

Correlated Signal Probabilities

x1

x2

x1 + x2 – x1x2

y = (x1 + x2 – x1x2) x2 = x1x2 + x2x2 – x1x2x2 = x1x2 + x2 – x1x2 = x2 = 0.5

X1 X2 Y0 0 00 1 11 0 01 1 1

0.5

0.5 0.75 0.375?

10/4-6/05 ELEC 5970-001/6970-001 Lecture 11 19

Observation

• Numerical computation of signal probabilities is accurate for fanout-free circuits.

10/4-6/05 ELEC 5970-001/6970-001 Lecture 11 20

Remedies

• Use Shannon’s expansion theorem to compute signal probabilities.

• Use Boolean difference formula to compute transition densities.

10/4-6/05 ELEC 5970-001/6970-001 Lecture 11 21

Shannon’s Expansion Theorem

• C. E. Shannon, “A Symbolic Analysis of Relay and Switching Circuits,” Trans. AIEE, vol. 57, pp. 713-723, 1938.

• Consider:• Boolean variables, X1, X2, . . . , Xn• Boolean function, F(X1, X2, . . . , Xn)

• Then F = Xi F(Xi=1) + Xi’ F(Xi=0)• Where

• Xi’ is complement of X1• Cofactors, F(Xi=j) = F(X1, X2, . . , Xi=j, . . , Xn), j = 0 or 1

10/4-6/05 ELEC 5970-001/6970-001 Lecture 11 22

Expansion About Two Inputs

• F = XiXj F(Xi=1, Xj=1) + XiXj’ F(Xi=1, Xj=0)

+ Xi’Xj F(Xi=0, Xj=1) + Xi’Xj’ F(Xi=0, Xj=0)

• In general, a Boolean function can be expanded about any number of input variables.

• Expansion about k variables will have 2k terms.

10/4-6/05 ELEC 5970-001/6970-001 Lecture 11 23

Correlated Signal Probabilities

X1

X2

X1 X2

X1 X2 Y0 0 10 1 01 0 11 1 1

Y = X1 X2 + X2’

Shannon expansion about the reconverging input:

Y = X2 Y(X2=1) + X2’ Y(X2=0) = X2 (X1) + X2’ (1)

10/4-6/05 ELEC 5970-001/6970-001 Lecture 11 24

Correlated Signals

• When the output function is expanded about all reconverging input variables,

• All cofactors correspond to fanout-free circuits.• Signal probabilities for cofactor outputs can be calculated

without error.• A weighted sum of cofactor probabilities gives the correct

probability of the output.

• For two reconverging inputs:

f = xixj f(Xi=1, Xj=1) + xi(1-xj) f(Xi=1, Xj=0)

+ (1-xi)xj f(Xi=0, Xj=1) + (1-xi)(1-xj) f(Xi=0, Xj=0)

10/4-6/05 ELEC 5970-001/6970-001 Lecture 11 25

Correlated Signal Probabilities X1

X2

X1 X2

X1 X2 Y0 0 10 1 01 0 11 1 1

Y = X1 X2 + X2’

Shannon expansion about the reconverging input:

Y = X2 Y(X2=1) + X2’ Y(X2=0) = X2 (X1) + X2’ (1)

y = x2 (0.5) + (1-x2) (1) = 0.5 (0.5) + (1-0.5) (1) = 0.75

10/4-6/05 ELEC 5970-001/6970-001 Lecture 11 26

Example

Point of reconv.

Supergate0.5

0.5

0.5

0.5

0.25

10

0.50.0

0.01.0

0.51.0

Signal probability for supergate output = 0.5 Prob{rec. signal = 1} + 1.0 Prob{rec. signal = 0} = 0.5 × 0.5 + 1.0 × 0.5 = 0.75

0.375

Reconv. signal

S. C. Seth and V. D. Agrawal, “A New Model for Computation ofProbabilistic Testability in Combinational Circuits,” Integration, the VLSI Journal, vol. 7, no. 1, pp. 49-75, April 1989.

10/4-6/05 ELEC 5970-001/6970-001 Lecture 11 27

Probability Calculation Algorithm

• Partition circuit into supergates.• Definition: A supergate is a circuit partition with a single output

such that all fanouts that reconverge at the output are contained within the supergate.

• Identify reconverging and non-reconverging inputs of each supergate.

• Compute signal probabilities from PI to PO:– For a supergate whose input probabilities are known

– Enumerate reconverging input states– For each input state do gate by gate probability computation– Sum up corresponding signal probabilities, weighted by state

probabilities

10/4-6/05 ELEC 5970-001/6970-001 Lecture 11 28

Calculating Transition Density

Boolean function

1

n

x1, T1..... xn, Tn

y, T(Y) = ?

10/4-6/05 ELEC 5970-001/6970-001 Lecture 11 29

Boolean Difference

• Boolean diff(Y, Xi) = 1 means that a path is sensitized from input Xi to output Y.

• Prob(Boolean diff(Y, Xi) = 1) is the probability of transmitting a toggle from Xi to Y.

• Probability of Boolean difference is determined from the probabilities of cofactors of Y with respect to Xi.

∂YBoolean diff(Y, Xi) = ── = Y(Xi=1) ⊕ Y(Xi=0)

∂Xi

F. F. Sellers, M. Y. Hsiao and L. W. Bearnson, “Analyzing Errors with the Boolean Difference,” IEEE Trans. on Computers, vol. C-17, no. 7, pp. 676-683, July 1968.

10/4-6/05 ELEC 5970-001/6970-001 Lecture 11 30

Transition Density

nT(y) = Σ T(Xi) Prob(Boolean diff(Y, Xi) = 1)

i=1

F. Najm, “Transition Density: A New Measure of Activity in DigitalCircuits,” IEEE Trans. CAD, vol. 12, pp. 310-323, Feb. 1993.

10/4-6/05 ELEC 5970-001/6970-001 Lecture 11 31

Power Computation• For each primary input, determine signal probability and

transition density for given vectors.• For each internal node and primary output Y, find the

transition density T(Y), using supergate partitioning and the Boolean difference formula.

• Compute power,

P = Σ 0.5CY V2 T(Y)

all Y

where CY is the capacitance of node Y and V is supply voltage.

10/4-6/05 ELEC 5970-001/6970-001 Lecture 11 32

Transition Density and Power

X1

X2 X3

0.2, 1

0.3, 2

0.4, 3

0.06, 0.7

0.436, 3.24

Transition densitySignal probability

YCi

CY

Power = 0.5 V2 (0.7Ci + 3.24CY)

10/4-6/05 ELEC 5970-001/6970-001 Lecture 11 33

Prob. Method vs. Logic Sim.

CircuitNo. of gates

Probability method Logic SimulationError

%Av. density CPU s* Av. density CPU s*

C432 160 3.46 0.52 3.39 63 +2.1

C499 202 11.36 0.58 8.57 241 +29.8

C880 383 2.78 1.06 3.25 132 -14.5

C1355 346 4.19 1.39 6.18 408 -32.2

C1908 880 2.97 2.00 5.01 464 -40.7

C2670 1193 3.50 3.45 4.00 619 -12.5

C3540 1669 4.47 3.77 4.49 1082 -0.4

C5315 2307 3.52 6.41 4.79 1616 -26.5

C6288 2406 25.10 5.67 34.17 31057 -26.5

C7552 3512 3.83 9.85 5.08 2713 -24.2* CONVEX c240

Recommended