1 / 32

Hierarchical Dummy Fill for Process Uniformity

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

ntorres
Download Presentation

Hierarchical Dummy Fill for Process Uniformity

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. 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

  2. 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

  3. 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

  4. 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

  5. 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

  6. 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

  7. 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

  8. 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

  9. 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

  10. 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

  11. 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 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

  12. 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

  13. 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

  14. 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

  15. 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

  16. 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

  17. 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

  18. 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

  19. Difficulties of Hierarchical Filling • Density constraints for all instances of the master • Interactions / interferences at master cell boundaries • Always worse than flat solutions

  20. 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

  21. 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

  22. 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

  23. 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

  24. Drawbacks of Hierarchical Filling • Sparse or unfilled region in the solution • the overlaps • bloat region • Cause high layout density variation

  25. 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

  26. 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

  27. features Flat fill `cleanup` phase three instances of a master cell Hybrid Hierarchical / Flat Filling Purely hierarchical fill phase Split-hierarchical phase

  28. 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

  29. 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

  30. Computational Experience Comparison among hierarchical, flat and hybrid filling approaches

  31. 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

  32. 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

More Related