Home >Documents >Measurement of Inherent Noise in EDA Tools Andrew B. Kahng* and Stefanus Mantik * UCSD CSE and ECE...

Measurement of Inherent Noise in EDA Tools Andrew B. Kahng* and Stefanus Mantik * UCSD CSE and ECE...

Date post:21-Dec-2015
Category:
View:215 times
Download:0 times
Share this document with a friend
Transcript:
  • Slide 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
  • Slide 2
  • Introduction Complexity , design cycle time Complexity , design cycle time Tool predictability Tool predictability predict final solution before running the tool requires understanding of tool behavior Heuristic nature of tool Heuristic nature of tool leads to noise: variability in solution quality Understand how tool behaves in the presence of noise Understand how tool behaves in the presence of noise
  • Slide 3
  • Previous Works Hartoog (DAC86) Hartoog (DAC86) reorder cells/nets isomorphic circuits algorithm comparison Harlow/Brglez (ICCAD98) Harlow/Brglez (ICCAD98) randomize name and node order Ghosh (Dissertation00) Ghosh (Dissertation00) circuit mutation isomorphic class Bodapati/Najm (SLIP00) Bodapati/Najm (SLIP00) noise effect on pre-layout estimation
  • Slide 4
  • Outline Tool behavior criteria Tool behavior criteria Taxonomy of potential perturbation Taxonomy of potential perturbation Examples on noise effects Examples on noise effects Exploitation of tool noise Exploitation of tool noise Conclusions and ongoing works Conclusions and ongoing works
  • Slide 5
  • Tool Behavior Criteria Monotonicity Monotonicity monotone solutions w.r.t. inputs Parameter Quality Parameter Quality
  • Slide 6
  • Tool Behavior Criteria Monotonicity Monotonicity Smoothness Smoothness similar solutions after perturbation Solution space
  • Slide 7
  • Tool Behavior Criteria Monotonicity Monotonicity Smoothness Smoothness Scaling Scaling preserve quality with scaled input 0.25 0.18
  • Slide 8
  • Outline Tool behavior criteria Tool behavior criteria Taxonomy of potential perturbation Taxonomy of potential perturbation Examples on noise effects Examples on noise effects Exploitation of tool noise Exploitation of tool noise Conclusions and ongoing works Conclusions and ongoing works
  • Slide 9
  • Perturbation Taxonomy Randomness Randomness Ordering and naming Ordering and naming Coarseness and richness of library Coarseness and richness of library Constraints Constraints Geometric properties Geometric properties
  • Slide 10
  • Randomness Random number generator (RNG) Random number generator (RNG) initial solution for heuristic tie breaker Seed Pseudorandom Number 13424581992612 21271356611389 6141250841365
  • Slide 11
  • Ordering and Naming Instance ordering Instance ordering C1,C2,C3, C17,C224,C5, Instance naming Instance naming AFDX|CTRL|AX239 CELL00134 AFDX|CTRL|AX239 ID012|ID119|ID416
  • Slide 12
  • Library Coarseness & Richness Cell library Cell library number of variations for cell types (e.g., INV1x, INV2x, INV4x, INV8x, etc.) Timing library Timing library timing model (look-up tables, linear interpolation, etc.) Input Slew Load 7x7 Load 1x7
  • Slide 13
  • Constraints Design rules Design rules spacing, width, size, etc. Design constraints Design constraints timing constraints grouping constraints area constraints Perturbation Perturbation tightening or relaxing the constraints
  • Slide 14
  • Geometric Properties Offsets Offsets cell sites, cell rows, routing tracks, power stripes, global cell grids, etc. Orientations Orientations pin orientations, site orientations, routing directions, etc. Instance scaling Instance scaling cell sizes, routing pitches, layout size, etc. Artificial blockages Artificial blockages
  • Slide 15
  • Outline Tool behavior criteria Tool behavior criteria Taxonomy of potential perturbation Taxonomy of potential perturbation Examples on noise effects Examples on noise effects Exploitation of tool noise Exploitation of tool noise Conclusions and ongoing works Conclusions and ongoing works
  • Slide 16
  • Examples of Noise Effects Monotonicity test Monotonicity test Random seeds Random seeds Random ordering and naming Random ordering and naming Random hierarchy Random hierarchy Cadence Place & Route Cadence Place & Route 13 industry designs 13 industry designs
  • Slide 17
  • Monotonicity Test OptimizationLevel: 1(fast/worst) 10(slow/best) OptimizationLevel: 1(fast/worst) 10(slow/best) Opt Level 123456789 QP WL 2.500.97-0.20-0.111.430.581.290.641.70 QP CPU -59.7-51.6-40.4-39.3-31.5-31.3-17.3-11.9-6.73 WR WL 2.951.52-0.290.071.590.920.890.941.52 Total CPU 4.19-6.77-16.2-15.2-7.23-10.6-6.99-3.75-0.51
  • Slide 18
  • Random Seeds 200 runs with different random seeds 200 runs with different random seeds 0.05% improvement -0.05%
  • Slide 19
  • Random Ordering & Naming Data sorting no effect on reordering Data sorting no effect on reordering Five naming perturbation 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
  • Slide 20
  • Random Naming (contd.) Wide range of variations (3%) Wide range of variations (3%) Hierarchy matters Hierarchy matters % Quality Difference Number of Runs
  • Slide 21
  • Random Hierarchy Swap hierarchy Swap hierarchy AA|BB|C03 XX|YY|C03 XX|YY|Z12 AA|BB|Z12 % Quality Difference Number of Runs
  • Slide 22
  • Outline Tool behavior criteria Tool behavior criteria Taxonomy of potential perturbation Taxonomy of potential perturbation Examples on noise effects Examples on noise effects Exploitation of tool noise Exploitation of tool noise Conclusions and ongoing works Conclusions and ongoing works
  • Slide 23
  • Noise Additive Property Noise 1 + Noise 2 = (Noise 1 & Noise 2 ) Noise 1 + Noise 2 = (Noise 1 & Noise 2 ) 1.260.981.06-1.33-0.37 0.861.381.07-0.690.16-1.92 0.83-0.81-0.46-0.180.57-0.85 0.42-0.201.220.34-1.14-0.57 2.902.401.031.810.840.83-0.723.560.52-0.29-1.59CrNr ?
  • Slide 24
  • Noise Exploitation CPU Budget = 1 run CPU Budget = 1 run noise with best mean CPU Budget = 5 runs CPU Budget = 5 runs noise with min average soln. over 5 runs For each noise For each noise randomly select k solutions record the best-k repeat 1000 times and get average
  • Slide 25
  • Noise Exploitation (Contd.) Noise that preserves hierarchy almost always yields superior results Noise that preserves hierarchy almost always yields superior results CPU budget = 1 run use MC CPU budget = 1 run use MC kCRCHNRNHMC 132451 231542 3-441532 5-2151432 22-3041532
  • Slide 26
  • Outline Tool behavior criteria Tool behavior criteria Taxonomy of potential perturbation Taxonomy of potential perturbation Examples on noise effects Examples on noise effects Exploitation of tool noise Exploitation of tool noise Conclusions and ongoing works Conclusions and ongoing works
  • Slide 27
  • Conclusions EDA tools behavior criteria w.r.t. noise EDA tools behavior criteria w.r.t. noise Initial taxonomy of noise sources Initial taxonomy of noise sources Effects of noises on P&R solutions Effects of noises on P&R solutions Non-additive noise property Non-additive noise property
  • Slide 28
  • Ongoing Works Prediction model that includes noises Prediction model that includes noises Relationships between different noises Relationships between different noises Noise impact on timing-driven solution Noise impact on timing-driven solution Relationship between perturbation size and changes in solution quality Relationship between perturbation size and changes in solution quality Composition of noises between consecutive tools in the design flow Composition of noises between consecutive tools in the design flow
Popular Tags:

Click here to load reader

Reader Image
Embed Size (px)
Recommended