290 likes | 443 Views
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
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