Modern Physical Design

39
1 1 Andrew B. Kahng Majid Sarrafzadeh ICCAD Tutorial: November 11, 1999 C Modern Physical Design: Algorithm Technology Methodology (Part V) Modern Physical Design: Modern Physical Design: Algorithm Algorithm Technology Technology Methodology Methodology (Part V) (Part V) Andrew B. Kahng UCLA Majid Sarrafzadeh Northwestern Andrew B. Kahng UCLA Majid Sarrafzadeh Northwestern 2 Andrew B. Kahng Majid Sarrafzadeh ICCAD Tutorial: November 11, 1999 C What does EDA know about What does EDA know about process? process? Process Develop.: •Lithography •Device Device models Design rules TCAD Design ECAD GDSII Clean abstraction!

Transcript of Modern Physical Design

Page 1: Modern Physical Design

1

1 Andrew B. KahngMajid SarrafzadehICCAD Tutorial: November 11, 1999 C

Modern Ph ysical Desi gn:Algorithm

Technolo gyMethodolo gy

(Part V)

Modern Ph ysical Desi gn:Modern Ph ysical Desi gn:AlgorithmAlgorithm

Technolo gyTechnolo gyMethodolo gyMethodolo gy

(Part V)(Part V)Andrew B. Kahng UCLA

Majid Sarrafzadeh Northwestern

Andrew B. Kahng UCLA

Majid Sarrafzadeh Northwestern

2 Andrew B. KahngMajid SarrafzadehICCAD Tutorial: November 11, 1999 C

What does EDA know aboutWhat does EDA know aboutprocess?process?

Process

Develop.:•Lithography

•Device

Device models

Design rules

TCAD

Design

ECAD

GDSII

Clean abstraction!

Page 2: Modern Physical Design

2

3 Andrew B. KahngMajid SarrafzadehICCAD Tutorial: November 11, 1999 C

Develo pmentalDevelo pmental fab fab in ti ght loo p in ti ght loo p

Mask

Process

Develop.:•Lithography

•Device

Device models

Design rules

TCAD Production Fab

Design

Process

Requirements

Devl. Fab

ECAD

Semi

suppliers

GDSI, tolerances,...

tolerances...

4 Andrew B. KahngMajid SarrafzadehICCAD Tutorial: November 11, 1999 C

System Definition

Architechture

S/W - Compiler - Verify HW/SW

SynthesisFloorPlanningLayoutSpecs Verification

TCADVirt. Pkg PrototypeNew Prod Intro

CIM, SPCYield ModelingRel. ModelingProcess Calib.

Old Paradigm -Design -> TCAD

HierarchyNew Paradigm -

Design <-> TechnologyInteraction / Iteration

Flow

PRE-DesignCalibration(Rules, Models)

BackAnnotation Post-Layout

DesignIntegrity

ToolSuite

Behavioral & Logic Synthesis

Formal & Func. Verification

DFT, DFM, DFD, DFR

Floorplanning , Place&Route

Noise, Power, Delay Extraction

Layout , Parasitics

Post-LayoutDesignSystem

Interconnect Extraction(Delay Paths, Return Currents,SIV)

OPC / Phase Shift / Optical Process - Induced Shapes “Corruption”

Process Technology “Spurious” Shapes (CMP Tiles, Slotting)

New ECAD-TCAD Paradi gmNew ECAD-TCAD Paradi gmNew ECAD-TCAD Paradi gm

Courtesy W. Grobman, DAC99

Page 3: Modern Physical Design

3

5 Andrew B. KahngMajid SarrafzadehICCAD Tutorial: November 11, 1999 C

Densit y Control for CMPDensit y Control for CMPDensit y Control for CMP

z Chemical-mechanical polishing (CMP)z applied to interlayer dielectrics (ILD) and inlaid metals

z polishing pad wear, slurry composition, pad elasticity make thisa very difficult process step

z Cause of CMP variabilityz pad deforms over metal featurez greater ILD thickness over dense regions of layout

z “dishing” in sparse regions of layout

z huge part of chip variability budget used up (e.g., 4000Å ILDvariation across-die)

z Chemical-mechanical polishing (CMP)z applied to interlayer dielectrics (ILD) and inlaid metals

z polishing pad wear, slurry composition, pad elasticity make thisa very difficult process step

z Cause of CMP variabilityz pad deforms over metal featurez greater ILD thickness over dense regions of layout

z “dishing” in sparse regions of layout

z huge part of chip variability budget used up (e.g., 4000Å ILDvariation across-die)

6 Andrew B. KahngMajid SarrafzadehICCAD Tutorial: November 11, 1999 C

Min-Variation Ob jectiveMin-Variation Ob jectiveMin-Variation Ob jective

z Relationship between oxide thickness and local featuredensity

z Minimizing variation in window density over layoutpreferable to satisfying lower and upper density bounds

z Relationship between oxide thickness and local featuredensity

z Minimizing variation in window density over layoutpreferable to satisfying lower and upper density bounds

density

oxi

de

thic

knes

s

filling

min min’ max

Page 4: Modern Physical Design

4

7 Andrew B. KahngMajid SarrafzadehICCAD Tutorial: November 11, 1999 C

Densit y Control for CMPDensit y Control for CMPDensit y Control for CMP

z Layout density controlz density rules minimize yield impactz uniform density achieved by post-processing, insertion of

dummy features

z Performance verification (PV) flow implicationsz accurate estimation of filling is needed in PD, PV tools (else

broken performance analysis flow)z filling geometries affect capacitance extraction by > 50%z is a multilayer problem (coupling to critical nets, contacting

restrictions, active layers, other interlayer dependencies)

z Layout density controlz density rules minimize yield impactz uniform density achieved by post-processing, insertion of

dummy features

z Performance verification (PV) flow implicationsz accurate estimation of filling is needed in PD, PV tools (else

broken performance analysis flow)z filling geometries affect capacitance extraction by > 50%z is a multilayer problem (coupling to critical nets, contacting

restrictions, active layers, other interlayer dependencies)

8 Andrew B. KahngMajid SarrafzadehICCAD Tutorial: November 11, 1999 C

Densit y RulesDensit y RulesDensit y Rules

z Modern foundry rules specify layout density bounds to minimizeimpact of CMP on yield

z Density rules control local feature density for w ×w windowsz e.g., on each metal layer every 2000um × 2000um window must be

between 35% and 70% filled

