hierarchical dummy fill for process uniformity

31
Hierarchical Dummy Fill for Process Uniformity Supported by Cadence Design Systems, Inc. NSF, and the Packard Foundation Y. Chen, Y. Chen, A. B. Kahng A. B. Kahng , G. Robins, A. , G. Robins, A. Zelikovsky Zelikovsky (UCLA, UCSD, UVA and GSU) (UCLA, UCSD, UVA and GSU) http://vlsicad.cs.ucla.edu http://vlsicad.cs.ucla.edu

Upload: tamal

Post on 17-Jan-2016

32 views

Category:

Documents


0 download

DESCRIPTION

Supported by Cadence Design Systems, Inc. NSF, and the Packard Foundation. Hierarchical Dummy Fill for Process Uniformity. Y. Chen, A. B. Kahng , G. Robins, A. Zelikovsky (UCLA, UCSD, UVA and GSU) http://vlsicad.cs.ucla.edu. Outline. Chemical Mechanical Processing & Filling Problem - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: Hierarchical Dummy Fill for Process Uniformity

Hierarchical Dummy Fill for Process Uniformity

Hierarchical Dummy Fill for Process Uniformity

Supported by Cadence Design Systems, Inc.NSF, and the Packard Foundation

Y. Chen,Y. Chen, A. B. Kahng A. B. Kahng, G. Robins, A. Zelikovsky, G. Robins, A. Zelikovsky

(UCLA, UCSD, UVA and GSU)(UCLA, UCSD, UVA and GSU)

http://vlsicad.cs.ucla.eduhttp://vlsicad.cs.ucla.edu

Page 2: Hierarchical Dummy Fill for Process Uniformity

OutlineOutline Chemical Mechanical Processing & Filling Problem

Previous Works Linear programming approaches

Monte-Carlo (MC) approaches

Our Contributions: Hierarchical filling problem

Hierarchical filling algorithm

Hybrid hierarchical / flat filling approach

Computational Experience

Summary and Future Research

Page 3: Hierarchical Dummy Fill for Process Uniformity

CMP and Interlevel Dielectric ThicknessCMP and Interlevel Dielectric Thickness

Chemical-Mechanical Polishing (CMP) = wafer surface planarization

Uneven features cause polishing pad to deform

Dummyfeatures ILD thickness

Interlevel-dielectric (ILD) thickness feature density Insert dummy features to decrease variation

ILD thicknessFeatures

Page 4: Hierarchical Dummy Fill for Process Uniformity

CMP in STI ProcessCMP in STI Process

Shallow Trench Isolation (STI) technique for isolation on the active layer in all deep submicron CMOS productions (figure)

deposit nitride layer on silicon

Etch shallow trenches through nitride silicon

deposit oxide to fill trenches and cove nitride

remove excess oxide and partially nitride by CMP

Uniformity requirement on CMP in STI

not enough polish (figure)

over polish (figure)

Page 5: Hierarchical Dummy Fill for Process Uniformity

Objectives of Density ControlObjectives of Density Control

Objective for Manufacture = Min-Var

minimize window density variation

subject to upper bound on window density

Objective for Design = Min-Fill

minimize total amount of filling

subject to fixed density variation

Page 6: Hierarchical Dummy Fill for Process Uniformity

Filling ProblemFilling Problem

Given rule-correct layout in n n region

window size = w w

window density upper bound U

Fill layout with Min-Var or Min-Fill objective

such that no fill is added

within buffer distance B of any layout feature

into any overfilled window that has density U

Page 7: Hierarchical Dummy Fill for Process Uniformity

Fixed-Dissection RegimeFixed-Dissection Regime Monitor only fixed set of w w windows

“offset” = w/r (example shown: w = 4, r = 4) Partition n x n layout into nr/w nr/w fixed dissections Each w w window is partitioned into r2 tiles

Overlapping windows

w w/r

n

tile

Page 8: Hierarchical Dummy Fill for Process Uniformity

Layout Density ModelsLayout Density Models

Spatial Density Model

window density sum of tiles feature area

Slack Area Feature Areatile

Effective Density Model (more accurate)

window density weighted sum of tiles' feature area weights decrease from window center to boundaries

Page 9: Hierarchical Dummy Fill for Process Uniformity

Requirements on Dummy FillingRequirements on Dummy Filling

