Title: Hierarchical Dummy Fill for Process Uniformity
1Hierarchical Dummy Fill for Process Uniformity
Supported by Cadence Design Systems, Inc. NSF,
and the Packard Foundation
Y. Chen, A. B. Kahng, G. Robins, A. Zelikovsky
(UCLA, UCSD, UVA and GSU) http//vlsicad.cs.ucla
.edu
2Outline
- 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
3CMP and Interlevel Dielectric Thickness
- Chemical-Mechanical Polishing (CMP)
- wafer surface planarization
- Uneven features cause polishing pad to deform
- Interlevel-dielectric (ILD) thickness ? feature
density - Insert dummy features to decrease variation
4CMP 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)
-
5Objectives 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
6Filling 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
7Fixed-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
8Layout 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
-
9Requirements 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
10Outline
- 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
11Linear Programming Approaches
- Min-Var Objective
- (Kahng et al.)
- Maximize M
- Subject to
- for any tile
- 0 ? pT ? slackT
- for any window
- ? T?W (pTareaT) ? U
- M ? ? T?W (pT areaT)
- pT fill area of tile
- spatial density model
- Min-Fill Objective
- (Wong et al.)
- Minimize fill amount
- Subject to
- for any tile
- 0 ? pT ? slackT
- LowerB ? ?0(T) ? UpperB
- MAX ?0(T) - MIN ?0(T) ? ?
- ?0(T) the effective density of tile T
- effective density model
12Monte-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 lt L) lock the
tile - randomly select unlocked tile by its priority
- delete a filling geometry from tile
- update priorities of tiles
13 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
14LP 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
15Outline
- 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
16Hierarchical 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
17Why Hierarchical Filling?
- Hierarchical characteristics of design flows
- Enables and faster verification of the filled
layout
- Decreases data volume for standard cell designs
18Difficulties in Hierarchical Filling
- Density constraints for all instances of the
master
- Interactions / interferences at master cell
boundaries
- Always worse than flat solutions
19Outline
- 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
20Why 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
21Monte-Carlo Hierarchical Filling
22Computing Slack Hierarchically
Master cell
23Drawbacks of Hierarchical Filling
- Sparse or unfilled region in the solution
- the overlaps
- bloat regions
24Outline
- 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
25k-way Master Cell Splitting
- Randomly replace Ci in master cells with new
copies
- k ? ? hierarchical layout ? flat layout
26Hybrid Hierarchical / Flat Filling
Purely hierarchical fill phase
Split-hierarchical phase
27Outline
- 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
28Computational Experience
- Implementation features
- grid slack computation
- doughnut area computation
- wraparound density analysis and synthesis
- different pattern types
- Testbed
- GDSII input
- hierarchical polygon database
- C under Solaris
29Computational Experience
Comparison among hierarchical, flat and hybrid
filling approaches
30Outline
- 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
31Summary 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