z Filling = insertion of "dummy" features to improve layout density

z typically via layout post-processing in PV / TCAD tools

z boolean operations on layout data

z affects vital design characteristics (e.g., RC extraction)

z accurate knowledge of filling is required during physical design and

verification

z Modern foundry rules specify layout density bounds to minimizeimpact of CMP on yield

z Density rules control local feature density for w ×w windowsz e.g., on each metal layer every 2000um × 2000um window must be

between 35% and 70% filled

z Filling = insertion of "dummy" features to improve layout density

z typically via layout post-processing in PV / TCAD tools

z boolean operations on layout data

z affects vital design characteristics (e.g., RC extraction)

z accurate knowledge of filling is required during physical design and

verification

Page 5: Modern Physical Design

5

9 Andrew B. KahngMajid SarrafzadehICCAD Tutorial: November 11, 1999 C

Need for Densit y Awareness inLayoutNeed for Densit y Awareness inNeed for Densit y Awareness inLayoutLayout

z Performance verification flow:

z Filling/slotting geometries affect RC extraction

z Performance verification flow:

z Filling/slotting geometries affect RC extraction

RCX ROMDelayCalc

Timing/Noise Analysis

-15

VICTIM LAYER TOTAL CAPACITANCE (10 F)Same layer-i neighbors?

Fill layers i-1, i+1? ε = 3.9 ε = 2.7

N N 2.43 (1.0) 1.68 (1.0) N Y 3.73 (1.54) 2.58 (1.54) Y N 4.47 (1.84) 3.09 (1.84) Y Y 5.29 (2.18) 3.66 (2.18)

Up to 1% error in extracted capacitanceReliability also affected (e.g. slotting of power stripes)

10 Andrew B. KahngMajid SarrafzadehICCAD Tutorial: November 11, 1999 C

Need for Densit y Awareness inLayoutNeed for Densit y Awareness inNeed for Densit y Awareness inLayoutLayout

z Performance verification flow:

z Can be considered as ``single-layer’’ problem

z Performance verification flow:

z Can be considered as ``single-layer’’ problem

-15

Middle Victim Conductor Total Capacitance (10 F)

Fill layer offset Fill geometry ε = 3.9 ε = 2.7

N 10 × 1 3.776 (1.0) 2.614 (1.0) N 1 × 1 3.750 (0.99) 2.596 (0.99) Y 10 × 1 3.777 (1.00) 2.615 (1.00) Y 1 × 1 3.745 (0.99) 2.593 (0.99)

• Caveat: contacting, active+gate layers, other layer interactions

RCX ROMDelayCalc

Timing/Noise Analysis

Page 6: Modern Physical Design

6

11 Andrew B. KahngMajid SarrafzadehICCAD Tutorial: November 11, 1999 C

Limitations of Current Techni quesLimitations of Current Techni quesLimitations of Current Techni ques

z Current techniques for density control have three keyweaknesses:

(1) only the average overall feature density is constrained,while local variation in feature density is ignored

(2) density analysis does not find true extremal window densities- instead, it finds extremal window densities only over fixed setof window positions

(3) fill insertion into layout does not minimize the maximumvariation in window density

z Current techniques for density control have three keyweaknesses:

(1) only the average overall feature density is constrained,while local variation in feature density is ignored

(2) density analysis does not find true extremal window densities- instead, it finds extremal window densities only over fixed setof window positions

(3) fill insertion into layout does not minimize the maximumvariation in window density

12 Andrew B. KahngMajid SarrafzadehICCAD Tutorial: November 11, 1999 C

Layout Densit y Control FlowLayout Densit y Control FlowLayout Densit y Control Flow

Density Analysis• find total feature area in each window• find maximum/minimum total feature area over all w × w windows

Fill synthesis• compute amounts, locations of dummy fill• generate fill geometries

• find slack (available area for filling) in each window

Page 7: Modern Physical Design

7

13 Andrew B. KahngMajid SarrafzadehICCAD Tutorial: November 11, 1999 C

Exact Max-Densit y Window Anal ysisExact Max-Densit y Window Anal ysisExact Max-Densit y Window Anal ysis

z For each pivot rectangle R doz find density of w×w window W that abuts R on top

and rightz while W intersects R do

z slide W right till intersection with other rectangle edgez record changes in density

z O(k2) algorithm for k rectangles

z For each pivot rectangle R doz find density of w×w window W that abuts R on top

and rightz while W intersects R do

z slide W right till intersection with other rectangle edgez record changes in density

z O(k2) algorithm for k rectangles

R

W

14 Andrew B. KahngMajid SarrafzadehICCAD Tutorial: November 11, 1999 C

Fixed r-Dissection RegimeFixed Fixed rr-Dissection Regime-Dissection Regime

z Feature area density bounds enforced only for fixed setof w × w windows

z Layout partitioned by r2 distinct fixed dissections

z Each w × w window is partitioned in r2 tiles

z Feature area density bounds enforced only for fixed setof w × w windows

z Layout partitioned by r2 distinct fixed dissections

z Each w × w window is partitioned in r2 tiles

tile

overlapping windows

fixed r-dissectionwith r = 4

Page 8: Modern Physical Design

8

15 Andrew B. KahngMajid SarrafzadehICCAD Tutorial: November 11, 1999 C

Drawbacks of Fixed r-DissectionAnal ysisDrawbacks of Fixed Drawbacks of Fixed rr-Dissection-DissectionAnal ysisAnal ysisz If all w × w windows of fixed r-dissection have

density ≤ U, there may be floating w × wwindow with density min{1, U + 1/r -1/(4r2)}

z Fixed-dissection algorithm is inaccurate

z Exact algorithm is slow = O(k2)

z If all w × w windows of fixed r-dissection havedensity ≤ U, there may be floating w × wwindow with density min{1, U + 1/r -1/(4r2)}

z Fixed-dissection algorithm is inaccurate

z Exact algorithm is slow = O(k2)

16 Andrew B. KahngMajid SarrafzadehICCAD Tutorial: November 11, 1999 C

Shrunk and Bloated WindowsShrunk and Bloated WindowsShrunk and Bloated Windows

z Standard window = fixed r-dissection w × w windowz Floating window = arbitrary w × w windowz Bloated window = standard window bloated by one tilez Shrunk window = standard window shrunk by one tilez Any floating window is contained in one bloated window and contains one shrunk window