Estimation of RC parasitics, gate/interconnect delays and device reliability in PD & verification

Compatibility of master cells and macros

Consistent with design hierarchy

Page 10: Hierarchical Dummy Fill for Process Uniformity

OutlineOutline Chemical-Mechanical Polishing & Filling Problem

Previous Works Linear programming approaches

Monte-Carlo (MC) approaches

Our Contributions: Hierarchical filling problem

Hierarchical filling algorithm

Hybrid hierarchical / flat filling approach

Computational Experience

Summary and Future Research

Page 11: Hierarchical Dummy Fill for Process Uniformity

Linear Programming ApproachesLinear Programming Approaches Min-Var Objective

(Kahng et al.)

Maximize: M

Subject to:

for any tile

0 p[T] slack[T]

for any window

TW (p[T]+area[T]) U

M TW (p[T] + area[T])

p[T] = fill area of tile

spatial density model

Min-Fill Objective (Wong et al.)

Minimize: fill amount

Subject to:

for any tile

0 p[T] slack[T]

LowerB 0(T) UpperB

MAX 0(T) - MIN 0(T)

0(T) = the effective density of tile T

effective density model

Page 12: Hierarchical Dummy Fill for Process Uniformity

Monte-Carlo ApproachMonte-Carlo Approach

Min-Var objective pick the tile for next filling geometry randomly higher priority of a tile higher probability to be filled lock tile if any containing window is overfilled update window priorities

Min-Fill objective Fill-Deletion problem

delete as much fill as possible while maintaining min window density L.

Min-Fill Monte-Carlo algorithm if (min covering-window density < L) lock the tile randomly select unlocked tile by its priority delete a filling geometry from tile update priorities of tiles

Page 13: Hierarchical Dummy Fill for Process Uniformity

Iterated Monte-Carlo Approach Iterated Monte-Carlo Approach

Repeat forever

run Min-Var Monte-Carlo with max window density U

exit if no change in minimum window density

run Min-Fill Monte-Carlo with min window density M

No Improvement

Page 14: Hierarchical Dummy Fill for Process Uniformity

LP vs. Monte-Carlo for Flat FillingLP vs. Monte-Carlo for Flat Filling

LP impractical runtime for large layouts r-dissection solution may be suboptimal for 2r dissections essential rounding error for small tiles

Monte-Carlo very efficient: O((nr/w)log(nr/w)) time

scalability: handle large values of r

accuracy: reasonably high comparing with LP

Page 15: Hierarchical Dummy Fill for Process Uniformity

OutlineOutline Chemical-Mechanical Polishing & Filling Problem

Previous Works Linear programming approaches

Monte-Carlo (MC) approaches

Our Contributions: Hierarchical filling problem

Hierarchical filling algorithm

Hybrid hierarchical / flat filling approach

Computational Experience

Summary and Future Research

Page 16: Hierarchical Dummy Fill for Process Uniformity

Hierarchical Filling ProblemHierarchical Filling Problem

Dummy fill are added only to master cells

Two instances of a master cell

Original layout

features

Flat fill solution Hierarchical fill solution

Each cell of the filled layout is a filled version of the corresponding original master cell

Page 17: Hierarchical Dummy Fill for Process Uniformity

Why Hierarchical Filling?Why Hierarchical Filling?

Hierarchical characteristics of design flows

Enables and faster verification of the filled layout

Decreases data volume for standard cell designs

Page 18: Hierarchical Dummy Fill for Process Uniformity

Difficulties in Hierarchical FillingDifficulties in Hierarchical Filling

Density constraints for all instances of the master

Interactions / interferences at master cell boundaries

Always worse than flat solutions

Page 19: Hierarchical Dummy Fill for Process Uniformity

OutlineOutline Chemical-Mechanical Polishing & Filling Problem

Previous Works Linear programming approaches

Monte-Carlo (MC) approaches

Our Contributions: Hierarchical filling problem

Hierarchical filling algorithm

Hybrid hierarchical / flat filling approach

Computational Experience

Summary and Future Research

Page 20: Hierarchical Dummy Fill for Process Uniformity

Why Not LP?Why Not LP?

Complexity caused by constraints need a huge number of variables and constraints for

each window, cell instance, and feasible fill position

Transformations hard to represent the transformations of master

cell instances

