Supported by Cadence Design Systems Inc NSF and
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 l Chemical Mechanical Processing & Filling Problem l Previous Works ¤ Linear programming approaches ¤ Monte-Carlo (MC) approaches l Our Contributions: ¤ Hierarchical filling problem ¤ Hierarchical filling algorithm ¤ Hybrid hierarchical / flat filling approach l Computational Experience l Summary and Future Research
CMP and Interlevel Dielectric Thickness l Chemical-Mechanical Polishing (CMP) = wafer surface planarization l Uneven features cause polishing pad to deform Features ILD thickness l Interlevel-dielectric (ILD) thickness feature density l Insert dummy features to decrease variation Dummy features ILD thickness
CMP in STI Process l Shallow Trench Isolation (STI) technique for isolation on the active layer in all deep submicron CMOS productions ¤ deposit ¤ etch nitride layer on silicon shallow trenches through nitride silicon ¤ deposit oxide to fill trenches and cove nitride ¤ remove excess oxide and partially nitride by CMP l Uniformity requirement on CMP in STI ¤ not enough polish ¤ over polish
Objectives of Density Control l Objective for Manufacture = Min-Var minimize window density variation subject to upper bound on window density l Objective for Design = Min-Fill minimize total amount of filling subject to fixed density variation
Filling Problem l Given ¤ rule-correct layout in n n region ¤ window size = w w ¤ window density upper bound U l Fill layout with Min-Var or Min-Fill objective such that no fill is added ¤ within ¤ into buffer distance B of any layout feature any overfilled window that has density U
Fixed-Dissection Regime l Monitor only fixed set of w w windows ¤ “offset” = w/r (example shown: w = 4, r = 4) l Partition n x n layout into nr/w fixed dissections l Each w w window is partitioned into r 2 tiles w w/r tile Overlapping windows n
Layout Density Models l Spatial Density Model window density sum of tiles feature area l 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 on Dummy Filling l Estimation of RC parasitics, gate/interconnect delays and device reliability in PD & verification l Compatibility of master cells and macros l Consistent with design hierarchy
Outline l Chemical-Mechanical Polishing & Filling Problem l Previous Works ¤ Linear programming approaches ¤ Monte-Carlo (MC) approaches l Our Contributions: ¤ Hierarchical filling problem ¤ Hierarchical filling algorithm ¤ Hybrid hierarchical / flat filling approach l Computational Experience l Summary and Future Research
Linear Programming Approaches l Min-Var Objective l 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] Lower. B 0(T) Upper. B MAX 0(T) - MIN 0(T) = the effective density of tile T ¤ effective density model
Monte-Carlo Approach l 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 l 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 l 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 l LP ; impractical runtime for large layouts ; r-dissection solution may be suboptimal for 2 r dissections ; essential rounding error for small tiles l Monte-Carlo U very efficient: O((nr/w)log(nr/w)) time U scalability: handle large values of r U accuracy: reasonably high comparing with LP
Outline l Chemical-Mechanical Polishing & Filling Problem l Previous Works ¤ Linear programming approaches ¤ Monte-Carlo (MC) approaches l Our Contributions: ¤ Hierarchical filling problem ¤ Hierarchical filling algorithm ¤ Hybrid hierarchical / flat filling approach l Computational Experience l Summary and Future Research
Hierarchical Filling Problem l Dummy fill are added only to master cells l 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? l Hierarchical characteristics of design flows l Enables and faster verification of the filled layout l Decreases data volume for standard cell designs
Difficulties in Hierarchical Filling l Density constraints for all instances of the master l Interactions / interferences at master cell boundaries l Always worse than flat solutions
Outline l Chemical-Mechanical Polishing & Filling Problem l Previous Works ¤ Linear programming approaches ¤ Monte-Carlo (MC) approaches l Our Contributions: ¤ Hierarchical filling problem ¤ Hierarchical filling algorithm ¤ Hybrid hierarchical / flat filling approach l Computational Experience l Summary and Future Research
Why Not LP? l Complexity caused by constraints ¤ need a huge number of variables and constraints for each window, cell instance, and feasible fill position l Transformations ¤ hard to represent the transformations of master cell instances l 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 Original layout
Computing Slack Hierarchically the samemasters master and features l Overlaps between master 2 instances of different Exclude the overlapping regions buffer Master cell slack
Drawbacks of Hierarchical Filling l Sparse or unfilled region in the solution ¤ the overlaps ¤ bloat regions l Cause high layout density variation features ! ! three instances of a master cell
Outline l Chemical-Mechanical Polishing & Filling Problem l Previous Works ¤ Linear programming approaches ¤ Monte-Carlo (MC) approaches l Our Contributions: ¤ Hierarchical filling problem ¤ Hierarchical filling algorithm ¤ Hybrid hierarchical / flat filling approach l Computational Experience l Summary and Future Research
k-way Master Cell Splitting l Create k copies of master cell Ci l Link contained master cells C` with the new copies l Randomly replace Ci in master cells with new copies C 1 C 2 C 1 Ci C 1` C 2` C 1 C 2 Ci, 1 Ci, 2 C 1` C 2` Ci, 2 l k : hierarchical layout flat layout C 2 C 1` C 2` Ci, 1
Hybrid Hierarchical / Flat Filling Purely hierarchical fill phase features Split-hierarchical phase Flat fill `cleanup` phase three instances of a master cell
Outline l Chemical-Mechanical Polishing & Filling Problem l Previous Works ¤ Linear programming approaches ¤ Monte-Carlo (MC) approaches l Our Contributions: ¤ Hierarchical filling problem ¤ Hierarchical filling algorithm ¤ Hybrid hierarchical / flat filling approach l Computational Experience l Summary and Future Research
Computational Experience l Testbed ¤ GDSII input ¤ hierarchical polygon database ¤ C++ under Solaris l Implementation features ¤ grid slack computation ¤ doughnut area computation ¤ wraparound density analysis and synthesis ¤ different pattern types l Test cases Part of a metal layer from industry custom-block layout
Computational Experience Comparison among hierarchical, flat and hybrid filling approaches
Outline l Chemical-Mechanical Polishing & Filling Problem l Previous Works ¤ Linear programming approaches ¤ Monte-Carlo (MC) approaches l Our Contributions: ¤ Hierarchical filling problem ¤ Hierarchical filling algorithm ¤ Hybrid hierarchical / flat filling approach l Computational Experience l Summary and Future Research
Summary and Future Research l Hierarchical filling problem for CMP uniformity l Practical pure hierarchical filling algorithm l Practical hybrid hierarchical filling approach ¤ trade off runtime, solution quality and data volume l Ongoing research ¤ Alternate pure hierarchical filling heuristics ¤ Tradeoffs between solution quality & data volume ¤ Reusable solutions ¤ Dual-material polish model
- Slides: 31