z Standard window = fixed r-dissection w × w windowz Floating window = arbitrary w × w windowz Bloated window = standard window bloated by one tilez Shrunk window = standard window shrunk by one tilez Any floating window is contained in one bloated window and contains one shrunk window

standardwindow

floatingwindow

shrunk window

bloatedwindow

Page 9: Modern Physical Design

9

17 Andrew B. KahngMajid SarrafzadehICCAD Tutorial: November 11, 1999 C

Multilevel A pproachMultilevel A pproachMultilevel A pproach

z Estimation :

z max floating window density ≤ max bloated window density

z min floating window density ≥ min shrunk window density

z Zooming :

z remove standard windows in underfilled bloated windows

z subdivide remaining tiles and find area of new bloated windows

z Terminate subdivision when either:z # of rectangles is small (run exact density analysis), or

z (max bloated density)/(max standard density) ≤ ε (say, ε=1%)

z Estimation :

z max floating window density ≤ max bloated window density

z min floating window density ≥ min shrunk window density

z Zooming :

z remove standard windows in underfilled bloated windows

z subdivide remaining tiles and find area of new bloated windows

z Terminate subdivision when either:z # of rectangles is small (run exact density analysis), or

z (max bloated density)/(max standard density) ≤ ε (say, ε=1%)

18 Andrew B. KahngMajid SarrafzadehICCAD Tutorial: November 11, 1999 C

Multilevel Al gorithmMultilevel Al gorithmMultilevel Al gorithm

Tiles = list of all windows (r =1)Accuracy = ∞While Accuracy > 1+ ε

find are in each bloated and standard window MAX = max area of standard window BMAX = max area of bloated windowrefine Tiles = list of tiles from bloated windows of area

≥ MAXsubdivide each tile in Tiles into 4 subtilesAccuracy = BMAX / MAX

Output max standard window density = MAX/ w2

Tiles = list of all windows (r =1)Accuracy = ∞While Accuracy > 1+ ε

find are in each bloated and standard window MAX = max area of standard window BMAX = max area of bloated windowrefine Tiles = list of tiles from bloated windows of area

≥ MAXsubdivide each tile in Tiles into 4 subtilesAccuracy = BMAX / MAX

Output max standard window density = MAX/ w2

Page 10: Modern Physical Design

10

19 Andrew B. KahngMajid SarrafzadehICCAD Tutorial: November 11, 1999 C

Runtime of Multilevel Al gorithmRuntime of Multilevel Al gorithmRuntime of Multilevel Al gorithm

z Each iteration decreases difference in area betweenbloated and standard window by half

z Original difference is 3w2

z Main loop terminates after t iterations:

3w2/2t ≤ 2ε

