Measurement of Measurement of Inherent Noise in EDA Inherent Noise in EDA Tools Tools Andrew B. Kahng* Andrew B. Kahng* and and Stefanus Mantik Stefanus Mantik * * UCSD CSE and ECE Departments, La UCSD CSE and ECE Departments, La Jolla, CA Jolla, CA UCLA CS Department, Los Angeles, CA UCLA CS Department, Los Angeles, CA
28
Embed
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,
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Measurement of Inherent Measurement of Inherent Noise in EDA ToolsNoise in EDA Tools
Andrew B. Kahng*Andrew B. Kahng*
andand
Stefanus MantikStefanus Mantik
**UCSD CSE and ECE Departments, La Jolla, CAUCSD CSE and ECE Departments, La Jolla, CA
UCLA CS Department, Los Angeles, CAUCLA CS Department, Los Angeles, CA
IntroductionIntroduction Complexity Complexity , design cycle time , design cycle time Tool predictabilityTool predictability
– predict final solution before running the toolpredict final solution before running the tool– requires understanding of tool behaviorrequires understanding of tool behavior
Heuristic nature of toolHeuristic nature of tool– leads to noise: variability in solution qualityleads to noise: variability in solution quality
Understand how tool behaves in the Understand how tool behaves in the presence of noisepresence of noise
Previous WorksPrevious Works Hartoog (DAC’86)Hartoog (DAC’86)
Harlow/Brglez (ICCAD’98)Harlow/Brglez (ICCAD’98)– randomize name and node orderrandomize name and node order
Ghosh (Dissertation’00)Ghosh (Dissertation’00)– circuit mutation circuit mutation isomorphic class isomorphic class
Bodapati/Najm (SLIP’00)Bodapati/Najm (SLIP’00)– noise effect on pre-layout estimationnoise effect on pre-layout estimation
OutlineOutline Tool behavior criteriaTool behavior criteria Taxonomy of potential perturbationTaxonomy of potential perturbation Examples on noise effectsExamples on noise effects Exploitation of tool noiseExploitation of tool noise Conclusions and ongoing worksConclusions and ongoing works
– preserve quality with scaled inputpreserve quality with scaled input
0.25
0.18
OutlineOutline Tool behavior criteriaTool behavior criteria Taxonomy of potential perturbationTaxonomy of potential perturbation Examples on noise effectsExamples on noise effects Exploitation of tool noiseExploitation of tool noise Conclusions and ongoing worksConclusions and ongoing works
Perturbation TaxonomyPerturbation Taxonomy RandomnessRandomness Ordering and namingOrdering and naming Coarseness and richness of libraryCoarseness and richness of library ConstraintsConstraints Geometric propertiesGeometric properties
RandomnessRandomness Random number generator (RNG)Random number generator (RNG)
– initial solution for heuristicinitial solution for heuristic– tie breakertie breaker
SeedSeed Pseudorandom NumberPseudorandom Number
134134 245245 8181 992992 612612 ……
212212 713713 566566 113113 8989 ……
614614 1212 5050 841841 365365 ……
…… …… …… …… …… ……
Ordering and NamingOrdering and Naming Instance orderingInstance ordering
– number of variations for cell types (e.g., number of variations for cell types (e.g., INV1x, INV2x, INV4x, INV8x, etc.)INV1x, INV2x, INV4x, INV8x, etc.)
Timing libraryTiming library– timing model (look-up tables, linear timing model (look-up tables, linear
– cell sites, cell rows, routing tracks, power cell sites, cell rows, routing tracks, power stripes, global cell grids, etc.stripes, global cell grids, etc.
OrientationsOrientations– pin orientations, site orientations, routing pin orientations, site orientations, routing
directions, etc.directions, etc. Instance scalingInstance scaling
OutlineOutline Tool behavior criteriaTool behavior criteria Taxonomy of potential perturbationTaxonomy of potential perturbation Examples on noise effectsExamples on noise effects Exploitation of tool noiseExploitation of tool noise Conclusions and ongoing worksConclusions and ongoing works
Examples of Noise EffectsExamples of Noise Effects Monotonicity testMonotonicity test Random seedsRandom seeds Random ordering and namingRandom ordering and naming Random hierarchyRandom hierarchy Cadence Place & RouteCadence Place & Route 13 industry designs13 industry designs
Monotonicity TestMonotonicity Test OptimizationLevel: OptimizationLevel: 1(fast/worst) … 10(slow/best)1(fast/worst) … 10(slow/best)
Total CPUTotal CPU 4.194.19 -6.77-6.77 -16.2-16.2 -15.2-15.2 -7.23-7.23 -10.6-10.6 -6.99-6.99 -3.75-3.75 -0.51-0.51
-60
-50
-40
-30
-20
-10
0
10
1 2 3 4 5 6 7 8 9
QP CPU
Total CPU
-0.5
0
0.5
1
1.5
2
2.5
3
1 2 3 4 5 6 7 8 9
QP WL
WR WL
Random SeedsRandom Seeds 200 runs with different random seeds200 runs with different random seeds
– 0.05% improvement0.05% improvement
0
5
10
15
20
25
30
35
-0.2
4-0
.2-0
.16
-0.1
2-0
.08
-0.0
4 00.
040.
080.
12
% Quality Difference
# R
un
-0.05%
Random Ordering & NamingRandom Ordering & Naming Data sorting Data sorting no effect on reordering no effect on reordering Five naming perturbationFive naming perturbation
– random cell names without hierarchy (CR)random cell names without hierarchy (CR)» E.g., AFDX|CTRL|AX239 E.g., AFDX|CTRL|AX239 CELL00134 CELL00134
– random net names without hierarchy (NR)random net names without hierarchy (NR)– random cell names with hierarchy (CH)random cell names with hierarchy (CH)
OutlineOutline Tool behavior criteriaTool behavior criteria Taxonomy of potential perturbationTaxonomy of potential perturbation Examples on noise effectsExamples on noise effects Exploitation of tool noiseExploitation of tool noise Conclusions and ongoing worksConclusions and ongoing works
Noise ExploitationNoise Exploitation CPU Budget = 1 runCPU Budget = 1 run
– noise with best meannoise with best mean CPU Budget = 5 runsCPU Budget = 5 runs
– noise with min average soln. over 5 runsnoise with min average soln. over 5 runs For each noiseFor each noise
– randomly select randomly select kk solutions solutions– record the best-record the best-kk– repeat 1000 times and get averagerepeat 1000 times and get average
Noise Exploitation (Contd.)Noise Exploitation (Contd.) Noise that preserves hierarchy almost Noise that preserves hierarchy almost
always yields superior resultsalways yields superior results CPU budget = 1 run CPU budget = 1 run use MC use MC
kk CRCR CHCH NRNR NHNH MCMC
11 33 22 44 55 11
22 33 11 55 44 22
3-43-4 44 11 55 33 22
5-215-21 55 11 44 33 22
22-3022-30 44 11 55 33 22
OutlineOutline Tool behavior criteriaTool behavior criteria Taxonomy of potential perturbationTaxonomy of potential perturbation Examples on noise effectsExamples on noise effects Exploitation of tool noiseExploitation of tool noise Conclusions and ongoing worksConclusions and ongoing works
ConclusionsConclusions EDA tools behavior criteria w.r.t. noiseEDA tools behavior criteria w.r.t. noise Initial taxonomy of noise sourcesInitial taxonomy of noise sources Effects of noises on P&R solutionsEffects of noises on P&R solutions Non-additive noise propertyNon-additive noise property
Ongoing WorksOngoing Works Prediction model that includes noisesPrediction model that includes noises Relationships between different noisesRelationships between different noises Noise impact on timing-driven solutionNoise impact on timing-driven solution Relationship between perturbation size Relationship between perturbation size
and changes in solution qualityand changes in solution quality Composition of noises between Composition of noises between
consecutive tools in the design flowconsecutive tools in the design flow