280 likes | 287 Views
This study explores the measurement and impact of inherent noise in electronic design automation (EDA) tools, providing insights into tool behavior and potential strategies for exploiting noise to improve solution quality.
E N D
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 • 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
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
Outline • Tool behavior criteria • Taxonomy of potential perturbation • Examples on noise effects • Exploitation of tool noise • Conclusions and ongoing works
Quality Quality Parameter Parameter Tool Behavior Criteria • Monotonicity • monotone solutions w.r.t. inputs
Tool Behavior Criteria • Monotonicity • Smoothness • “similar” solutions after perturbation Solution space
Tool Behavior Criteria • Monotonicity • Smoothness • Scaling • preserve quality with scaled input 0.18 0.25
Outline • Tool behavior criteria • Taxonomy of potential perturbation • Examples on noise effects • Exploitation of tool noise • Conclusions and ongoing works
Perturbation Taxonomy • Randomness • Ordering and naming • Coarseness and richness of library • Constraints • Geometric properties
Randomness • Random number generator (RNG) • initial solution for heuristic • tie breaker
Ordering and Naming • Instance ordering • C1,C2,C3,… C17,C224,C5,… • Instance naming • AFDX|CTRL|AX239 CELL00134 • AFDX|CTRL|AX239 ID012|ID119|ID416
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.)
Constraints • Design rules • spacing, width, size, etc. • Design constraints • timing constraints • grouping constraints • area constraints • Perturbation • tightening or relaxing the constraints
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
Outline • Tool behavior criteria • Taxonomy of potential perturbation • Examples on noise effects • Exploitation of tool noise • Conclusions and ongoing works
Examples of Noise Effects • Monotonicity test • Random seeds • Random ordering and naming • Random hierarchy • Cadence Place & Route • 13 industry designs
Monotonicity Test • OptimizationLevel: 1(fast/worst) … 10(slow/best)
Random Seeds • 200 runs with different random seeds • 0.05% improvement -0.05%
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
Random Naming (contd.) • Wide range of variations (±3%) • Hierarchy matters Number of Runs % Quality Difference
Random Hierarchy • Swap hierarchy • AA|BB|C03 XX|YY|C03 • XX|YY|Z12 AA|BB|Z12 Number of Runs % Quality Difference
Outline • Tool behavior criteria • Taxonomy of potential perturbation • Examples on noise effects • Exploitation of tool noise • Conclusions and ongoing works
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)
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
Noise Exploitation (Contd.) • Noise that preserves hierarchy almost always yields superior results • CPU budget = 1 run use MC
Outline • Tool behavior criteria • Taxonomy of potential perturbation • Examples on noise effects • Exploitation of tool noise • Conclusions and ongoing works
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
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