z Maximum t is O(log(w/ ε)

z Runtime is O((n/w * log(w/ ε))2)

z Each iteration decreases difference in area betweenbloated and standard window by half

z Original difference is 3w2

z Main loop terminates after t iterations:

3w2/2t ≤ 2ε

z Maximum t is O(log(w/ ε)

z Runtime is O((n/w * log(w/ ε))2)

20 Andrew B. KahngMajid SarrafzadehICCAD Tutorial: November 11, 1999 C

Fillin g ProblemFillin g ProblemFillin g Problem

z Given design rule-correct layout of k disjoint rectilinear features in n×n regionz Find design rule-correct filled layout

z no fill geometry is added within distance B of anylayout feature

z no fill is added into any window that has density ≥Uz minimum window density in the filled layout is

maximized (or has density ≥ lower bound L)

z Given design rule-correct layout of k disjoint rectilinear features in n×n regionz Find design rule-correct filled layout

z no fill geometry is added within distance B of anylayout feature

z no fill is added into any window that has density ≥Uz minimum window density in the filled layout is

maximized (or has density ≥ lower bound L)

Page 11: Modern Physical Design

11

21 Andrew B. KahngMajid SarrafzadehICCAD Tutorial: November 11, 1999 C

Fillin g Problem inFixed-Dissection Re gimeFillin g Problem inFillin g Problem inFixed-Dissection Re gimeFixed-Dissection Re gimez Given

z fixed r-dissection of layoutz feature area[T] in each tile Tz slack [T] = area available for filling in Tz maximum window density U

z Find total fill area p[T] to add in each T s.t.any w × w window W has density ≤ U andminW ∑ T ∈W (area[T] + p[T]) is maximized

z Givenz fixed r-dissection of layoutz feature area[T] in each tile Tz slack [T] = area available for filling in Tz maximum window density U

z Find total fill area p[T] to add in each T s.t.any w × w window W has density ≤ U andminW ∑ T ∈W (area[T] + p[T]) is maximized

22 Andrew B. KahngMajid SarrafzadehICCAD Tutorial: November 11, 1999 C

Fixed-Dissection LP FormulationFixed-Dissection LP FormulationFixed-Dissection LP Formulation

z Maximize M (= lower bound on window density)z Subject to:

z For any tile T: 0 ≤ p[T] ≤ pattern × slack[T]z For any window W:

∑ T ∈W p[T] + area[T] ≤ U × w2

M ≤ ∑ T ∈W (p[T] + area[T])

(pattern = max achievable pattern area density)

z Maximize M (= lower bound on window density)z Subject to:

z For any tile T: 0 ≤ p[T] ≤ pattern × slack[T]z For any window W:

∑ T ∈W p[T] + area[T] ≤ U × w2

M ≤ ∑ T ∈W (p[T] + area[T])

(pattern = max achievable pattern area density)

Page 12: Modern Physical Design

12

23 Andrew B. KahngMajid SarrafzadehICCAD Tutorial: November 11, 1999 C

Fixed-Dissection LP FormulationFixed-Dissection LP FormulationFixed-Dissection LP Formulation

one variable andtwo constraintsper tile

two constraintsper window

24 Andrew B. KahngMajid SarrafzadehICCAD Tutorial: November 11, 1999 C

Multilevel LP FormulationMultilevel LP FormulationMultilevel LP Formulation

z Use multilevel density analysis in LP

z Tiles [r] = list of fixed r-dissection tiles from bloatedwindows of area ≥ MAX

z Saved tiles = subdivided Tiles [r] minus Tiles [r+1]

z Saved windows = all standard windows W for whicharea is found

z Multilevel LP uses only constraints for saved tiles andsaved windows

z Use multilevel density analysis in LP

z Tiles [r] = list of fixed r-dissection tiles from bloatedwindows of area ≥ MAX

z Saved tiles = subdivided Tiles [r] minus Tiles [r+1]

z Saved windows = all standard windows W for whicharea is found

z Multilevel LP uses only constraints for saved tiles andsaved windows

Page 13: Modern Physical Design

13

25 Andrew B. KahngMajid SarrafzadehICCAD Tutorial: November 11, 1999 C

Multilevel LP FormulationMultilevel LP FormulationMultilevel LP Formulation

Saved tiles havedifferent sizes:tiles with more featurearea are moresubdivided

ML LP has onevariable and twoconstraints per tileand two constraints perwindow

26 Andrew B. KahngMajid SarrafzadehICCAD Tutorial: November 11, 1999 C

Floatin g Deviation LP FormulationFloatin g Deviation LP FormulationFloatin g Deviation LP Formulation

z Floating deviation = the difference between max and minfloating window density

z Floating deviation ≤ max bloated window density - min shrunk window density

z Floating deviation LP:z for any bloated window W:

∑ T ∈W (p[T] + area[T]) ≤ U × w2

z for any shrunk window W:

M ≤ ∑ T ∈W (p[T] + area[T])

z Floating deviation = the difference between max and minfloating window density

z Floating deviation ≤ max bloated window density - min shrunk window density

z Floating deviation LP:z for any bloated window W:

∑ T ∈W (p[T] + area[T]) ≤ U × w2

z for any shrunk window W:

M ≤ ∑ T ∈W (p[T] + area[T])

Page 14: Modern Physical Design

14

27 Andrew B. KahngMajid SarrafzadehICCAD Tutorial: November 11, 1999 C

Floatin g Deviation LP FormulationFloatin g Deviation LP FormulationFloatin g Deviation LP Formulation

one variable andtwo constraintsper tile

one constraintper bloated window

one constraintper shrunk window

28 Andrew B. KahngMajid SarrafzadehICCAD Tutorial: November 11, 1999 C

Hierarchical Densit y ControlHierarchical Densit y ControlHierarchical Densit y Control

z Hierarchical filling = master cell fillingz Hierarchical filling = master cell filling

Tile T Subcells

Features

C1

C2

Cell CSlack[C]

Buffer

Page 15: Modern Physical Design

15

29 Andrew B. KahngMajid SarrafzadehICCAD Tutorial: November 11, 1999 C

Hierarchical LP FormulationHierarchical LP FormulationHierarchical LP Formulation

z For any cell instance C of master cell C and tile T,γ[C,T] is portion of slack[C] in intersection of C with T:

γ[C,T] = slack(C ∩T)/slack[C]z New variable d[C] per each master cell C: d[C] = filling per master cell Cz New constraints:

z for total amount of filling added into tile T:

p[T] = ∑ C ∩T d[C] • γ[C,T]z for amount of filling added into each master cell C:

0 ≤ d[C] ≤ pattern × slack[C]

z For any cell instance C of master cell C and tile T,γ[C,T] is portion of slack[C] in intersection of C with T:

γ[C,T] = slack(C ∩T)/slack[C]z New variable d[C] per each master cell C: d[C] = filling per master cell Cz New constraints:

z for total amount of filling added into tile T:

p[T] = ∑ C ∩T d[C] • γ[C,T]z for amount of filling added into each master cell C:

0 ≤ d[C] ≤ pattern × slack[C]

30 Andrew B. KahngMajid SarrafzadehICCAD Tutorial: November 11, 1999 C

Synthesis of Fillin g PatternsSynthesis of Fillin g PatternsSynthesis of Fillin g Patterns

z Given area of filling pattern p[i,j], insert fillingpattern into tile T[i,j] uniformly over availablearea

z Desirable properties of filling pattern

z uniform coupling to long conductors

z either grounded or floating

z Given area of filling pattern p[i,j], insert fillingpattern into tile T[i,j] uniformly over availablearea

z Desirable properties of filling pattern

z uniform coupling to long conductors

z either grounded or floating

Page 16: Modern Physical Design

16

31 Andrew B. KahngMajid SarrafzadehICCAD Tutorial: November 11, 1999 C

Basket-Weave PatternBasket-Weave PatternBasket-Weave Pattern

Each vertical/horizontal crossover line has same overlapcapacitance to fill

Each vertical/horizontal crossover line has same overlapcapacitance to fill

32 Andrew B. KahngMajid SarrafzadehICCAD Tutorial: November 11, 1999 C

Grounded PatternGrounded PatternGrounded Pattern

Fill with horizontal stripes,then span with vertical lines

Fill with horizontal stripes,then span with vertical lines

Page 17: Modern Physical Design

17

33 Andrew B. KahngMajid SarrafzadehICCAD Tutorial: November 11, 1999 C

Subwavelen gth Optical Litho graphy— Technolo gy LimitsSubwavelen gthSubwavelen gth Optical Litho graphy Optical Litho graphy— Technolo gy Limits— Technolo gy Limitsz Implications of Moore's Law for feature sizesz Steppers not available; WYSIWYG (layout = mask =

wafer) fails after .35µm generationz Optical lithography

z circuit patterns optically projected onto waferz feature size limited by diffraction effectsz Rayleigh limits

z resolution R proportional to λ / NAz depth of focus DOF proportional to λ / NA2

z Available knobsz amplitude (aperture): OPCz phase: PSM

z Implications of Moore's Law for feature sizesz Steppers not available; WYSIWYG (layout = mask =

wafer) fails after .35µm generationz Optical lithography

z circuit patterns optically projected onto waferz feature size limited by diffraction effectsz Rayleigh limits

z resolution R proportional to λ / NAz depth of focus DOF proportional to λ / NA2

z Available knobsz amplitude (aperture): OPCz phase: PSM

34 Andrew B. KahngMajid SarrafzadehICCAD Tutorial: November 11, 1999 C

Next-Generation Litho graphy andthe Subwavelen gth GapNext-Generation Litho graphy andNext-Generation Litho graphy andthethe Subwavelen gth Subwavelen gth Gap Gap

z EUVz X-raysz E-beamsz All at least 10 years away;

require significant R&D, major infrastructure changes

z > 30 years of infrastructure and experience supporting optical lithography

z EUVz X-raysz E-beamsz All at least 10 years away;

require significant R&D, major infrastructure changes

z > 30 years of infrastructure and experience supporting optical lithography

