320 likes | 334 Views
Supported by Cadence Design Systems, Inc. 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 Polishing (CMP) Filling Problem in fixed-dissection regime
E N D
Supported by Cadence Design Systems, Inc. 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 Polishing (CMP) • Filling Problem in fixed-dissection regime • Linear programming approaches • Monte-Carlo (MC) approaches • Our contributions: • Hierarchical filling problem • Hierarchical filling algorithm • Hybrid hierarchical / flat filling app roach • 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 ~ 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
Outline • Chemical-Mechanical Polishing (CMP) • Filling Problem in fixed-dissection regime • Linear programming approaches • Monte-Carlo (MC) approaches • Our contributions: • Hierarchical filling problem • Hierarchical filling algorithm • Hybrid hierarchical / flat filling approach • Computational experience • Summary and research directions
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
Requirements 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
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 intonr/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 tiles' feature area • weights decrease from window center to boundaries
Outline • Chemical-Mechanical Polishing (CMP) • Filling Problem in fixed-dissection regime • Linear programming approaches • Monte-Carlo (MC) approaches • Our contributions: • Hierarchical filling problem • Hierarchical filling algorithm • Hybrid hierarchical / flat filling approach • Computational experience • Summary and research directions
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 Approaches • 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
Outline • Chemical-Mechanical Polishing (CMP) • Filling Problem in fixed-dissection regime • Linear programming approaches • Monte-Carlo (MC) approaches • Our contributions: • Hierarchical filling problem • Hierarchical filling algorithm • Hybrid hierarchical / flat filling approach • Computational experience • Summary and research directions
Monte-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
Min-Var No Improvement Min-Fill 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
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 (CMP) • Filling Problem in fixed-dissection regime • Linear programming approaches • Monte-Carlo (MC) approaches • Our contributions: • Hierarchical filling problem • Hierarchical filling algorithm • Hybrid hierarchical / flat filling approach • Computational experience • Summary and research directions
Two instances of a master cell features Flat fill solution Hierarchical fill solution Original layout Hierarchical Filling Problem • Filling geometries are added only to master cells • Each cell of the filled layout is a filled version of the corresponding original master cell
Why Hierarchical Filling? • Hierarchy characteristics of custom and semi-custom design flows • Enables and faster verification of the filled layout • Decreases data volume for standard cell designs
Difficulties of Hierarchical Filling • Density constraints for all instances of the master • Interactions / interferences at master cell boundaries • Always worse than flat solutions
Outline • Chemical-Mechanical Polishing (CMP) • Filling Problem in fixed-dissection regime • Linear programming approaches • Monte-Carlo (MC) approaches • Our contributions: • Hierarchical filling problem • Hierarchical filling algorithm • Hybrid hierarchical / flat filling approach • Computational experience • Summary and research directions
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
1 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 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 Monte-Carlo Hierarchical Filling
Overlaps between 2 instances of the same master • Overlaps between master and features • Overlaps between 2 instances of different masters Exclude the overlapping regions buffer slack slack Computing Slack Hierarchically Master cell
Drawbacks of Hierarchical Filling • Sparse or unfilled region in the solution • the overlaps • bloat region • Cause high layout density variation
Outline • Chemical-Mechanical Polishing (CMP) • Filling Problem in fixed-dissection regime • Linear programming approaches • Monte-Carlo (MC) approaches • Our contributions: • Hierarchical filling problem • Hierarchical filling algorithm • Hybrid hierarchical / flat filling approach • Computational experience • Summary and research directions
Create k copies of master cell Ci • Link all contained master cell C` with the new copies of Ci • Randomly replace Ci in any master cell with one of the new copies C1 C2 Ci,2 Ci,1 C2 C2 C2 C1 C1 C1 C1` C1` C2` C2` Ci C1` C1` C1` C2` C2` C2` C1` C2` Ci Ci,2 Ci,1 k-way Master Cell Splitting • k : hierarchical layout flat layout
features Flat fill `cleanup` phase three instances of a master cell Hybrid Hierarchical / Flat Filling Purely hierarchical fill phase Split-hierarchical phase
Outline • Chemical-Mechanical Polishing (CMP) • Filling Problem in fixed-dissection regime • Linear programming approaches • Monte-Carlo (MC) approaches • Our contributions: • Hierarchical filling problem • Hierarchical filling algorithm • Hybrid hierarchical / flat filling approach • Computational experience • Summary and research directions
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 • Test cases Part of a metal layer from industry custom-block layout
Computational Experience Comparison among hierarchical, flat and hybrid filling approaches
Outline • Chemical-Mechanical Polishing (CMP) • Filling Problem in fixed-dissection regime • Linear programming approaches • Monte-Carlo (MC) approaches • Our contributions: • Hierarchical filling problem • Hierarchical filling algorithm • Hybrid hierarchical / flat filling approach • Computational experience • Summary and research directions
Summary and research directions • 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