1 / 57

ELEC 5270/6270 Spring 2015 Low-Power Design of Electronic Circuits Power Analysis

ELEC 5270/6270 Spring 2015 Low-Power Design of Electronic Circuits Power Analysis. Vishwani D. Agrawal James J. Danaher Professor Dept. of Electrical and Computer Engineering Auburn University, Auburn, AL 36849 vagrawal@eng.auburn.edu

zia
Download Presentation

ELEC 5270/6270 Spring 2015 Low-Power Design of Electronic Circuits Power Analysis

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. ELEC 5270/6270 Spring 2015Low-Power Design of Electronic Circuits Power Analysis Vishwani D. Agrawal James J. Danaher Professor Dept. of Electrical and Computer Engineering Auburn University, Auburn, AL 36849 vagrawal@eng.auburn.edu http://www.eng.auburn.edu/~vagrawal/COURSE/E6270_Spr15/course.html ELEC5270-001/6270-001 Spring 2015 Lecture 3 Jan 28 . . .

  2. Power Analysis • Motivation: • Specification • Optimization • Reliability • Applications • Design analysis and optimization • Physical design • Packaging • Test ELEC5270-001/6270-001 Spring 2015 Lecture 3 Jan 28 . . .

  3. Abstraction, Complexity, Accuracy ELEC5270-001/6270-001 Spring 2015 Lecture 3 Jan 28 . . .

  4. Spice • Circuit/device level analysis • Circuit modeled as network of transistors, capacitors, resistors and voltage/current sources. • Node current equations using Kirchhoff’s current law. • Average and instantaneous power computed from supply voltage and device current. • Analysis is accurate but expensive • Used to characterize parts of a larger circuit. • Original references: • L. W. Nagel and D. O. Pederson, “SPICE – Simulation Program With Integrated Circuit Emphasis,” Memo ERL-M382, EECS Dept., University of California, Berkeley, Apr. 1973. • L. W. Nagel, SPICE 2, A Computer program to Simulate Semiconductor Circuits, PhD Dissertation, University of California, Berkeley, May 1975. ELEC5270-001/6270-001 Spring 2015 Lecture 3 Jan 28 . . .

  5. Ca Logic Model of MOS Circuit VDD pMOS FETs a Da c Dc a b Db c Cc b Daand Dbare interconnect or propagation delays Dcis inertial delay of gate Cb nMOS FETs Cd Ca , Cb , Cc and Cd are node capacitances ELEC5270-001/6270-001 Spring 2015 Lecture 3 Jan 28 . . .

  6. Spice Characterization of a 2-Input NAND Gate ELEC5270-001/6270-001 Spring 2015 Lecture 3 Jan 28 . . .

  7. Spice Characterization (Cont.) ELEC5270-001/6270-001 Spring 2015 Lecture 3 Jan 28 . . .

  8. Switch-Level Partitioning • Circuit partitioned into channel-connected components for Spice characterization. • Reference: R. E. Bryant, “A Switch-Level Model and Simulator for MOS Digital Systems,” IEEE Trans. Computers, vol. C-33, no. 2, pp. 160-177, Feb. 1984. G2 Internal switching nodes not seen by logic simulator G3 G1 ELEC5270-001/6270-001 Spring 2015 Lecture 3 Jan 28 . . .

  9. Delay and Discrete-Event Simulation(NAND gate) Transient region a Inputs b c (CMOS) c (zero delay) c (unit delay) Logic simulation X rise=5, fall=5 c (multiple delay) Unknown (X) c (minmax delay) min =2, max =5 5 Time units 0 ELEC5270-001/6270-001 Spring 2015 Lecture 3 Jan 28 . . .

  10. Event-Driven Simulation Example Activity list d, e f, g g Scheduled events c = 0 d = 1, e = 0 g = 0 f = 1 g = 1 a =1 e =1 t = 0 1 2 3 4 5 6 7 8 2 c =1→0 g =1 2 2 d = 0 Time stack 4 f =0 b =1 g 8 4 0 Time, t ELEC5270-001/6270-001 Spring 2015 Lecture 3 Jan 28 . . .

  11. Time Wheel (Circular Stack) max Current time pointer t=0 Event link-list 1 2 3 4 5 6 7 ELEC5270-001/6270-001 Spring 2015 Lecture 3 Jan 28 . . .

  12. Gate-Level Power Analysis • Pre-simulation analysis: • Partition circuit into channel connected components. • Determine node capacitances from layout analysis (accurate) or from wire-load model* (approximate). • Determine dynamic and static power from Spice for each gate. • Determine gate delays using Spice or Elmore delay model. * Wire-load model estimates capacitance of a net by its pin-count. See Yeap, p. 39. ELEC5270-001/6270-001 Spring 2015 Lecture 3 Jan 28 . . .

  13. Elmore Delay Model • W. Elmore, “The Transient Response of Damped Linear Networks with Particular Regard to Wideband Amplifiers,” J. Appl. Phys., vol. 19, no.1, pp. 55-63, Jan. 1948. 2 R2 C2 1 R1 s 4 R4 C4 C1 R3 3 R5 Shared resistance: R45 = R1 + R3 R15 = R1 R34 = R1 + R3 C3 5 C5 ELEC5270-001/6270-001 Spring 2015 Lecture 3 Jan 28 . . .

  14. Elmore Delay Formula N Delay at node k = 0.69 ΣCj × Rjk j=1 where N = number of capacitive nodes in the network Example: Delay at node 5 = 0.69[R1 C1 + R1 C2 + (R1+R3)C3 + (R1+R3)C4 + (R1+R3+R5)C5] ELEC5270-001/6270-001 Spring 2015 Lecture 3 Jan 28 . . .

  15. Gate-Level Power Analysis (Cont.) • Run discrete-event (event-driven) logic simulation with a set of input vectors. • Monitor the toggle count of each net and obtain capacitive component of power dissipation: Pcap=ΣCk V 2f all nodes k • Where: • Ckis the total node capacitance being switched, as determined by the simulator. • V is the supply voltage. • f is the clock frequency, i.e., the number of vectors applied per unit time ELEC5270-001/6270-001 Spring 2015 Lecture 3 Jan 28 . . .

  16. Gate-Level Power Analysis (Cont.) • Monitor dynamic energy events at the input of each gate and obtain internal switching (short circuit) power dissipation: Pint = ΣΣ E(g,e) F(g,e) gates g events e • Where • E(g,e) = energy of event e of gate g, pre-computed short-circuit power from Spice. • F(g,e) = occurrence frequency of the event e at gate g, observed by logic simulation. ELEC5270-001/6270-001 Spring 2015 Lecture 3 Jan 28 . . .

  17. Gate-Level Power Analysis (Cont.) • Monitor the static power dissipation state of each gate and obtain the static power dissipation: Pstat = ΣΣP(g,s) T(g,s)/ T gates g states s • Where • P(g,s) = static power dissipation of gate g for state s, obtained from Spice. • T(g,s) = duration of state s at gate g, obtained from logic simulation. • T = number of vectors × vector period. ELEC5270-001/6270-001 Spring 2015 Lecture 3 Jan 28 . . .

  18. Gate-Level Power Analysis • Sum up all three components of power: P = Pcap+ Pint + Pstat • References: • A. Deng, “Power Analysis for CMOS/BiCMOS Circuits,” Proc. International Workshop on Low Power Design, 1994. • J. Benkoski, A. C. Deng, C. X. Huang, S. Napper and J. Tuan, “Simulation Algorithms, Power Estimation and Diagnostics in PowerMill,” Proc. PATMOS, 1995. • C. X. Huang, B. Zhang, A. C. Deng and B. Swirski, “The Design and Implementation of PowerMill,” Proc. International Symp. on Low Power Design, 1995, pp. 105-109. ELEC5270-001/6270-001 Spring 2015 Lecture 3 Jan 28 . . .

  19. Probabilistic Analysis • 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 CV 2 fck ELEC5270-001/6270-001 Spring 2015 Lecture 3 Jan 28 . . .

  20. 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 C V 2 fck= 0.25 C V 2 fckis not correct. ELEC5270-001/6270-001 Spring 2015 Lecture 3 Jan 28 . . .

  21. 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. ELEC5270-001/6270-001 Spring 2015 Lecture 3 Jan 28 . . .

  22. 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 ELEC5270-001/6270-001 Spring 2015 Lecture 3 Jan 28 . . .

  23. 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) ELEC5270-001/6270-001 Spring 2015 Lecture 3 Jan 28 . . .

  24. Static Transition Probability 0.25 0.2 0.1 0.0 f = p1(1 – p1) 0 0.25 0.5 0.75 1.0 p1 ELEC5270-001/6270-001 Spring 2015 Lecture 3 Jan 28 . . .

  25. Inaccuracy in Transition Probability p1 = 0.5 T = 1.0 per cycle 1/fck p1 = 0.5 T = 4/6 per cycle p1 = 0.5 T = 2/6 per cycle Observe that the formula, T = 2 p1 (1 – p1), is not correct. ELEC5270-001/6270-001 Spring 2015 Lecture 3 Jan 28 . . .

  26. Cause for Error and Correction • Probability of transition is not independent of the present state of the signal. • Determine probability p 01 of a 0 →1 transition: p01 = Prob(signal is 1 | it was 0) • Recognize p 01 ≠ p 0 × p 1 • We obtain p 1 = (1 – p 1) p 01 + p 1 p 11 p 01 p 1 = ───────── 1 – p 11 + p 01 ELEC5270-001/6270-001 Spring 2015 Lecture 3 Jan 28 . . .

  27. 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. ELEC5270-001/6270-001 Spring 2015 Lecture 3 Jan 28 . . .

  28. Transition and Signal Probabilities p 01 p 1 = ─────── p 10 + p 01 p01 = p10 = 1.0 p00 = p11 = 0.0 p1= 0.5 1/fck p01 = p10 = 2/3 p00 = p11 = 1/3 p1= 0.5 p01 = p10 = 1/3 p00 = p11 = 2/3 p1= 0.5 ELEC5270-001/6270-001 Spring 2015 Lecture 3 Jan 28 . . .

  29. 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 10 p 1 = ─────── p 0 = ─────── p 10 + p 01 p 10 + p 01 ELEC5270-001/6270-001 Spring 2015 Lecture 3 Jan 28 . . .

  30. Transition Probability • Incorrect: T= 2 p 1 (1 – p 1) • Correct: T = 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 ELEC5270-001/6270-001 Spring 2015 Lecture 3 Jan 28 . . .

  31. 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 as transitions per vector (or per clock cycle). ELEC5270-001/6270-001 Spring 2015 Lecture 3 Jan 28 . . .

  32. Signal Probabilities x1 x2 x1 x2 x1 x2 x1 + x2 – x1x2 1 - x1 x1 ELEC5270-001/6270-001 Spring 2015 Lecture 3 Jan 28 . . .

  33. 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. ELEC5270-001/6270-001 Spring 2015 Lecture 3 Jan 28 . . .

  34. 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 (correct value) X1 X2 Y 0 0 1 0 1 0 1 0 1 1 1 1 ELEC5270-001/6270-001 Spring 2015 Lecture 3 Jan 28 . . .

  35. 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 (correct value) X1 X2Y 0 0 0 0 1 1 1 0 0 1 1 1 ELEC5270-001/6270-001 Spring 2015 Lecture 3 Jan 28 . . .

  36. Observation • Numerical computation of signal probabilities is accurate for fanout-free circuits. ELEC5270-001/6270-001 Spring 2015 Lecture 3 Jan 28 . . .

  37. Remedies • Use Shannon’s expansion theorem to compute signal probabilities. • Use Boolean difference formula to compute transition densities. ELEC5270-001/6270-001 Spring 2015 Lecture 3 Jan 28 . . .

  38. 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 ELEC5270-001/6270-001 Spring 2015 Lecture 3 Jan 28 . . .

  39. 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. ELEC5270-001/6270-001 Spring 2015 Lecture 3 Jan 28 . . .

  40. 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, X2: Y = X2 Y(X2 = 1) + X2’ Y(X2 = 0) = X2 (X1) + X2’ (1) ELEC5270-001/6270-001 Spring 2015 Lecture 3 Jan 28 . . .

  41. 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) ELEC5270-001/6270-001 Spring 2015 Lecture 3 Jan 28 . . .

  42. 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, X2: 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 ELEC5270-001/6270-001 Spring 2015 Lecture 3 Jan 28 . . .

  43. 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. ELEC5270-001/6270-001 Spring 2015 Lecture 3 Jan 28 . . .

  44. 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 ELEC5270-001/6270-001 Spring 2015 Lecture 3 Jan 28 . . .

  45. Calculating Transition Density 1 Boolean function x1, T1 . . . . . xn, Tn y, T(Y) = ? n ELEC5270-001/6270-001 Spring 2015 Lecture 3 Jan 28 . . .

  46. 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. ELEC5270-001/6270-001 Spring 2015 Lecture 3 Jan 28 . . .

  47. Prob(Boolean diff(Y, Xi) = 1) • Cofactor probabilities: • Prob(Y(Xi = 1) = 1) = p • Prob(Y(Xi = 0) = 1) = q • Prob(Boolean diff(Y, Xi) = 1) = Prob(Y(Xi=1) ⊕ Y(Xi=0) = 1) = p(1 – q) + (1 – p)q = p + q – 2pq ELEC5270-001/6270-001 Spring 2015 Lecture 3 Jan 28 . . .

  48. 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. ELEC5270-001/6270-001 Spring 2015 Lecture 3 Jan 28 . . .

  49. 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) f all Y where CY is the capacitance of node Y, V is supply voltage and f is vectors/second or clock frequency ELEC5270-001/6270-001 Spring 2015 Lecture 3 Jan 28 . . .

  50. Transition Density and Power 0.2, 0.1 X1 X2 X3 0.06, 0.07 0.3, 0.2 0.436, 0.324 Ci Y CY 0.4, 0.3 Transition density Signal probability Power = 0.5 V 2 (0.07Ci + 0.324CY) f ELEC5270-001/6270-001 Spring 2015 Lecture 3 Jan 28 . . .

More Related