Subwavelength Gap since .35 µm

Page 18: Modern Physical Design

18

35 Andrew B. KahngMajid SarrafzadehICCAD Tutorial: November 11, 1999 C

Optical Proximit y Correction (OPC)Optical Proximit y Correction (OPC)Optical Proximit y Correction (OPC)

z Corrective modifications to improve process controlz improve yield (process latitude)z improve device performance

z Corrective modifications to improve process controlz improve yield (process latitude)z improve device performance

With OPCNo OPC

Original Layout(Attenuated PSM)

OPC Corrections

36 Andrew B. KahngMajid SarrafzadehICCAD Tutorial: November 11, 1999 C

Optical Proximit y Correction (OPC)Optical Proximit y Correction (OPC)Optical Proximit y Correction (OPC)

z Mostly cosmetic corrections; complicates maskmanufacturing and dramatically increases cost (withlittle benefit?)

z Post-design verification is essential

z Mostly cosmetic corrections; complicates maskmanufacturing and dramatically increases cost (withlittle benefit?)

z Post-design verification is essential

Rule-based OPCapply corrections based on aset of predetermined rulesfast design time, lower maskcomplexitysuitable for less aggressivedesigns

Model-based OPCuse process simulation todetermine corrections on-linelonger design time, increasedmask complexitysuitable for aggressivedesigns

Page 19: Modern Physical Design

19

37 Andrew B. KahngMajid SarrafzadehICCAD Tutorial: November 11, 1999 C

OPC FeaturesOPC FeaturesOPC Features

z Serifs - for corner rounding

z Hammerheads - for line-end shorteningz Gate assists (subresolution

scattering bars) -

for CD control

z Gate biasing - for CDcontrol

z Issues for custom,

hierarchical and

reuse-based layout

methodologies

z Serifs - for corner rounding

z Hammerheads - for line-end shorteningz Gate assists (subresolution

scattering bars) -

for CD control

z Gate biasing - for CDcontrol

z Issues for custom,

hierarchical and

reuse-based layout

methodologies

38 Andrew B. KahngMajid SarrafzadehICCAD Tutorial: November 11, 1999 C

OPC IssuesOPC IssuesOPC Issues

z WYSIWYG broken → (mask) verificationbottleneck

z Pass functional intent down to OPC insertionz make corrections that win $$$, reduce performance variationz OPC insertion is for predictable circuit performance, function

z Pass limits of manufacturing up to layoutz don’t make corrections that can’t be manufactured or verifiedz Mask Error Enhancement Factor, etc.

z Layout needs models of OPC insertion processz geometry effects on cost of required OPC to yield functionz costs of breaking hierarchy (beyond known verification,

characterization costs)

z WYSIWYG broken → (mask) verificationbottleneck

z Pass functional intent down to OPC insertionz make corrections that win $$$, reduce performance variationz OPC insertion is for predictable circuit performance, function

z Pass limits of manufacturing up to layoutz don’t make corrections that can’t be manufactured or verifiedz Mask Error Enhancement Factor, etc.

z Layout needs models of OPC insertion processz geometry effects on cost of required OPC to yield functionz costs of breaking hierarchy (beyond known verification,

characterization costs)

Page 20: Modern Physical Design

20

39 Andrew B. KahngMajid SarrafzadehICCAD Tutorial: November 11, 1999 C

Mask TypesMask TypesMask Typesz Bright field masks

z opaque features defined bychrome

z background is transparentz used, e.g., for poly and metal

z Bright field masksz opaque features defined by

chrome

z background is transparentz used, e.g., for poly and metal

z Dark field masksz transparent features defined

z background is opaque(chrome)

z used, e.g., for contactsz used also for damascene

metals

z Dark field masksz transparent features defined

z background is opaque(chrome)

z used, e.g., for contactsz used also for damascene

metals

Clear areas

Opaque(chrome)

areas

40 Andrew B. KahngMajid SarrafzadehICCAD Tutorial: November 11, 1999 C

Photoresist T ypesPhotoresistPhotoresist Types Types

z Positive resistsz material is removed from

exposed areas duringdevelopment

z most widely used

z Positive resistsz material is removed from

exposed areas duringdevelopment

z most widely used

z Negative resistsz material is removed from

unexposed areas duringdevelopment

z less mature

z Negative resistsz material is removed from

unexposed areas duringdevelopment

z less mature

Mask

Resist

Silicon

Post development profile for positive and negative photoresists

Page 21: Modern Physical Design

21

41 Andrew B. KahngMajid SarrafzadehICCAD Tutorial: November 11, 1999 C

Phase Shiftin g MasksPhase Shiftin g MasksPhase Shiftin g Masks

conventional maskglass

Chrome

phase shifting mask

Phase shifter

0 E at mask 0

0 E at wafer 0

0 I at wafer 0

42 Andrew B. KahngMajid SarrafzadehICCAD Tutorial: November 11, 1999 C

Phase Shiftin g MasksPhase Shiftin g MasksPhase Shiftin g Masks

z no phase shifting: poor contrast due to diffraction

z phase shifting by 180°: reverse electric field on mask, destructiveinterference yields zero-intensity on wafer (high contrast)

z Backgroundz invented in 1982 by Levenson at IBM

z interest in early 1990s, but near wavelength → no pressing need

z Many forms of phase-shifting proposed

z Key issues: manufacturability, design toolsz Today: subwavelength gap forces PSM into every process

(example: Motorola 90nm gates using 248nm stepper, announcedin early 1999)

z no phase shifting: poor contrast due to diffraction

z phase shifting by 180°: reverse electric field on mask, destructiveinterference yields zero-intensity on wafer (high contrast)

z Backgroundz invented in 1982 by Levenson at IBM

z interest in early 1990s, but near wavelength → no pressing need

z Many forms of phase-shifting proposed

z Key issues: manufacturability, design toolsz Today: subwavelength gap forces PSM into every process

(example: Motorola 90nm gates using 248nm stepper, announcedin early 1999)

Page 22: Modern Physical Design

22

43 Andrew B. KahngMajid SarrafzadehICCAD Tutorial: November 11, 1999 C

Forms of PSMForms of PSMForms of PSM

z Bright Field Phase-Shiftingz single exposure

z phase transitions required, e.g., 0-60-120-180

or 90-0-270 to avoid printing phase edgesz throughput unaffectedz limited improvement in process latitude