Overlaps between cell instances ownership of overlapping regions unavailable regions for fill

Page 21: Hierarchical Dummy Fill for Process Uniformity

Monte-Carlo Hierarchical FillingMonte-Carlo Hierarchical Filling

Original layout

1 1 1 1 1 1 1 1

1 1

1 1

1

1

1

1

1

1 1 1

111

1

1

1

1 1 1 1 1 1 1 1

1 1

1 1

1

1

1

1

1

1 1 1 1 1 1

11111

1

1

1

1

density analysis

Page 22: Hierarchical Dummy Fill for Process Uniformity

Master cell

Computing Slack HierarchicallyComputing Slack Hierarchically

buffer

slackslack

Overlaps between 2 instances of different masters Overlaps between master and features Overlaps between 2 instances of the same master

Exclude the overlapping regions

Page 23: Hierarchical Dummy Fill for Process Uniformity

Drawbacks of Hierarchical FillingDrawbacks of Hierarchical Filling

Sparse or unfilled region in the solution the overlaps bloat regions

features

three instances of a master cell

Cause high layout density variation

!

!

!

!

Page 24: Hierarchical Dummy Fill for Process Uniformity

OutlineOutline Chemical-Mechanical Polishing & Filling Problem

Previous Works Linear programming approaches

Monte-Carlo (MC) approaches

Our Contributions: Hierarchical filling problem

Hierarchical filling algorithm

Hybrid hierarchical / flat filling approach

Computational Experience

Summary and Future Research

Page 25: Hierarchical Dummy Fill for Process Uniformity

k-way Master Cell Splittingk-way Master Cell Splitting

C1

Ci

C2

C2`C1`C1` C2`

Ci

C2C1

Ci,1Ci,2

C1` C2`

C2C1

C1` C2`

Ci,1 Ci,2

Create k copies of master cell Ci

k : hierarchical layout flat layout

C2`C1` C2`C1`

