160 likes | 287 Views
Supported by Cadence Design Systems, Inc. Practical Iterated Fill Synthesis for CMP Uniformity. Y. Chen, A. B. Kahng, G. Robins, A. Zelikovsky (UCLA, UVA and GSU) http://vlsicad.cs.ucla.edu. Outline. Chemical-Mechanical Polishing (CMP) Filling Problem in fixed-dissection regime
E N D
Supported by Cadence Design Systems, Inc. Practical Iterated Fill Synthesis for CMP Uniformity Y. Chen, A. B. Kahng, G. Robins, A. Zelikovsky (UCLA, UVA and GSU) http://vlsicad.cs.ucla.edu
Outline • Chemical-Mechanical Polishing (CMP) • Filling Problem in fixed-dissection regime • LP and Monte-Carlo (MC) approaches • Our contributions: • MC approach with Min-Fill objective • Iterated MC method • Computational experience • Summary and research directions
Chemical -Mechanical Polishing (CMP) = wafer surface planarization Uneven features cause polishing pad to deform Features ILD thickness Dummy features ILD thickness CMP and Interlevel Dielectric Thickness • Interlevel-dielectric (ILD) thickness is proportional to feature density • Insert dummy features to decrease variation
Objectives of Density Control • Objective for Manufacture = Min-Var minimizewindow density variation subject to upper bound on window density • Objective for Design = Min-Fill minimize total amount of filling subject to fixed density variation
Filling Problem • Given • rule-correct layout in n nregion • window size = w w • window density upper bound U • Fill layout with Min-Var or Min-Fill objective such that nofill is added • within buffer distance B of any layout feature • into any overfilled window that has density U
w w/r tile Overlapping windows n 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 withnr/w nr/w fixed dissections • Each w w window is partitioned into r2tiles
tile Slack Area Feature Area Layout Density Models • Spatial Density Model window density sum of tiles’ feature area • Effective Density Model (more accurate) window density weighted sum of of tiles’s feature area • elliptical weights decrease from window center to boundaries
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 Linear Programming Approach • Min-Fill Objective (Wong et al.) • Minimize: fill amount • Subject to: for any tile 0 p[T] slack[T] LowerB 0(T) UpperB UpperB - LowerB 0(T)= the effective density of tile T • effective density model
Monte-Carlo Approach • Fill layout randomly • 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 • Tile priorities • slack • min density of any windows containing the tile • max density of any windows containing the tile • Heuristics for updating priorities • update priorities of all affected tiles • update priorities only of tiles which belong to newly locked window
LP vs. Monte-Carlo • 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 • drawback: excessive amount of fill features for Min-Var
Monte-Carlo with Min-Fill Objective • Delete excessive fill ! • 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 according to its priority • delete a filling geometry from tile • update priorities of tiles
Min-Var No Improvement Min-Fill Iterated Monte-Carlo Approach • Repeat forever • run Min-Var Monte-Carlo with maximum window density U • exit if no change in minimum window density • run Min-Fill Monte-Carlo Algorithm with minimum window density M
Testcases Metal layers from industry standard-cell layouts Computational 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 • open-source code
Computational Experience Iterated Monte-Carlo approach is more accurate than standard MC approach and faster than LP approach
Summary and research directions • Monte-Carlo approach with Min-Fill objective • Iterated Monte-Carlo approach • more accurate and practical • several practical features • simultaneously address different filling objectives for different density models • Ongoing research • hierarchical filling • grounded fill generation • multi-layer density control