z mask manufacturing difficult, mask cost very high

z double exposurez PSM with 0 and 180 degree phase shiftersz define only critical features ("locally bright-field"), rest of mask is

chromez second exposure with clear-field binary mask protects critical

features, defines non-critical features as wellz excellent process latitudez decrease in throughput (double exposure)

z Bright Field Phase-Shiftingz single exposure

z phase transitions required, e.g., 0-60-120-180

or 90-0-270 to avoid printing phase edgesz throughput unaffectedz limited improvement in process latitude

z mask manufacturing difficult, mask cost very high

z double exposurez PSM with 0 and 180 degree phase shiftersz define only critical features ("locally bright-field"), rest of mask is

chromez second exposure with clear-field binary mask protects critical

features, defines non-critical features as wellz excellent process latitudez decrease in throughput (double exposure)

90° 270° 180°

60°

120°

44 Andrew B. KahngMajid SarrafzadehICCAD Tutorial: November 11, 1999 C

Gate Shrinkin g and CD ControlUsin g Phase Shiftin gGate Shrinkin g and CD ControlGate Shrinkin g and CD ControlUsin g Phase Shiftin gUsin g Phase Shiftin g

Page 23: Modern Physical Design

23

45 Andrew B. KahngMajid SarrafzadehICCAD Tutorial: November 11, 1999 C

Double-Ex posure Alternatin g PSMDouble-Ex posure Alternatin g PSMDouble-Ex posure Alternatin g PSM

180°0°

1. Alternate PSM Mask 2. Trim Mask (COG)

46 Andrew B. KahngMajid SarrafzadehICCAD Tutorial: November 11, 1999 C

Benefits of PSMBenefits of PSMBenefits of PSM

110 nm GatesOriginal

Page 24: Modern Physical Design

24

47 Andrew B. KahngMajid SarrafzadehICCAD Tutorial: November 11, 1999 C

Applicabilit y of OPC and PSMApplicabilit y of OPC and PSMApplicabilit y of OPC and PSM

48 Andrew B. KahngMajid SarrafzadehICCAD Tutorial: November 11, 1999 C

The Phase Assi gnment Problem inPSMThe Phase Assi gnment Problem inThe Phase Assi gnment Problem inPSMPSMAssign 0, 180 phase regions such thatz (dark field) feature pairs with separation < B have opposite phasesz (bright field) features with width < B are induced by adjacent phase regions

with opposite phases

Assign 0, 180 phase regions such thatz (dark field) feature pairs with separation < B have opposite phasesz (bright field) features with width < B are induced by adjacent phase regions

with opposite phases

Features Conflict areas (<B)

0 0180

< B > B

b ≡ minimum separation or width, with phase shiftingB ≡ minimum separation or width, without phase shifting

Page 25: Modern Physical Design

25

49 Andrew B. KahngMajid SarrafzadehICCAD Tutorial: November 11, 1999 C

Phase Conflict and the ConflictGraphPhase Conflict and the ConflictPhase Conflict and the ConflictGraphGraphz Vertices: features (or phase regions)z Edges: “conflicts” (necessary phase contrasts)

(feature pairs with separation < B)

z Vertices: features (or phase regions)z Edges: “conflicts” (necessary phase contrasts)

(feature pairs with separation < B)

< B

50 Andrew B. KahngMajid SarrafzadehICCAD Tutorial: November 11, 1999 C

Odd Cycles in Conflict Gra phOdd Cycles in Conflict Gra phOdd Cycles in Conflict Gra ph

z Self-consistent phase assignment is not possible ifthere is an odd cycle in the conflict graph

z Phase-assignable ≡ bipartite ≡ no odd cycles

z Self-consistent phase assignment is not possible ifthere is an odd cycle in the conflict graph

z Phase-assignable ≡ bipartite ≡ no odd cycles

0 phase 180 phase

??? phase

Page 26: Modern Physical Design

26

51 Andrew B. KahngMajid SarrafzadehICCAD Tutorial: November 11, 1999 C

Phase Conflict and the ConflictGraphPhase Conflict and the ConflictPhase Conflict and the ConflictGraphGraphz Self-consistent phase assignment is not possible if there

is an odd cycle in the conflict graphz Phase-assignable = bipartite = no odd cycles

z this is a global issue!z features on one side of chip can affect features on the other

side

z Breaking odd cycles: must change the layout!z change feature dimensions, and/or change spacingsz degrees of freedom include layer reassignment for

interconnects

z Self-consistent phase assignment is not possible if thereis an odd cycle in the conflict graph

z Phase-assignable = bipartite = no odd cyclesz this is a global issue!z features on one side of chip can affect features on the other

side

z Breaking odd cycles: must change the layout!z change feature dimensions, and/or change spacingsz degrees of freedom include layer reassignment for

interconnects

52 Andrew B. KahngMajid SarrafzadehICCAD Tutorial: November 11, 1999 C

Breakin g Odd CyclesBreakin g Odd CyclesBreakin g Odd Cycles

≥ B

• Must change the layout:

• change feature dimensions, and/or

• change spacings

• PSM phase-assignability is a layout, not verification, issue

Page 27: Modern Physical Design

27

53 Andrew B. KahngMajid SarrafzadehICCAD Tutorial: November 11, 1999 C

Phase Assi gnment: Ke y Technolo giesPhase Assi gnment: Ke y Technolo giesPhase Assi gnment: Ke y Technolo gies

z Key technologies: incremental gridless routing,incremental compaction

z Issues for custom, hierarchical and reuse-basedlayout methodologies

z Key technologies: incremental gridless routing,incremental compaction

z Issues for custom, hierarchical and reuse-basedlayout methodologies

54 Andrew B. KahngMajid SarrafzadehICCAD Tutorial: November 11, 1999 C

Conflict Ed ge WeightConflict Ed ge WeightConflict Ed ge Weight

z Which conflict edges are cheapest to break?z Critical paths (e.g., in compactor) in x- and y-

directions define layout areaz Conflict edges not on critical path: break for free

z Which conflict edges are cheapest to break?z Critical paths (e.g., in compactor) in x- and y-

directions define layout areaz Conflict edges not on critical path: break for free

critical path

Page 28: Modern Physical Design

28

55 Andrew B. KahngMajid SarrafzadehICCAD Tutorial: November 11, 1999 C

Minimum-Perturbation PSM La youtMinimum-Perturbation PSM La youtMinimum-Perturbation PSM La yout

