1 / 28

Measurement of Inherent Noise in EDA Tools

Measurement of Inherent Noise in EDA Tools. Andrew B. Kahng* and Stefanus Mantik * UCSD CSE and ECE Departments, La Jolla, CA UCLA CS Department, Los Angeles, CA. Introduction. Complexity , design cycle time  Tool predictability predict final solution before running the tool

neka
Télécharger la présentation

Measurement of Inherent Noise in EDA Tools

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. Measurement of Inherent Noise in EDA Tools Andrew B. Kahng* and Stefanus Mantik *UCSD CSE and ECE Departments, La Jolla, CA UCLA CS Department, Los Angeles, CA

  2. Introduction • Complexity , design cycle time  • Tool predictability • predict final solution before running the tool • requires understanding of tool behavior • Heuristic nature of tool • leads to noise: variability in solution quality • Understand how tool behaves in the presence of noise

  3. Previous Works • Hartoog (DAC’86) • reorder cells/nets  isomorphic circuits • algorithm comparison • Harlow/Brglez (ICCAD’98) • randomize name and node order • Ghosh (Dissertation’00) • circuit mutation  isomorphic class • Bodapati/Najm (SLIP’00) • noise effect on pre-layout estimation

  4. Outline • Tool behavior criteria • Taxonomy of potential perturbation • Examples on noise effects • Exploitation of tool noise • Conclusions and ongoing works

  5. Quality Quality Parameter Parameter Tool Behavior Criteria • Monotonicity • monotone solutions w.r.t. inputs

  6. Tool Behavior Criteria • Monotonicity • Smoothness • “similar” solutions after  perturbation Solution space

  7. Tool Behavior Criteria • Monotonicity • Smoothness • Scaling • preserve quality with scaled input 0.18 0.25

  8. Outline • Tool behavior criteria • Taxonomy of potential perturbation • Examples on noise effects • Exploitation of tool noise • Conclusions and ongoing works

  9. Perturbation Taxonomy • Randomness • Ordering and naming • Coarseness and richness of library • Constraints • Geometric properties

  10. Randomness • Random number generator (RNG) • initial solution for heuristic • tie breaker

  11. Ordering and Naming • Instance ordering • C1,C2,C3,…  C17,C224,C5,… • Instance naming • AFDX|CTRL|AX239  CELL00134 • AFDX|CTRL|AX239  ID012|ID119|ID416

  12. Input Slew Load 1x7 Load 7x7 Library Coarseness & Richness • Cell library • number of variations for cell types (e.g., INV1x, INV2x, INV4x, INV8x, etc.) • Timing library • timing model (look-up tables, linear interpolation, etc.)

  13. Constraints • Design rules • spacing, width, size, etc. • Design constraints • timing constraints • grouping constraints • area constraints • Perturbation • tightening or relaxing the constraints

  14. Geometric Properties • Offsets • cell sites, cell rows, routing tracks, power stripes, global cell grids, etc. • Orientations • pin orientations, site orientations, routing directions, etc. • Instance scaling • cell sizes, routing pitches, layout size, etc. • Artificial blockages

  15. Outline • Tool behavior criteria • Taxonomy of potential perturbation • Examples on noise effects • Exploitation of tool noise • Conclusions and ongoing works

  16. Examples of Noise Effects • Monotonicity test • Random seeds • Random ordering and naming • Random hierarchy • Cadence Place & Route • 13 industry designs

  17. Monotonicity Test • OptimizationLevel: 1(fast/worst) … 10(slow/best)

  18. Random Seeds • 200 runs with different random seeds • 0.05% improvement -0.05%

  19. Random Ordering & Naming • Data sorting  no effect on reordering • Five naming perturbation • random cell names without hierarchy (CR) • E.g., AFDX|CTRL|AX239  CELL00134 • random net names without hierarchy (NR) • random cell names with hierarchy (CH) • E.g., AFDX|CTRL|AX129  ID012|ID79|ID216 • random net names with hierarchy (NH) • random master cell names (MC) • E.g., NAND3X4  MCELL0123

  20. Random Naming (contd.) • Wide range of variations (±3%) • Hierarchy matters Number of Runs % Quality Difference

  21. Random Hierarchy • Swap hierarchy • AA|BB|C03  XX|YY|C03 • XX|YY|Z12  AA|BB|Z12 Number of Runs % Quality Difference

  22. Outline • Tool behavior criteria • Taxonomy of potential perturbation • Examples on noise effects • Exploitation of tool noise • Conclusions and ongoing works

  23. Cr Nr -1.59 -0.29 0.52 3.56 -0.72 0.83 0.84 1.81 1.03 2.40 2.90 -0.57 -1.14 0.34 1.22 -0.20 0.42 -0.85 0.57 -0.18 -0.46 -0.81 0.83 -1.92 0.16 -0.69 1.07 1.38 0.86 -0.37 -1.33 -1.00 1.06 0.98 1.26 Noise Additive Property ? • Noise1 + Noise2 = (Noise1 & Noise2)

  24. Noise Exploitation • CPU Budget = 1 run • noise with best mean • CPU Budget = 5 runs • noise with min average soln. over 5 runs • For each noise • randomly select k solutions • record the best-k • repeat 1000 times and get average

  25. Noise Exploitation (Contd.) • Noise that preserves hierarchy almost always yields superior results • CPU budget = 1 run  use MC

  26. Outline • Tool behavior criteria • Taxonomy of potential perturbation • Examples on noise effects • Exploitation of tool noise • Conclusions and ongoing works

  27. Conclusions • EDA tools behavior criteria w.r.t. noise • Initial taxonomy of noise sources • Effects of noises on P&R solutions • Non-additive noise property

  28. Ongoing Works • Prediction model that includes noises • Relationships between different noises • Noise impact on timing-driven solution • Relationship between perturbation size and changes in solution quality • Composition of noises between consecutive tools in the design flow

More Related