measurement of inherent noise in eda tools
DESCRIPTION
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 - PowerPoint PPT PresentationTRANSCRIPT
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)
– reorder cells/nets reorder cells/nets isomorphic circuits isomorphic circuits– algorithm comparisonalgorithm comparison
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
Tool Behavior CriteriaTool Behavior Criteria MonotonicityMonotonicity
– monotone solutions w.r.t. inputsmonotone solutions w.r.t. inputs
Parameter
Qua
lity
Parameter
Qua
lity
Tool Behavior CriteriaTool Behavior Criteria MonotonicityMonotonicity SmoothnessSmoothness
– ““similar” solutions after similar” solutions after perturbation perturbation
Solution space
Tool Behavior CriteriaTool Behavior Criteria MonotonicityMonotonicity SmoothnessSmoothness ScalingScaling
– 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
– C1,C2,C3,… C1,C2,C3,… C17,C224,C5,… C17,C224,C5,… Instance namingInstance naming
– AFDX|CTRL|AX239 AFDX|CTRL|AX239 CELL00134 CELL00134– AFDX|CTRL|AX239 AFDX|CTRL|AX239 ID012|ID119|ID416 ID012|ID119|ID416
Library Coarseness & RichnessLibrary Coarseness & Richness Cell libraryCell library
– 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
interpolation, etc.)interpolation, etc.)
Input Slew
Loa
d
7x7Load
1x7
ConstraintsConstraints Design rulesDesign rules
– spacing, width, size, etc.spacing, width, size, etc. Design constraintsDesign constraints
– timing constraintstiming constraints– grouping constraintsgrouping constraints– area constraintsarea constraints
PerturbationPerturbation– tightening or relaxing the constraintstightening or relaxing the constraints
Geometric PropertiesGeometric Properties OffsetsOffsets
– 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
– cell sizes, routing pitches, layout size, etc.cell sizes, routing pitches, layout size, etc. Artificial blockagesArtificial blockages
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)
Opt LevelOpt Level 11 22 33 44 55 66 77 88 99
QP WLQP WL 2.502.50 0.970.97 -0.20-0.20 -0.11-0.11 1.431.43 0.580.58 1.291.29 0.640.64 1.701.70
QP CPUQP CPU -59.7-59.7 -51.6-51.6 -40.4-40.4 -39.3-39.3 -31.5-31.5 -31.3-31.3 -17.3-17.3 -11.9-11.9 -6.73-6.73
WR WLWR WL 2.952.95 1.521.52 -0.29-0.29 0.070.07 1.591.59 0.920.92 0.890.89 0.940.94 1.521.52
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)
» E.g., AFDX|CTRL|AX129 E.g., AFDX|CTRL|AX129 ID012|ID79|ID216 ID012|ID79|ID216
– random net names with hierarchy (NH)random net names with hierarchy (NH)– random master cell names (MC)random master cell names (MC)
» E.g., NAND3X4 E.g., NAND3X4 MCELL0123 MCELL0123
Random Naming (contd.)Random Naming (contd.) Wide range of variations (Wide range of variations (±3%)±3%) Hierarchy mattersHierarchy matters
0
2
4
6
8
10
12
14
16
-4 -2 0 2 4 6
CR
NR
CH
NH
MC
% Quality Difference
Num
ber
of R
uns
0
2
4
6
8
10
12
14
16
-4 -2 0 2 4 6
CR
NR
0
2
4
6
8
10
12
14
16
-4 -2 0 2 4 6
CH
NH
0
2
4
6
8
10
12
14
16
-4 -2 0 2 4 6
CR
CH
MC
0
2
4
6
8
10
12
14
16
-4 -2 0 2 4 6
NR
NH
MC
0
2
4
6
8
10
12
14
16
-4 -2 0 2 4 6
CR
NR
CH
NH
MC
Random HierarchyRandom Hierarchy Swap hierarchySwap hierarchy
– AA|BB|C03 AA|BB|C03 XX|YY|C03 XX|YY|C03– XX|YY|Z12 XX|YY|Z12 AA|BB|Z12 AA|BB|Z12
0
2
4
6
8
10
-1 1 3 5 7 9 11 13% Quality Difference
Nu
mb
er
of R
uns
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 Additive PropertyNoise Additive Property NoiseNoise11 + Noise + Noise22 = (Noise = (Noise11 & Noise & Noise22))
1.261.260.980.981.061.06-1.00-1.00-1.33-1.33-0.37-0.37
0.860.861.381.381.071.07-0.69-0.690.160.16-1.92-1.92
0.830.83-0.81-0.81-0.46-0.46-0.18-0.180.570.57-0.85-0.85
0.420.42-0.20-0.201.221.220.340.34-1.14-1.14-0.57-0.57
2.902.902.402.401.031.031.811.810.840.840.830.83
-0.72-0.723.563.560.520.52-0.29-0.29-1.59-1.59CrCr NrNr
?
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