z Input: layout in, e.g., .25um design rulesz Goal: adjust feature sizes and spacings to

new PSM design rules, e.g., .15umz keep topology as close to original as possible

z Application to new design and to migrationz assumes existence of a starting layoutz hope to attain fewer violations in verification,

require less manual cleanup of output layout

z Input: layout in, e.g., .25um design rulesz Goal: adjust feature sizes and spacings to

new PSM design rules, e.g., .15umz keep topology as close to original as possible

z Application to new design and to migrationz assumes existence of a starting layoutz hope to attain fewer violations in verification,

require less manual cleanup of output layout

56 Andrew B. KahngMajid SarrafzadehICCAD Tutorial: November 11, 1999 C

Compaction-Oriented A pproachCompaction-Oriented A pproachCompaction-Oriented A pproach

z Analyze input layoutz Determine constraints for output layout

z new PSM-induced (shape, spacing) constraints

z Compact (e.g., solve LP) with min perturbationobjectivez e.g., minimize sum of differences between old and

new positions of each edge

z Key: Minimize the set of new constraints,i.e., break all odd cycles in conflict graph bydeleting a minimum number of edges.

z Analyze input layoutz Determine constraints for output layout

z new PSM-induced (shape, spacing) constraints

z Compact (e.g., solve LP) with min perturbationobjectivez e.g., minimize sum of differences between old and

new positions of each edge

z Key: Minimize the set of new constraints,i.e., break all odd cycles in conflict graph bydeleting a minimum number of edges.

Page 29: Modern Physical Design

29

57 Andrew B. KahngMajid SarrafzadehICCAD Tutorial: November 11, 1999 C

F4

F2

F3

F1

S1

S2

S3

S5

S4

S6

S7 S8

58 Andrew B. KahngMajid SarrafzadehICCAD Tutorial: November 11, 1999 C

Black points - shiftersBlue - shifter overlapThick edges - critical

Bipartization Problem: delete min # of thin edges to make graph bipartite

Page 30: Modern Physical Design

30

59 Andrew B. KahngMajid SarrafzadehICCAD Tutorial: November 11, 1999 C

Black points - featuresBlue - shifter overlapPink - extra nodes to distinguish opposite shifters

Bipartization Problem: delete min # of nodes (or edges) to make graph bipartite

60 Andrew B. KahngMajid SarrafzadehICCAD Tutorial: November 11, 1999 C

Page 31: Modern Physical Design

31

61 Andrew B. KahngMajid SarrafzadehICCAD Tutorial: November 11, 1999 C

Black points - shiftersBlue - shifter overlapThick edges - critical

Bipartization Problem: delete min # of thin edges to make graph bipartite

62 Andrew B. KahngMajid SarrafzadehICCAD Tutorial: November 11, 1999 C

Black points - featuresBlue - shifter overlapPink - extra nodes to distinguish opposite shifters

Bipartization Problem: delete min # of nodes (or edges) to make graph bipartite

Page 32: Modern Physical Design

32

63 Andrew B. KahngMajid SarrafzadehICCAD Tutorial: November 11, 1999 C

The T-join ProblemThe T-join ProblemThe T-join Problem

z How to delete minimum-cost set of edges fromconflict graph G to eliminate odd cycles?

z Construct geometric dual graph D=dual(G)z Find odd-degree vertices T in Dz Solve the T-join problem in D:

z find min-weight edge set J in D such thatz all T-vertices has odd degreez all other vertices have even degree

z Solution J corresponds to desired min-cost edgeset in conflict graph G

z How to delete minimum-cost set of edges fromconflict graph G to eliminate odd cycles?

z Construct geometric dual graph D=dual(G)z Find odd-degree vertices T in Dz Solve the T-join problem in D:

z find min-weight edge set J in D such thatz all T-vertices has odd degreez all other vertices have even degree

z Solution J corresponds to desired min-cost edgeset in conflict graph G

64 Andrew B. KahngMajid SarrafzadehICCAD Tutorial: November 11, 1999 C

Optimal Odd C ycle EliminationOptimal Odd C ycle EliminationOptimal Odd C ycle Eliminationconflict graph G

dual graph DT-join odd degree nodes in D

blue features/red conflicts

Page 33: Modern Physical Design

33

65 Andrew B. KahngMajid SarrafzadehICCAD Tutorial: November 11, 1999 C

Optimal Odd C ycle EliminationOptimal Odd C ycle EliminationOptimal Odd C ycle Elimination

conflict graph

Assign phases: only green conflicts left

blue features/red conflicts

T-join odd degree nodes in D

66 Andrew B. KahngMajid SarrafzadehICCAD Tutorial: November 11, 1999 C

T-join Problem in S parse Gra phsT-join Problem in S parse Gra phsT-join Problem in S parse Gra phs

z Reduction to matchingz construct a complete graph T(G)

z vertices = T-vertices

z edge costs = shortest-path cost

z find minimum-cost perfect matching

z Typical example = sparse (not always planar) graphz note that conflict graphs are sparsez #vertices = 1,000,000

z #edges ≈ 5 × #verticesz # T-vertices ≈ 10% of #vertices = 100,000

z Drawback: finding all shortest paths too slow andmemory-consumingz #vertices = 100,000 → #edges = 5,000,000,000

z Reduction to matchingz construct a complete graph T(G)

z vertices = T-vertices

z edge costs = shortest-path cost

z find minimum-cost perfect matching

z Typical example = sparse (not always planar) graphz note that conflict graphs are sparsez #vertices = 1,000,000

z #edges ≈ 5 × #verticesz # T-vertices ≈ 10% of #vertices = 100,000

z Drawback: finding all shortest paths too slow andmemory-consumingz #vertices = 100,000 → #edges = 5,000,000,000

Page 34: Modern Physical Design

34

67 Andrew B. KahngMajid SarrafzadehICCAD Tutorial: November 11, 1999 C

T-join Problem: Reduction toMatchin gT-join Problem: Reduction toT-join Problem: Reduction toMatchin gMatchin gz Desirable properties of reduction to matchin g:

z exact (i.e., optimal)

z not much memory (say 2-3Xmore)

z results in a very fast solution

z Solution: gadgets!z replace each edge/vertex with gadgets s.t.

matching all vertices in gadgeted graph

⇔ T-join in original graph

z Desirable properties of reduction to matchin g:z exact (i.e., optimal)

