1 / 61

High-Dimensional Statistical Modeling and Analysis Of Custom Integrated Circuits

High-Dimensional Statistical Modeling and Analysis Of Custom Integrated Circuits. Trent McConaghy Co-founder & CSO, Solido Design Automation Custom Integrated Circuits Conference (CICC) San Jose, CA, Sept 2011. How does Google find furry robots?

isaiah
Télécharger la présentation

High-Dimensional Statistical Modeling and Analysis Of Custom Integrated Circuits

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. High-Dimensional Statistical Modeling and Analysis Of Custom Integrated Circuits Trent McConaghy Co-founder & CSO, Solido Design Automation Custom Integrated Circuits Conference (CICC) San Jose, CA, Sept 2011

  2. How does Google find furry robots? (Not the aim of this talk, but we’ll find out…)

  3. Outline • Motivation • Proposed flow • Backgrounder • Fast Function Extraction (FFX) • Results • Conclusion

  4. With Moore’s Law, Transistors Are Shrinking… [ITRS, 2011]

  5. Transistors are shrinking But atoms aren’t! traditional 22nm sub 10 nm A. Asenov, "Statistical Nano CMOS Variability and Its Impact on SRAM", Chapter 3, A. Singhee and R. Rutenbar, Eds., Extreme Statistics in Nanoscale Memory Design, Springer, 2010

  6. Variation = atoms out of place Relative variation worsens as transistors shrink … -A. Asenov, "Statistical Nano CMOS Variability and Its Impact on SRAM", Extreme Statistics, Springer, 2010 -C. Visweswariah, “Mathematics and Engineering: A Clash of Cultures?”, IBM, 2005 -ITRS, 2006

  7. Higher device variation → Higher performance variation → Lower yield

  8. Typical Custom Design Flow F(x) (Manual) develop eqns. of design → performance Early-stage design (topology, initial sizing) W1, L1, W2, L2, .. Tune sizings for performance W1, L1, W2, L2, .. Layout …

  9. Variation-Aware Design Flow (Manual) develop eqns. of design → performance Early-stage design (topology, initial sizing) • Variation-Aware Approaches: • Direct Monte Carlo • Design-specific 3σcorners • … Tune sizings for perf. & yield Layout …

  10. Direct Monte Carlo (MC) For Variation-Aware Design (Manual) develop eqns. of design → performance SPICE on all 50 (or 1K!) (or 10K!) MC samples Early-stage design (topology, initial sizing) Tune sizings for perf. & yield via direct MC Q: How to get MC out of the design loop, yet retain accuracy of MC? Layout …

  11. Design-Specific 3σ CornersFor Variation-Aware Design (Manual) develop eqns. of design → performance Early-stage design (topology, initial sizing) Extract design- specific 3σ corners Tune sizings for perf. & yield via 3σ corners Design on 3σ corners Statistical Verify Layout …

  12. Design-Specific 3σ CornersFor Variation-Aware Design Extract design- specific 3σ corners AV 60 dB Area = .9986 (3σ) Design on 3σ corners 51 dB corner Statistical Verify change WLs

  13. Variation-Aware Design Flow (Manual) develop eqns. of design → performance …but not here There are effective industrial- scale methods here… Early-stage design (topology, initial sizing) This paper aims to help! Tune sizings for perf. & yield Layout …

  14. Outline • Motivation • Proposed flow • Backgrounder • Fast Function Extraction (FFX) • Results • Conclusion

  15. An Ideal Flow “Dear designer, To handle mismatch in early design stages, please add 1000 extra variables ∆tox1, ∆Nsub1, … ∆tox100, ∆Nsub100, …” Are you an expert at process modeling? Who is an expert at both process modeling & topology development? … Is Infeasible (Manual) develop eqns. of design & process vars. → circuit performance Early-stage design (topology, initial sizing) Tune sizings for perf. & yield Layout …

  16. Proposed Flow (Manual) develop eqns. of design vars. → circuit perf. (Auto) extract eqns. of process vars. → circuit perf. Early-stage design (topology, initial sizing) Tune sizings for perf. & yield Layout …

  17. Equation-Extraction Step: Details, by Example (1D) Draw 100-5000 MC samples (X) ∆tox1 (X) AV (y) SPICE-Simulate on samples (y) sim. ∆tox1 AV Build whitebox Model of X → y ∆tox1 AV=50.2 + 9.1 • ∆tox1 + 3.2 • max(0, ∆tox12)

  18. Equation-Extraction Step: Problem Scope • 5-10+ process variables per device • (e.g. BPV model) • 10-100+ devices • Therefore 50-1000+ input variables • 100-5000 simulations (runtime cost) • Need whitebox model, for insight! • Ideally get a tradeoff of complexity vs. accuracy

  19. Equation Extraction Step:Off-the-Shelf Modeling Options • Linear model – can’t handle nonlinear • Quadratic – not nonlinear enough, scaling? • MARS, SVM, neural net, others – not whitebox • Nothing meets problem scope!

  20. Outline • Motivation • Proposed flow • Backgrounder • Least-squares regression • Regularized learning • Fast Function Extraction (FFX) • Results • Conclusion

  21. y x1 Given some x,y data…

  22. y x1 …we can build 1D linear models Many possible linear models! (∞ to be precise)

  23. y x1 1D Linear Least-Squares (LS) Regression Find linear model that minimizes ∑(ŷi-yi)2 (across all i in training data)

  24. y x1 1D Linear LS Regression Find linear model that minimizes ∑(ŷi-yi)2 That is: [w0, w1]* = minimize ∑(ŷi-yi)2 where ŷ(x1) = w0 + w1• x1 Solving this amounts to matrix inversion: w = [1 X] / y

  25. y x1 1D Quadratic LS Regression [w0, w1, w11]* = minimize ∑(ŷi-yi)2 where ŷ(x1) = w0 + w1• x1 + w11• x12 We are applying linear (LS) learning on linear & nonlinear basis functions. OK!

  26. y x1 1D Nonlinear LS Regression [w0, w1, wsin]* = minimize ∑(ŷi-yi)2 where ŷ(x1) = w0 + w1• x1 + wsin• sin(x1) We are applying linear (LS) learning on linear & nonlinear basis functions. OK!

  27. 2D Linear LS Regression [w0, w1, w2]* = minimize ∑(ŷi-yi)2 where ŷ(x) = w0 + w1• x1 + w2• x2 y x2 x1

  28. 2D Quadratic LS Regression [w0, w1, w2, w11, w22, w12]* = minimize ∑(ŷi-yi)2 where ŷ(x) = w0 + w1• x1 + w11• x12 + w22• x22 + w12• x1• x2 y x2 x1

  29. Outline • Motivation • Proposed flow • Backgrounder • Least-squares regression • Regularized learning • Fast Function Extraction (FFX) • Results • Conclusion

  30. Regularized Linear Regression • Minimizes a combination of training error and model sensitivity • Formulation: • w* = minimize ( ∑(ŷi(w) - yi)2 + λ• ∑|wj| ) model sensitivity (reduce risk in future predictions) minimize training error (fit training data better)

  31. Regularized Linear Regression • When solving w* = minimize ( ∑(ŷi(w) - yi)2 + λ• ∑|wj|), • consider different values for λ… λ λ=∞ λ=0 0 0 • ∑(ŷi(w) - yi)2 + λ• ∑|wj|) • ∑(ŷi(w) - yi)2 + λ• ∑|wj|) w* reduces to LS solution w* = [0, 0, …, 0] (constant response)

  32. Pathwise Regularized Linear Regression wi w* = [0, 0, 0, 0] λ λ=1e-40 λ=1e40 • solve w* = minimize ( ∑(ŷi(w) - yi)2 + λ• ∑|wj|) • at λ=1e40 (λ→∞)

  33. Pathwise Regularized Linear Regression wi w* = [0, 1.8, 0, 0] w2 λ w1,3,4 λ=1e-40 λ=1e30 • solve w* = minimize ( ∑(ŷi(w) - yi)2 + λ• ∑|wj|) • at λ=1e30

  34. Pathwise Regularized Linear Regression wi w* = [0, 2.8, 0, 0] w2 λ w1,3,4 λ=1e-40 λ=1e20 • solve w* = minimize ( ∑(ŷi(w) - yi)2 + λ• ∑|wj|) • at λ=1e20

  35. Pathwise Regularized Linear Regression wi w* = [-0.5, 2.8, 0, 0] w2 λ w3,4 λ=1e-40 w1 λ=1e10 • solve w* = minimize ( ∑(ŷi(w) - yi)2 + λ• ∑|wj|) • at λ=1e10

  36. Pathwise Regularized Linear Regression w* = [-0.5, 2.8, 0, 0] wi w2 λ w3,4 λ=1e-40 w1 λ=1e0 • solve w* = minimize ( ∑(ŷi(w) - yi)2 + λ• ∑|wj|) • at λ=1e0

  37. Pathwise Regularized Linear Regression wi w* λ λ=1e-40

  38. Pathwise Regularized Linear Regression wi w* λ λ=1e-40

  39. Pathwise Regularized Linear Regression w* = [-3.5, 2.9, 0.6, -1.4] wi λ

  40. Pathwise Regularized Linear Regression wi w* λ • Each column vector of w* is a different linear model. • Which model is better / best? Accuracy vs. complexity…

  41. Pathwise RegressionAccuracy Per Model wi λ Training error ∑(ŷi(w) - yi)2 for training i one model Test error ∑(ŷi(w) - yi)2 for test i overfitting

  42. Pathwise RegressionComplexity Per Model wi λ one model Complexity = # nonzero coefficients 4 3 2 1 0 λ

  43. Accuracy – Complexity Tradeoff Test error + λ one model # nonzero coefficients) = λ Test error Tradeoff # nonzero coeffs. Ideal

  44. Cool Propertiesof Pathwise Regression(versus plain old LS) • Cool property #1:solving a full regularized path gives us accuracy-vs-complexity tradeoffs! • Cool property #2: can have more coefficients than samples! • Regularization term ∑|wi|means no underdetermined problems • Cool property #3: solving a regularized learning problem is just as fast (or faster) than solving a least-squares learning problem! • Why: convex optimization problem – one big hill

  45. Q: How does Google find furry robots? • Answer (NIPS 2010): • Treat images as 1000x1000 = 1M input vars. (x) • Crawl the web: • Find all images with “furry” & “robot” in filename. Assign y-value = 1.0 • Find ≤5K images with “furry”, “robot”. y-value = 0.75 • Randomly grab 5K more images. y-value = 0.0 • Run regularized linear learning on X → y (learning on 1M input variables!!) • On all unseen images, run model. Return images sorted from highest ŷ down. • Cool property #4: regularized learning can handle a ridiculous number of input variables!

  46. Outline • Motivation • Proposed flow • Backgrounder • Least-squares regression • Regularized learning • Fast Function Extraction (FFX) • Results • Conclusion

  47. Recap: Proposed Flow (Manual) develop eqns. of design vars. → circuit perf. (Auto) extract eqns. of process vars. → circuit perf. Early-stage design (topology, initial sizing) Draw 100-1000 MC samples (X) SPICE-Simulate on samples (y) Tune sizings for perf. & yield Build whitebox Model of X → y Layout …

  48. wi λ Test error Tradeoff Ideal Complexity A New Modeling Algorithm:Fast Function Extraction (FFX) 1. Replace linear bases with a ridiculous number of nonlinear ones • xi2, xi • xj, log, abs, max(0, x – thr), … • 2. Pathwise regularized learn on bases 3. Filter for tradeoff of error vs. # coefficients (That’s it!) (+ a couple tweaks)

More Related