Link contained master cells C` with the new copies

C1 C2

Randomly replace Ci in master cells with new copies

Page 26: Hierarchical Dummy Fill for Process Uniformity

Hybrid Hierarchical / Flat FillingHybrid Hierarchical / Flat Filling

Purely hierarchical fill phase

Flat fill `cleanup` phase

Split-hierarchical phase

features

three instances of a master cell

Page 27: Hierarchical Dummy Fill for Process Uniformity

OutlineOutline Chemical-Mechanical Polishing & Filling Problem

Previous Works Linear programming approaches

Monte-Carlo (MC) approaches

Our Contributions: Hierarchical filling problem

Hierarchical filling algorithm

Hybrid hierarchical / flat filling approach

Computational Experience

Summary and Future Research

Page 28: Hierarchical Dummy Fill for Process Uniformity

Computational ExperienceComputational Experience

Testbed GDSII input hierarchical polygon

database C++ under Solaris

Test Case Case 1 Case 2 Case 3layout size 260,000 288,000 504,000#rectangles 216 432 540

Test casesPart of a metal layer from industry custom-block layout

Implementation features grid slack computation doughnut area computation wraparound density

analysis and synthesis different pattern types

Page 29: Hierarchical Dummy Fill for Process Uniformity

Computational ExperienceComputational ExperienceDenModel

data #fill MinDen data #fill MinDen

OrgLayout 0.07 0.291Hier 645 5136 0.11 1054 2608 0.369H+F 1562 6053 0.335 2758 4312 0.655H+S 2321 7601 0.17 1552 4166 0.525

H+S+F 2834 8114 0.339 2908 5522 0.676Flat 5219 5219 0.403 5732 5732 0.735

OrgLayout 0.167 0.145Hier 2081 16060 0.272 2142 16972 0.248H+F 2451 16430 0.393 5630 17460 0.32H+S 4368 17494 0.41 4531 18126 0.365

H+S+F 4374 17500 0.421 7234 20829 0.383Flat 13974 13974 0.527 23415 23415 0.443

OrgLayout 0 0.091Hier 4995 22566 0.071 4449 20320 0.157H+F 7472 25043 0.532 9461 25332 0.371H+S 9690 23622 0.102 8575 22990 0.159

H+S+F 12212 26144 0.54 13285 25700 0.394Flat 17695 17695 0.547 31204 31204 0.483

Testcase 3

Spatial Density Effective Density

Testcase 1

Testcase 2

DenModeldata #fill MinDen data #fill MinDen

OrgLayout 0.07 0.291Hier 645 5136 0.11 1054 2608 0.369H+F 1562 6053 0.335 2758 4312 0.655H+S 2321 7601 0.17 1552 4166 0.525

H+S+F 2834 8114 0.339 2908 5522 0.676Flat 5219 5219 0.403 5732 5732 0.735

OrgLayout 0.167 0.145Hier 2081 16060 0.272 2142 16972 0.248H+F 2451 16430 0.393 5630 17460 0.32H+S 4368 17494 0.41 4531 18126 0.365

H+S+F 4374 17500 0.421 7234 20829 0.383Flat 13974 13974 0.527 23415 23415 0.443

OrgLayout 0 0.091Hier 4995 22566 0.071 4449 20320 0.157H+F 7472 25043 0.532 9461 25332 0.371H+S 9690 23622 0.102 8575 22990 0.159

H+S+F 12212 26144 0.54 13285 25700 0.394Flat 17695 17695 0.547 31204 31204 0.483

Testcase 3

Spatial Density Effective Density

Testcase 1

Testcase 2

DenModeldata #fill MinDen data #fill MinDen

OrgLayout 0.07 0.291Hier 645 5136 0.11 1054 2608 0.369H+F 1562 6053 0.335 2758 4312 0.655H+S 2321 7601 0.17 1552 4166 0.525

H+S+F 2834 8114 0.339 2908 5522 0.676Flat 5219 5219 0.403 5732 5732 0.735

OrgLayout 0.167 0.145Hier 2081 16060 0.272 2142 16972 0.248H+F 2451 16430 0.393 5630 17460 0.32H+S 4368 17494 0.41 4531 18126 0.365

H+S+F 4374 17500 0.421 7234 20829 0.383Flat 13974 13974 0.527 23415 23415 0.443

OrgLayout 0 0.091Hier 4995 22566 0.071 4449 20320 0.157H+F 7472 25043 0.532 9461 25332 0.371H+S 9690 23622 0.102 8575 22990 0.159

H+S+F 12212 26144 0.54 13285 25700 0.394Flat 17695 17695 0.547 31204 31204 0.483

Testcase 3

Spatial Density Effective Density

Testcase 1

Testcase 2

DenModeldata #fill MinDen data #fill MinDen

OrgLayout 0.07 0.291Hier 645 5136 0.11 1054 2608 0.369H+F 1562 6053 0.335 2758 4312 0.655H+S 2321 7601 0.17 1552 4166 0.525

H+S+F 2834 8114 0.339 2908 5522 0.676Flat 5219 5219 0.403 5732 5732 0.735

OrgLayout 0.167 0.145Hier 2081 16060 0.272 2142 16972 0.248H+F 2451 16430 0.393 5630 17460 0.32H+S 4368 17494 0.41 4531 18126 0.365

H+S+F 4374 17500 0.421 7234 20829 0.383Flat 13974 13974 0.527 23415 23415 0.443

OrgLayout 0 0.091Hier 4995 22566 0.071 4449 20320 0.157H+F 7472 25043 0.532 9461 25332 0.371H+S 9690 23622 0.102 8575 22990 0.159

H+S+F 12212 26144 0.54 13285 25700 0.394Flat 17695 17695 0.547 31204 31204 0.483

Testcase 3

Spatial Density Effective Density

Testcase 1

Testcase 2

Comparison among hierarchical, flat and hybrid filling approaches

Page 30: Hierarchical Dummy Fill for Process Uniformity

OutlineOutline Chemical-Mechanical Polishing & Filling Problem

Previous Works Linear programming approaches

Monte-Carlo (MC) approaches

Our Contributions: Hierarchical filling problem

Hierarchical filling algorithm

Hybrid hierarchical / flat filling approach

Computational Experience

Summary and Future Research

Page 31: Hierarchical Dummy Fill for Process Uniformity

Summary and Future ResearchSummary and Future Research

Hierarchical filling problem for CMP uniformity

Practical pure hierarchical filling algorithm

Practical hybrid hierarchical filling approach trade off runtime, solution quality and data volume

Ongoing research Alternate pure hierarchical filling heuristics Tradeoffs between solution quality & data volume Reusable solutions Dual-material polish model