z not much memory (say 2-3Xmore)

z results in a very fast solution

z Solution: gadgets!z replace each edge/vertex with gadgets s.t.

matching all vertices in gadgeted graph

⇔ T-join in original graph

68 Andrew B. KahngMajid SarrafzadehICCAD Tutorial: November 11, 1999 C

vertex in T

vertex ∉ T

T-join Problem: Reduction toMatchin gT-join Problem: Reduction toT-join Problem: Reduction toMatchin gMatchin gz replace each vertex with a chain of trianglesz one more edge for T-verticesz in graph D: m = #edges, n = #vertices, t = #Tz in gadgeted graph: 4m-2n-t vertices, 7m-5n-t edgesz cost of red edges = original dual edge costs

cost of (black) edges in triangles = 0

z replace each vertex with a chain of trianglesz one more edge for T-verticesz in graph D: m = #edges, n = #vertices, t = #Tz in gadgeted graph: 4m-2n-t vertices, 7m-5n-t edgesz cost of red edges = original dual edge costs

cost of (black) edges in triangles = 0

Page 35: Modern Physical Design

35

69 Andrew B. KahngMajid SarrafzadehICCAD Tutorial: November 11, 1999 C

Example of Gad geted Gra phExample ofExample of Gadgeted Gadgeted Graph Graph

Dual Graph

Gadgeted graph

black + red edges ==min-cost perfect matching

70 Andrew B. KahngMajid SarrafzadehICCAD Tutorial: November 11, 1999 C

ResultsResultsResults

Layout1 Layout2 Layout3Testcase polygons edges polygons edges polygons edges

3769 12442 9775 26520 18249 51402

Algorithm edges runtime edges runtime edges runtimeGreedy 2650 0.56 2722 3.66 6180 5.38

GW 1612 3.33 1488 5.77 3280 14.47Exact 1468 19.88 1346 16.67 2958 74.33

• Runtimes in CPU seconds on Sun Ultra-10• Greedy = breadth-first-search bicoloring (similar to Ooi et al.)• GW = Goemans/Williamson95 heuristic• Cook/Rohe98 for perfect matchingLatest improved gadgets: runtimes decrease by factor of 6

Page 36: Modern Physical Design

36

71 Andrew B. KahngMajid SarrafzadehICCAD Tutorial: November 11, 1999 C

Manufacturin g Process IssuesManufacturin g Process Issues

z Clean abstractions of process

z OPC: a “rectangle” has 26 edges in 3 polygons

z PSM: cell layouts and legal routes not freelycomposable

72 Andrew B. KahngMajid SarrafzadehICCAD Tutorial: November 11, 1999 C

Manufacturin g Process IssuesManufacturin g Process Issues

z Mask inspection / validation bottleneck

z if Layout ≠ Silicon but the circuit is still functional…is it really an error ?

z must the Design ↔ Mask boundary change ?

Page 37: Modern Physical Design

37

73 Andrew B. KahngMajid SarrafzadehICCAD Tutorial: November 11, 1999 C

Manufacturin g Process IssuesManufacturin g Process Issues

z Tool flow

z line end extensions in the routerz hammerheads in the library generator

z OPC insertion in physical verification

z RC extraction for timing signoff in P&Rz post-P&R density control (filling and cheesing)

74 Andrew B. KahngMajid SarrafzadehICCAD Tutorial: November 11, 1999 C

Manufacturin g Process IssuesManufacturin g Process Issues

z “Life changes” for circuit and layout designers

z only particular geometries and pitches ?z self-adapting circuits ?

z huge verification guardbands ?

z reuse-based desi gn at risk -- at all levels ?

Page 38: Modern Physical Design

38

75 Andrew B. KahngMajid SarrafzadehICCAD Tutorial: November 11, 1999 C

Manufacturin g Process IssuesManufacturin g Process Issues

z Partial ownership of the problem = noownership ?

z when designs fail, who owns the scrap ?

76 Andrew B. KahngMajid SarrafzadehICCAD Tutorial: November 11, 1999 C

Implications of Technolo gyImplications of Technolo gyImplications of Technolo gy

z A hard look at hard IP reusez divergent foundry processesz design- and context-specific variants of cells, macros, cores

z filling densitiesz thermal, noise sensitivity contextsz layer usage and local region porosity constraints, physical access

z incompatibility of separate phase solutions, or phase solutions + local routingz tool-specific variants (e.g., for different auto-routers)z diffusion sharing, continuous device sizing, tuning (dual Vt, multiple supply

voltages (thermal, IR drop contexts), different input arrival times/slews,…)

z Hard-reuse: An ideal that must be tempered by hard realities

z A hard look at hard IP reusez divergent foundry processesz design- and context-specific variants of cells, macros, cores

z filling densitiesz thermal, noise sensitivity contextsz layer usage and local region porosity constraints, physical access

z incompatibility of separate phase solutions, or phase solutions + local routingz tool-specific variants (e.g., for different auto-routers)z diffusion sharing, continuous device sizing, tuning (dual Vt, multiple supply

voltages (thermal, IR drop contexts), different input arrival times/slews,…)

z Hard-reuse: An ideal that must be tempered by hard realities

Page 39: Modern Physical Design

39

77 Andrew B. KahngMajid SarrafzadehICCAD Tutorial: November 11, 1999 C

Many WorriesMany WorriesMany Worries

z Implications of UDSM technology trendsz subwavelength lithography

z WYSIWYG fails completely!z OPC, PSM, CMP-driven filling essential for printability, process windowsz huge worries about broken hierarchy, reusability of layout

z other yield-driven objectivesz critical area, antennas

z signal integrityz delay uncertainty, crosstalk noise, IR drop

z reliabilityz electromigration, AC self-heat, hot electrons

z All of these are first-class objectivesz Can ASIC methodology handle all these effectively?

z Implications of UDSM technology trendsz subwavelength lithography

z WYSIWYG fails completely!z OPC, PSM, CMP-driven filling essential for printability, process windowsz huge worries about broken hierarchy, reusability of layout

z other yield-driven objectivesz critical area, antennas

z signal integrityz delay uncertainty, crosstalk noise, IR drop

z reliabilityz electromigration, AC self-heat, hot electrons

z All of these are first-class objectivesz Can ASIC methodology handle all these effectively?

78 Andrew B. KahngMajid SarrafzadehICCAD Tutorial: November 11, 1999 C