350 likes | 368 Views
Explore the use of probabilistic methods for power analysis in electronic circuits, including transition probabilities, signal probabilities, and Shannon's expansion theorem.
E N D
ELEC 5270-001/6270-001(Fall 2006)Low-Power Design of Electronic CircuitsPower Analysis: Probabilistic Methods Vishwani D. Agrawal James J. Danaher Professor Department of Electrical and Computer Engineering Auburn University, Auburn, AL 36849 http://www.eng.auburn.edu/~vagrawal vagrawal@eng.auburn.edu ELEC 5270-001/6270-001 Lecture 10
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 ELEC 5270-001/6270-001 Lecture 10
Source of Inaccuracy p1 = 0.5 P = 0.5CV 2 fck 1/fck p1 = 0.5 P = 0.33CV 2 fck p1 = 0.5 P = 0.167CV 2 fck Observe that the formula, Power, P = (1 – p1) p1 CV2fck, is not Correct. ELEC 5270-001/6270-001 Lecture 10
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 transition density. ELEC 5270-001/6270-001 Lecture 10
Static Signal Probabilities • Observe signal for interval t 0 + t 1 • Signal is 1 for duration t 1 • Signal is 0 for duration t 0 • Signal probabilities: • p 1 = t 1/(t 0 + t 1) • p 0 = t 0/(t 0 + t 1) = 1 – p 1 ELEC 5270-001/6270-001 Lecture 10
Static Transition Probabilities • Transition probabilities: • T 01 = p 0 Prob{signal is 1 | signal was 0} = p 0 p1 • T 10 = p 1 Prob{signal is 0 | signal was 1} = p 1 p 0 • T = T 01 + T 10 = 2 p 0 p 1 = 2 p 1 (1 – p 1) • Transition density: T = 2 p 1 (1 – p 1) • Transition frequency: f = T/ 2 • Power = CV 2T/ 2 (correct formula) ELEC 5270-001/6270-001 Lecture 10
Static Transition Frequency 0.25 0.2 0.1 0.0 f = p1(1 – p1) 0 0.25 0.5 0.75 1.0 p1 ELEC 5270-001/6270-001 Lecture 10
Inaccuracy in Transition Density p1 = 0.5 T = 1.0 1/fck p1 = 0.5 T = 4/6 p1 = 0.5 T = 1/6 Observe that the formula, T = 2 p1 (1 – p1), is not correct. ELEC 5270-001/6270-001 Lecture 10
Cause for Error and Correction • Probability of transition is not independent of the present state of the signal. • Consider probability p 01 of a 0→1 transition, • Then p 01 ≠ p 0 × p 1 • We can write p 1 = (1 –p 1)p 01 + p 1 p 11 p 01 p 1 = ───────── 1 –p 11 + p 01 ELEC 5270-001/6270-001 Lecture 10
Correction (Cont.) • Since p 11 + p 10 = 1, i.e., given that the signal was previously 1, its present value can be either 1 or 0. • Therefore, p 01 p 1 = ────── p 10 + p 01 This uniquely gives signal probability as a function of transition probabilities. ELEC 5270-001/6270-001 Lecture 10
Transition and Signal Probabilities p01 = p10 = 0.5 p1= 0.5 1/fck p01 = p10 = 1/3 p1= 0.5 p01 = p10 = 1/6 p1= 0.5 ELEC 5270-001/6270-001 Lecture 10
Probabilities: p0, p1, p00, p01, p10, p11 • p 01 + p 00 =1 • p 11 + p 10 = 1 • p 0 = 1 – p 1 • p 01 p 1 = ─────── p 10 + p 01 ELEC 5270-001/6270-001 Lecture 10
Transition Density • T = 2 p 1 (1 – p 1) = p 0 p 01 + p 1 p 10 = 2 p 10 p 01 / (p 10 + p 01) = 2 p 1 p 10 = 2 p 0 p 01 ELEC 5270-001/6270-001 Lecture 10
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 ELEC 5270-001/6270-001 Lecture 10
Signal Probabilities x1 x2 x1 x2 x1 x2 x1 + x2 – x1x2 1 - x1 x1 ELEC 5270-001/6270-001 Lecture 10
Signal Probabilities 0.5 x1 x2 x3 x1 x2 0.25 0.5 0.625 0.5 y = 1 - (1 - x1x2) x3 = 1 - x3 + x1x2x3 = 0.625 X1 X2 X3 Y 0 0 0 1 0 0 1 0 0 1 0 1 0 1 1 0 1 0 0 1 1 0 1 0 1 1 0 1 1 1 1 1 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. ELEC 5270-001/6270-001 Lecture 10
Correlated Signal Probabilities 0.5 x1 x2 x1 x2 0.5 0.25 0.625? y = 1 - (1 - x1x2) x2 = 1 – x2 + x1x2x2 = 1 – x2 + x1x2 = 0.75 X1 X2 Y 0 0 1 0 1 0 1 0 1 1 1 1 ELEC 5270-001/6270-001 Lecture 10
Correlated Signal Probabilities 0.5 x1 + x2 – x1x2 x1 x2 0.75 0.5 0.375? y = (x1 + x2 – x1x2) x2 = x1x2 + x2x2 – x1x2x2 = x1x2 + x2 – x1x2 = x2 = 0.5 X1 X2 Y 0 0 0 0 1 1 1 0 0 1 1 1 ELEC 5270-001/6270-001 Lecture 10
Observation • Numerical computation of signal probabilities is accurate for fanout-free circuits. ELEC 5270-001/6270-001 Lecture 10
Remedies • Use Shannon’s expansion theorem to compute signal probabilities. • Use Boolean difference formula to compute transition densities. ELEC 5270-001/6270-001 Lecture 10
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 ELEC 5270-001/6270-001 Lecture 10
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. ELEC 5270-001/6270-001 Lecture 10
Correlated Signal Probabilities X1 X2 X1 X2 Y = X1 X2 + X2’ X1 X2 Y 0 0 1 0 1 0 1 0 1 1 1 1 Shannon expansion about the reconverging input: Y = X2 Y(X2=1) + X2’ Y(X2=0) = X2 (X1) + X2’ (1) ELEC 5270-001/6270-001 Lecture 10
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) ELEC 5270-001/6270-001 Lecture 10
Correlated Signal Probabilities X1 X2 X1 X2 Y = X1 X2 + X2’ X1 X2 Y 0 0 1 0 1 0 1 0 1 1 1 1 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 ELEC 5270-001/6270-001 Lecture 10
Example 0.5 Supergate 0.25 Point of reconv. 0.5 0.0 0.5 1.0 0.5 1 0 0.0 1.0 0.5 0.375 0.5 Reconv. signal 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 S. C. Seth and V. D. Agrawal, “A New Model for Computation of Probabilistic Testability in Combinational Circuits,” Integration, the VLSI Journal, vol. 7, no. 1, pp. 49-75, April 1989. ELEC 5270-001/6270-001 Lecture 10
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 ELEC 5270-001/6270-001 Lecture 10
Calculating Transition Density 1 Boolean function x1, T1 . . . . . xn, Tn y, T(Y) = ? n ELEC 5270-001/6270-001 Lecture 10
Boolean Difference ∂Y Boolean diff(Y, Xi) = ── = Y(Xi=1) ⊕ Y(Xi=0) ∂Xi • 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. 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. ELEC 5270-001/6270-001 Lecture 10
Transition Density n T(y) = Σ T(Xi) Prob(Boolean diff(Y, Xi) = 1) i=1 F. Najm, “Transition Density: A New Measure of Activity in Digital Circuits,” IEEE Trans. CAD, vol. 12, pp. 310-323, Feb. 1993. ELEC 5270-001/6270-001 Lecture 10
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. ELEC 5270-001/6270-001 Lecture 10
Transition Density and Power 0.2, 1 X1 X2 X3 0.06, 0.7 0.3, 2 0.436, 3.24 Ci Y CY 0.4, 3 Transition density Signal probability Power = 0.5 V2 (0.7Ci + 3.24CY) ELEC 5270-001/6270-001 Lecture 10
Prob. Method vs. Logic Sim. * CONVEX c240 ELEC 5270-001/6270-001 Lecture 10
Probability Waveform Methods • F. Najm, R. Burch, P. Yang and I. Hajj, “CREST – A Current Estimator for CMOS Circuits,” Proc. IEEE Int. Conf. on CAD, Nov. 1988, pp. 204-207. • C.-S. Ding, et al., “Gate-Level Power Estimation using Tagged Probabilistic Simulation,”IEEE Trans. on CAD, vol. 17, no. 11, pp. 1099-1107, Nov. 1998. • F. Hu and V. D. Agrawal, “Dual-Transition Glitch Filtering in Probabilistic Waveform Power Estimation,”Proc. IEEE Great Lakes Symp. VLSI, Apr. 2005, pp. 357-360. • F. Hu and V. D. Agrawal,“Enhanced Dual-Transition Probabilistic Power Estimation with Selective Supergate Analysis,”Proc. IEEE Int. Conf. Computer Design, Oct. 2005. pp. 366-369. ELEC 5270-001/6270-001 Lecture 10
Power Estimation by Prob. Waveform Eavg = average node error, σ = av. node standard deviation, Etot = total error ELEC 5270-001/6270-001 Lecture 10