Algorithms for Estimating Number of Glitches and Dynamic Power in CMOS Circuits with Delay Variations Jins Davis Alexander Vishwani D. Agrawal Department of Electrical and Computer Engineering Auburn University, Auburn, AL 36849 Presented at the IEEE Computer Society Annual Symposium on VLSI Tampa, Florida, May 13-15, 2009 May 14, 2009 ISVLSI 09 1 Components of Power Dynamic Signal transitions Logic activity Glitches Short-circuit Static Leakage May 14, 2009 Ptotal = Pdyn + Pstat = Ptran + P + Pstat sc ISVLSI 09 2 Power Per Transition isc R VDD Dynamic Power Vo Vi = CLVDD2/2 + Psc CL R Ground May 14, 2009 ISVLSI 09 3 Number of Transitions May 14, 2009 ISVLSI 09 4 Outline Motivation and Problem Statement Background Contributions: A New Dynamic Power Analysis Algorithm Bounded Delays and Ambiguity Intervals Maximum Transitions Minimum Transitions Simulation and Power Estimation Experimental Results and Observations Conclusion May 14, 2009 ISVLSI 09 5 Problem Statement and Motivation Problem - Estimate dynamic power consumed in a CMOS circuit for: A set of input vectors Delays subjected to process variation (typical in nanoscale technologies) Challenge - Existing method, Monte Carlo simulation, is expensive. Find a lower cost solution. May 14, 2009 ISVLSI 09 6 Background Bounded delay model is used to address process variations in logic level simulation and timing analysis. See references in the paper. We model delay uncertainties by assigning each gate lower and upper bounds on its delay. These are known as min–max delays. The bounds are obtained by adding specified process-related variation to the nominal gate delay for the technology. May 14, 2009 ISVLSI 09 7 References J. D. Alexander, Simulation Based Power Estimation for Digital CMOS Technologies, Master’s Thesis, Auburn University, December 2008. J. D. Alexander and V. D. Agrawal, “Computing Bounds on Dynamic Power Using Fast Zero-Delay Logic Simulation,” Proc. 41st IEEE Southeastern Symp. System Theory, March 2009, pp. 107-112. Paper describes simulation algorithm and results. This paper: Theoretical foundation – theorems on ambiguity propagation and maximum and minimum transitions – make the fast zero-delay analysis possible. May 14, 2009 ISVLSI 09 8 Ambiguity Intervals • • • • IV FV EA LS EA FV LS EA is the earliest arrival time LS is the latest stabilization time IV is the initial signal value FV is the final signal value EAsv=-∞ EAdv LSsv=∞ LSdv EAdv=-∞ EAsv May 14, 2009 IV LSdv=∞ LSsv ISVLSI 09 9 Propagating Ambiguity Intervals through Gates The ambiguity interval (EA,LS) for a gate output is determined by: •Ambiguity intervals of input signals. •Pre-transition and Post-transition steady-state values. •Min-Max gate delays. (mindel, maxdel) May 14, 2009 ISVLSI 09 10 Representative Formulae To evaluate the output of a gate, we analyze inputs i: May 14, 2009 ISVLSI 09 11 Theorem 1: Propagating Ambiguity Intervals Ambiguity interval at a gate output is: where the inertial delay of the gate is bounded as (mindel, maxdel). May 14, 2009 ISVLSI 09 12 Finding Number of Transitions 3 14 7 5 8 10 12 10 12 14 2 [mintran,maxtran] [0,2] 3 EA 14 (mindel, maxdel) LS [0,4] 5 EA 1,3 17 6 EA 17 LS LS where mintran is the minimum number of transitions and maxtran the maximum number of transitions. May 14, 2009 ISVLSI 09 13 Theorem 2: Maximum Transitions First upper bound: We calculate the maximum transitions (Nd) that can be accommodated in the ambiguity interval given by the gate delay bounds and the (IV,FV) output values. Second upper bound: We take the sum of the input transitions (N) as the output cannot exceed this. We modify this by : N=N–k where k = 0, 1, or 2 for a 2-input gate and is determined by the ambiguity regions and (IV, FV) values of inputs. The maximum number of transitions is lower of the two upper bounds: maxtran = min (Nd, N) May 14, 2009 ISVLSI 09 14 Examples of maxtran (k = 0) Nd = ∞ N=8 maxtran=min (Nd, N) = 8 Nd = 6 N=8 maxtran=min (Nd, N) = 6 May 14, 2009 ISVLSI 09 15 Example: maxtran With Non-Zero k [n1 + n2 – k = 8 ] , [n1 = 6] EAsv = - ∞ EA LSdv = ∞ LS where k = 2 EAdv LSsv [n2 = 4] EAsv = - ∞ EAdv LSdv = ∞ LSsv [6] [6+4–2=8] [4] May 14, 2009 ISVLSI 09 16 Theorem 3: Minimum Transitions First lower bound (Ns): Based on steady state values, i.e., 00, 11 as no transition and 01, 10 as a single transition. Second lower bound (Ndet): The minimum number of transitions that can occur in the output ambiguity region is the number of deterministic signal changes that occur within the ambiguity region and such that signal changes are spaced at time intervals greater than or equal to the inertial delay of the gate. The minimum number of transitions is the higher of the two lower bounds: mintran = max (Ns, Ndet) May 14, 2009 ISVLSI 09 17 Example: mintran EAsv = - ∞ EAdv LSsv = ∞ LSdv EAdv = - ∞ EAsv EA LS d LSdv = ∞ LSsv (mindel, maxdel) There will always be a hazard in the output as long as (EAsv – LSdv) ≥ maxdel Thus in this case the mintran is not 0 as per the steady state condition, but is 2. May 14, 2009 ISVLSI 09 18 Power Analysis Algorithm maxdel, mindel = nominal delay ± Δ% Three linear-time passes for each input vector: First pass: zero delay simulation to determine initial and final values, IV and FV, for all signals. Second pass: determines earliest arrival (EA) and latest stabilization (LS) from IV, FV values and bounded gate delays. Third pass: determines upper and lower bounds, maxtran and mintran, for all gates from the above information. May 14, 2009 ISVLSI 09 19 Simulation Setup Standard gate delay 100 ps. Wire-load model used; gate proportional to fan–out. The power distribution determined for 1000 random vectors with a vector period of 10000 ps. For each vector pair, 1000 sample circuits were simulated. May 14, 2009 ISVLSI 09 20 Maximum Power Monte Carlo Simulation vs. Min-Max analysis for circuit C880. 100 sample circuits with + 20 % variation were simulated for each vector pair (100 random vectors). R2 is coefficient of determination, equals 1.0 for ideal fit. May 14, 2009 ISVLSI 09 21 Minimum Power R2 is coefficient of determination, equals 1.0 for ideal fit. May 14, 2009 ISVLSI 09 22 Average Power 10 9 Monte Carlo average power (mW) R2 = 0.9527 8 7 6 5 4 3 2 1 0 0 2 4 6 8 MIN - MAX m ean pow er (m W) May 14, 2009 ISVLSI 09 10 R2 is coefficient of determination, equals 1.0 for ideal fit. 23 C880: Monte Carlo vs. Bounded Delay Analysis 80000 1000 Random Vectors, 1000 Sample Circuits 70000 Frequency 60000 50000 40000 30000 20000 10000 2. 13 7 2. 74 74 3. 35 79 3. 96 83 4. 57 88 5. 18 92 5. 79 96 6. 41 01 7. 02 05 7. 63 1 8. 24 14 8. 85 19 9. 46 23 10 .0 73 10 .6 83 11 .2 94 1. 52 65 0 Power (mW) Monte Carlo Simulation Bounded Delay Analysis Min Power (mW) Max Power (mW) CPU Time (secs) Min Power (mW) Max Power (mW) CPU Time (secs) 1.42 11.59 262.7 1.35 11.89 0.3 May 14, 2009 ISVLSI 09 24 C2670: Effect of Inertial Delay Transition Statistics for high activity gate 1407 in c2670 for a random vector pair. Histograms obtained from Monte Carlo Simulations of 100 sample circuits. min-max delay (7ps,12ps) min-max delay (1ps,3ps) 45 60 30 25 20 15 10 5 mintran = 0 Frequency 35 50 Frequency maxtran =1 0 40 40 mintran = 0 70 50 maxtran = 8 30 20 10 0 0 0 2 4 6 8 10 Num ber of Transitions May 14, 2009 0 2 4 6 8 Num ber of Transitions ISVLSI 09 25 mintran = 0 60 min-max delay (11ps,33ps) 50 30 20 10 40 maxtran = 4 40 maxtran = 6 Frequency 50 min-max delay (8ps,24ps) Frequency 60 mintran = 0 Effect of Inertial Delay… 30 20 10 0 0 0 2 4 0 6 Num ber of Transitions May 14, 2009 2 4 Num ber of Transitions ISVLSI 09 26 Power Estimation Results Circuits implemented using TSMC025 2.5V CMOS library , with standard size gate delay of 10 ps and a vector period of 1000 ps. Min-Max values obtained by assuming ± 20 % variation. The simulations were run on a UNIX operating system using a Intel Duo Core processor with 2 GB RAM. May 14, 2009 ISVLSI 09 27 Zero-Delay Vs. Event-Driven Simulation 9000 8000 Execution Time (secs) 7000 6000 5000 Event driven simulation 4000 Min-Max Simulation 3000 2000 1000 0 357 514 880 1161 1667 2290 2416 3466 Number of gates May 14, 2009 ISVLSI 09 28 Conclusion Bounded delay model allows power estimation method with consideration of uncertainties in delays. Analysis has a linear time complexity in number of gates and is an efficient alternative to the Monte Carlo analysis. Monte Carlo versus min-max analysis: Reduced dimension of sample space - Monte Carlo is over vectors and circuits; minmax is over vectors only. Future work: (a) Find number of vectors for convergence of result; (b) find probability distribution of power. May 14, 2009 ISVLSI 09 29 May 14, 2009 ISVLSI 09 30