C 1

advertisement
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 Planarization & 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
CMP and Interlevel Dielectric Thickness
 Chemical-Mechanical Planarization (CMP)
= wafer surface planarization
 Uneven features cause polishing pad to deform
Features
ILD thickness
 Interlevel-dielectric (ILD) thickness  feature density
 Insert dummy features to decrease variation
Dummy
features
ILD thickness
Objectives of Density Control
 Objective for Manufacture = Min-Var
minimize “window” density variation
subject to upper bound on window layout density
 Objective for Design = Min-Fill
minimize total amount of filling
subject to bound on window layout density variation
Filling Problem Statement
 Given
 rule-correct
layout in n  n region

window size = w  w

window density upper bound U, buffer distance B
 Add dummy fill to the layout with Min-Var and/or
Min-Fill objective
such that no fill is added
 within
 into
given buffer distance B of any layout feature
any overfilled window that already has density  U
Fixed-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 overlapping fixed dissections
 Each w  w window is partitioned into r2 tiles
w
w/r
tile
Overlapping
windows
n
Layout Density Models
 Spatial Density Model
window density  sum of tiles feature area
 Effective Density Model (more accurate)
window density  weighted sum of tiles' feature area

weights decrease from window center to boundaries
tile
Feature
Area
Slack
Area
Requirements for Dummy Filling
 Estimation of RC parasitics, gate/interconnect
delays and device reliability in PD & verification
 Compatibility of master cell, macro characterizations
with later insertion of dummy fill
 Consistent with design hierarchy to avoid data
explosion and maintain verifiability
Outline
 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
Linear Programming Approaches
 Min-Var Objective
 Min-Fill Objective
(Kahng et al.)
(Wong et al.)
 Maximize:
 Subject
M
to:
for any tile
0  p[T]  slack[T]
for any window
 TW (p[T]+area[T])  U
M   TW (p[T] + area[T])
p[T] = fill area of tile
 spatial
density model
 Minimize:
 Subject
fill amount
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
Monte-Carlo Approach
 Min-Var objective

pick the tile for next filling geometry randomly

higher priority (based on max covering window density) of 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
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
LP 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
Outline
 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
Hierarchical Filling Problem
 Dummy fill are added only to master cells
 Each cell of the filled layout is a filled version of the
corresponding original master cell
Two instances of a master cell
features
Flat fill solution
Original layout
Hierarchical fill solution
Why Hierarchical Filling?
 Hierarchical characteristics of design flows
 Enables and faster verification of the filled layout
 Decreases data volume for
Challenges of Hierarchical Filling
 Density constraints apply to all instances of the
master
 Interactions / interferences at master cell boundaries
 Always gives worse results than flat solutions
Outline
 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
Why Not LP?
 Complexity caused by constraints
 need
a huge number of variables and constraints for
each window, cell instance, and feasible fill position
 Overlaps between cell instances
 ownership
of overlapping regions
 unavailable regions for fill
Monte-Carlo Hierarchical Filling
1
1
1
1
1
1
1
density analysis
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
Original layout
Computing Slack Hierarchically
 Overlaps between master
 2 instances
and features
of different
the samemasters
master
Exclude the overlapping regions
buffer
Master cell
slack
slack
Drawbacks of Hierarchical Filling
 Sparse or unfilled region in the solution
 the
overlaps
 bloat
regions
 Cause high layout density variation
features
!
!
!
!
three instances of a master cell
Outline
 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
k-way Master Cell Splitting
 Create k copies of master cell Ci
 Link contained master cells C` with the new copies
 Randomly replace Ci in master cells with new copies
C1
C2
C2
C1
Ci
C1` C2`
Ci
C1`
C2`
C1
C2
Ci,1
Ci,2
C1` C2` C1` C2`
C1
C1` C2`
Ci,2
 k   : hierarchical layout  flat layout
C2
C1` C2`
Ci,1
Hybrid Hierarchical / Flat Filling
features
Purely hierarchical fill
phase
Split-hierarchical
phase
Flat fill `cleanup`
phase
three instances of a master cell
Outline
 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
Computational Experience
 Implementation features
 Testbed
 GDSII
input
 hierarchical polygon
database
 C++ under Solaris
 grid
slack computation
 doughnut area computation
 wraparound density
analysis and synthesis
 different pattern types
 Test cases: Artificial hierarchical layouts based on
single cell, different magnification factors
 Rectangle
sizes >> fill geometry sizes !!!
Test Case
layout size
#rectangles
Case 1
260,000
216
Case 2
288,000
432
Case 3
504,000
540
Computational Experience
DenModel
data
OrgLayout
Hier
H+F
H+S
H+S+F
Flat
645
1562
2321
2834
5219
OrgLayout
Hier
H+F
H+S
H+S+F
Flat
2081
2451
4368
4374
13974
OrgLayout
Hier
H+F
H+S
H+S+F
Flat
4995
7472
9690
12212
17695
Effective Density
Spatial Density
MinDen
#fill
data
MinDen
#fill
Testcase 1
0.291
0.07
0.369
2608
1054
0.11
5136
0.655
4312
2758
0.335
6053
0.525
4166
1552
0.17
7601
0.676
5522
2908
0.339
8114
0.735
5732
5732
0.403
5219
Testcase 2
0.145
0.167
0.248
16972
2142
0.272
16060
0.32
17460
5630
0.393
16430
0.365
18126
4531
0.41
17494
0.383
20829
7234
0.421
17500
0.443
23415
23415
0.527
13974
Testcase 3
0.091
0
0.157
20320
4449
0.071
22566
0.371
25332
9461
0.532
25043
0.159
22990
8575
0.102
23622
0.394
25700
13285
0.54
26144
0.483
31204
31204
0.547
17695
Comparison among hierarchical, flat and hybrid filling approaches
Outline
 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
Summary 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
 Reusable
solutions
 Fill
compression
 Layer
interactions (filling/cheesing, dual-material, …)
Download