220 likes | 235 Views
ISPD’2005 Fast IntervalValued Statistical Interconnect Modeling And Reduction. James D. Ma and Rob A. Rutenbar Dept of ECE, Carnegie Mellon University {jdma, rutenbar@ece.cmu.edu} Funded in part by C2S2, the MARCO Focus Center for Circuit & System Solutions.
E N D
ISPD’2005Fast IntervalValued StatisticalInterconnect Modeling And Reduction James D. Ma and Rob A. Rutenbar Dept of ECE, Carnegie Mellon University {jdma, rutenbar@ece.cmu.edu} Funded in part by C2S2, the MARCO Focus Center for Circuit & System Solutions
New Battlefield: Manufacturing Variations • CMOS scaling… • Good for speed • Good for density • Bad for variation • Bad for manufacturability • Bad for predictability • No longer realistic to regard device or interconnect as deterministic • Continuous random distribution with complex correlations
max, max, ? ? New Problem: Statistical Analysis • Statistical static timing analysis • Propagate correlated normal distribution • A limited number of operators: sum and maximum • Statistical interconnect timing analysis • Require a richer palette of computations • Not easy to represent statistics and push them through model reduction algorithms
Our interest — new correlated interval technique for representing statistics “inside” algorithms Approaches to Statistical Interconnect Analysis • Straight-forward Monte Carlo simulation • Repeat model reduction algorithms at the outermostloop • General, accurate, but computationally expensive • Control-theoretic (model order reduction) • Based on perturbation theory [Liu-et al, DAC’99] • Multi-parameter moment matching [Daniel-et al, TCAD’04] • Circuit performance evaluation • Low-order analytical delay formula [Agarwal-et al, DAC’04] • Asymptotic non-normal probability extraction [Li-et al, ICCAD’04] • Classicalinterval delay analysis [Harkness-Lopresti, TCAD’92]
x0 -x2 x1 x2 -x1 x hi lo x = x0 + x11 + x22 1 -1 1 -1 x – x R (xa) = | x1 | + | x2 | -2 2 x – x = (x0 – x0) + (x1 – x1) 1 + (x2 – x2) 2 = 0 Should be 0 ! New Interval Ideas • Affine interval • Define central point and radius • Keep source of uncertainties • Handles correlations by uncertainty sharing • Classical interval • Define two end-points • No “inside” information • Unable to consider correlations
x = x0 + ∑ xii y = y0 + ∑ yii z = x0 y0 + ∑(x0yi + y0xi) εi + (∑xiεi) (∑xiεi) z = x0 + y0 + ∑ (xi + yi) i z = x0 y0 + ∑(x0yi + y0xi) εi + R (xy) ζ Affine Arithmetic: An Overview • Develop a library for most affine arithmetic operations • More accurate or efficient approximations are also available Results are still affine (accurate or conservative) Replace second-order terms with one new uncertainty termζ
From Intervals to Statistics • Statistical assumption for the uncertainty symbols? • Uniform distribution? • Keep conservative bounds • Not realistic for modeling manufacturing variations • Choose normal distribution • μ = 0, σ2 = 1 for each symbol εi • Probability not equal in the interval • Model the central mass of the infinite, continuous distribution • Essential assumption • Mechanics of calculation for finite affine intervals are a reasonably good approximation of how statistics move through the same computations
3 0 4 0 2 3 0 0 –4 x1 x2 x3 –1 –10 16 x1 x2 x3 5 1 –4 = = [1 5] 0 [1 7] 0 [1 3] [1 5] 0 0 [–6 –2] –1 –10 16 x1 x2 x3 x1 x2 x3 [0.3 55] [–7.3 30] [–8 –2.7] = = Putting Altogether: From Intervals to Algorithms • Scalar-valued linear solve • Backward substitution • Classical interval-valued linear solve • Backward substitution • Classical interval arithmetic
–1 –10 16 x1 x2 x3 3 + ε1 + ε2 0 4 – ε1 + 2ε3 0 2 + ε1 3 + ε1 – ε3 0 0 –4 + ε1 – ε3 Sample matrix element intervals & scalar solve = x1 x2 x3 5 – 3ε1 – 3 ε2 + 1.8ε3 – 2.7ε5 1 + 3.4ε1 – 4ε3 – 2.3ε4 –4 – ε1 + ε3 = Cube for the range of x1, x2, x3 Classical Polytope for the range of x1, x2, x3 Affine From Intervals to Algorithms (Cont’d) • Affine interval-valued linear solve
delay Our New Approach: Affine Interval-Valued Statistical Interconnect Model Reduction • Represent variational RLC elements as correlated intervals • [Ma-Rutenbar, ICCAD’2004] • Replace scalar computation with interval-valuedcomputationby pushingintervals through chain of model reduction Interval computation Reduced set of intervals • Stop, and repeatedly sample a reduced set of intervals Sampling Scalar computation • Continue with scalar-valued computation • Obtain delay distribution
R = R0+ ∑(∆Rii ) +∑(∆Rjj) +∑(∆Rkk) One variation source may contribute to multiple RLC’s & lead to correlation C = C0+ ∑(∆Cii ) +∑(∆Cjj) –∑(∆Ckk) L = L0+ ∑(∆Lii ) –∑(∆Ljj) –∑(∆Lkk) Any variation can have positive or negative impact on RLC Interval Modeling of Interconnect Parameters • Global variations — inter-die • Affect all the device and interconnect, in a similar way • Local variations — intra-die • Affect device and interconnect close to each other, in a similar way • Linearized combination of global and local variations Affine forms
MNA formulation LU decomposition Hankel matrix & vector Intervals Solve for poles Vandemonde matrix Solve for residues Poles/residues Sampling Transient analysis Scalars Delay distribution Interval-Valued AWE: 1st Generation • Interval-valued MNA and LU for model reduction • Interval-valued pole/residue analysis • Mostly fundamental affine operations • Compare intervals based on their centralvalues • Obtain a reduced, small set of interval poles and residues • Sample and continue scalar transient analysis • Monte Carlo sampling over this reduced model is very fast • Similar approach for interval-valued PRIMA
C 4 3 C R 2 1 R 2 0 1 3 4 6 5 R 6 5 R R C 0 C Interval-Valued AWE: 2nd Generation • 1st improvement • Replace MNA formulation & LU decomposition with path-tracing for tree-structured circuits to compute interval-valued moments much more efficiently • 2nd improvement • Stop interval-valued computation at moments, not poles/residues • Then switch to sampling and scalar-valued computation
range range Path-tracing LU decomposition 1st Improvement: Interval LU vs. Path-Tracing • Path-tracing — DC analyses for moments via depth-first search • Tree topology does not change — DFS only once • Tracing order can be stored and “remembered” • Interval estimation errors • Like floating-point errors, but more macroscopic, not so easy to ignore • The longer the chain of computation, the more errors • Replace interval LU with interval path-tracing • Reduce number of approximate affine operations significantly • Improve greatly both efficiency and accuracy
Intervals Tree & path-tracing Moments Hankel matrix & vector & Vandemonde matrix Solve for poles/residues Sampling Scalars Poles/residues Transient analysis & delay distribution Interval-Valued AWE: 2nd Generation • A reduced, small set of interval moments via interval-valued path-tracing • Sample over moment intervals to produce a set of scalar moments • Continue scalar computation, just like a standard AWE • Monte Carlo sampling over the reduced model is very fast • Similar approach for interval path-tracing-based PRIMA
Interval tree & path-tracing Interval MNA & LU Intervals Intervals Interval moments Interval moments Interval root finding Scalar root finding Sampling Scalars Interval poles/residues Scalar poles/residues Sampling Scalars Scalar delay Scalar delay 2nd Improvement: AWE Interval/Scalar Tradeoff • 2nd generation • Hybrid interval/scalar strategy • 1st generation • Pervasive interval computation • Interval computation for large-scale near-linear model reduction • Scalar sampling & small-scale nonlinear root finding • Similar tradeoff for 2nd generation of interval-valued PRIMA
ε1 ε4 ε3 ε2 ε5 Benchmarks • 3 tree-structured RC(L) interconnects • From 120 to 2400 elements • Deterministic unit step input • 6 — 21 variation symbols • One global, shared by all RLC’s • Others local,shared by a cluster of “nearby” RLC’s • Relative σ of global / local vars • 20% / 10%, 10% / 20%, 5% / 30% • Able to accommodate • Any number of uncertainties, from most types of variation sources • Any reasonable combinations of global / local variations
Sample RC(L)’s Scalar AWE/PRIMA RC(L) intervals Interval AWE/PRIMA Monte Carlo Monte Carlo Sample intervals 2nd Generation: Implementation • Interval arithmetic library and AWE/PRIMA in C/C++ • Compare distribution of 50% delay • 2nd generation (statAWE/statPRIMA)vs. RICE4/5 used in a simple Monte Carlo loop (RMC) • Determine proper number of Monte Carlo samples using standard confidence interval techniques [Burch-et al, TVLSI’93] • Specify accuracy within 1%, with 99% confidence level • ~ 3000 samples for each design combination vs.
10000 samples of RLC’s 10000 samples in moment intervals Monte Carlo simulation Interval-valued estimation Pole Distribution • At the end of 2nd generation interval AWE/PRIMA, an interval-valued reduced model is obtained • How well do the reduced interval model produce scalar poles? • design0, 123 RLC’s, 5% global variation, 30% local variation, 6 variation terms, 8th order AWE, distributions of 4 dominant poles on complex plane
Monte Carlo 25% Interval PRIMA AWE 20% 20% 15% Monte Carlo 15% 10% 10% Interval 5% 5% 0% 0% delay delay Accuracy & Efficiency • Delay PDFs ex: 1275 RC’s, 5% global, 30% local, 4th order models • CPU time: 1 intervalanalysis ≈300 deterministic runs 25%
Run time vs. mean error Run time vs. std error II II IV IV I I III III Interval/Scalar Tradeoff • Compare 4 AWE interval strategies • If ~5–10% error is OK, one can still use intervals pervasively • 1st 2nd generation: ~10XlessCPU, ~3–4X less %error
Conclusions and Ongoing Work • Affine interval model & statistical interpretation allow us to • Represent the essential mass of a random distribution • Preserve 1st-order correlations among uncertainties • Retarget classical model reduction to interval-valued computations • Improved 2nd generation • Smarter interval linear solves and interval/scalar tradeoffs • ~10X faster, and ~3–4X less %error • What’s next? • Works well for interconnect reduction – but how general is the idea? • Can we bring statistics into arbitrary CAD tools efficiently? • In progress: interval-valued physics-based TCAD/DFM modeling