Presentation is loading. Please wait.

Presentation is loading. Please wait.

Hierarchical Dummy Fill for Process Uniformity Supported by Cadence Design Systems, Inc. Y. Chen, A. B. Kahng, G. Robins, A. Zelikovsky (UCLA, UCSD, UVA.

Similar presentations


Presentation on theme: "Hierarchical Dummy Fill for Process Uniformity Supported by Cadence Design Systems, Inc. Y. Chen, A. B. Kahng, G. Robins, A. Zelikovsky (UCLA, UCSD, UVA."— Presentation transcript:

1 Hierarchical Dummy Fill for Process Uniformity Supported by Cadence Design Systems, Inc. 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 CMP and Interlevel Dielectric Thickness Chemical-Mechanical Polishing (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 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  n region  window size = w  w  window density upper bound U Fill layout with Min-Var or Min-Fill objective such that no fill 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 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 nr/w  nr/w fixed dissections Each w  w window is partitioned into r 2 tiles Overlapping windows w w/r n tile

9 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

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

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 Hierarchical Filling Problem Filling geometries 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

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

23 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

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 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 all contained master cell C` with the new copies of C i C1C1 C2C2 Randomly replace C i in any master cell with one of the new copies

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

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 Testbed  GDSII input  hierarchical polygon database  C++ under Solaris Test cases Part of a metal layer from industry custom-block layout Implementation features  grid slack computation  doughnut area computation  wraparound density analysis and synthesis  different pattern types

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


Download ppt "Hierarchical Dummy Fill for Process Uniformity Supported by Cadence Design Systems, Inc. Y. Chen, A. B. Kahng, G. Robins, A. Zelikovsky (UCLA, UCSD, UVA."

Similar presentations


Ads by Google