+ All Categories
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)

– 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


Top Related