Download presentation
Presentation is loading. Please wait.
1
Hierarchical 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
2
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
3
CMP and Interlevel Dielectric Thickness Chemical-Mechanical Planarization (CMP) = wafer surface planarization Uneven features cause polishing pad to deform Dummy features ILD thickness Interlevel-dielectric (ILD) thickness feature density Insert dummy features to decrease variation ILD thickness Features
4
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
5
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 given buffer distance B of any layout feature into any overfilled window that already has density U
6
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 r 2 tiles Overlapping windows w w/r n tile
7
Layout Density Models Spatial Density Model window density sum of tiles feature area Slack Area Feature Area tile Effective Density Model (more accurate) window density weighted sum of tiles' feature area weights decrease from window center to boundaries
8
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
9
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
10
Linear Programming Approaches Min-Var Objective (Kahng et al.) Maximize: M Subject 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 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
11
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
12
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
13
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
14
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
15
Hierarchical 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
16
Why Hierarchical Filling? Hierarchical characteristics of design flows Enables and faster verification of the filled layout Decreases data volume for
17
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
18
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
19
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
20
Monte-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 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 1 1 1 1 1 1 1 1 1 1 1 1 density analysis
21
Master cell Computing Slack Hierarchically buffer slack Overlaps between 2 instances of different masters Overlaps between master and features Overlaps between 2 instances of the same master Exclude the overlapping regions
22
Drawbacks 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 ! ! ! !
23
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
24
k-way Master Cell Splitting C1C1 CiCi C2C2 C2`C2` C1`C1` C1`C1` C2`C2` CiCi C2C2 C1C1 C i,1 C i,2 C1`C1` C2`C2` C2C2 C1C1 C1`C1` C2`C2` C i,1 C i,2 Create k copies of master cell C i k : hierarchical layout flat layout C2`C2` C1`C1` C2`C2` C1`C1` Link contained master cells C` with the new copies C1C1 C2C2 Randomly replace C i in master cells with new copies
25
Hybrid Hierarchical / Flat Filling Purely hierarchical fill phase Flat fill `cleanup` phase Split-hierarchical phase features three instances of a master cell
26
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
27
Computational Experience Testbed GDSII input hierarchical polygon database C++ under Solaris Test cases: Artificial hierarchical layouts based on single cell, different magnification factors Rectangle sizes >> fill geometry sizes !!! Implementation features grid slack computation doughnut area computation wraparound density analysis and synthesis different pattern types
28
Computational Experience Comparison among hierarchical, flat and hybrid filling approaches
29
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
30
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, …)
31
CMP in STI Process Shallow Trench Isolation (STI) technique for isolation on the active layer in all deep submicron CMOS productions 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 over polish
Similar presentations
© 2024 SlidePlayer.com. Inc.
All rights reserved.