Area Fill Synthesis Algorithms for Enhanced VLSI Manufacturability
Area Fill Synthesis Algorithms for Enhanced VLSI Manufacturability Department of Computer Science University of Virginia Y. Chen, A. B. Kahng, G. Robins, A. Zelikovsky School of Engineering & Applied Science yuchen@cs. ucla. edu, abk@cs. ucsd. edu, robins@cs. virginia. edu, alexz@cs. gsu. edu Introduction and Problem Statement ® The Filling Problem ® Chemical-Mechanical Polishing (CMP) u Given: design rule-correct layout in an n × n layout region u Find design rule-correct filled layout, such that: u Rotating pad polishes each layer on wafers to achieve planarized surfaces u Uneven features cause polishing pad to deform u Density control is achieved by adding fill geometries into layout Features ILD thickness www. cs. virginia. edu/robins ILD thickness Dummy features ² No fill geometry is added within distance B of any layout feature, and: ² Min-Var objective: no fill is added into any window with density U, and minimum window density in the filled layout is maximized, or: ² Min-Fill objective: number of filling features is minimized, and density of any window remains within given range (LB, UB) ® Model for oxide planarization via CMP u Industry context: fixed-dissection regime: ² Density constraints imposed only for fixed set of w w windows ² Layout partitioned by r 2 fixed dissections ² Each w w window is partitioned into r 2 tiles z 0 z=0 z 1 Oxide Pattern Crucial model element: determining the effective initial pattern density (x, y) Smoothness Gap & New Local Density Smoothness u Spatial Local Density: u Effective Local Density: Smoothness Gap! Gap between bloated window and on-grid window ® Three Types of Local Density Variation: 1: Max density variation of every r neighboring windows in each fixed-dissection row ® Accurate Layout Density Analysis floating window with maximum density u Optimal extremal-density analysis (K 2) fixed dissection window with maximum density u Multi-level density analysis algorithm: Computational inefficiency! 2: Max density variation of every cluster of windows which cover one tile ² Any window contained by bloated on-grid window u Fixed-dissection analysis ≠ floating window analysis ² Any window contains shrunk on-grid window u Fill result will not satisfy the given bounds u Previous filling methods fail to consider smoothness gap ² Gap between max bloated and max on-grid window Algorithmic inaccuracy! STI Dual-Material Dummy Fill Multiple-Layer Oxide CMP Dummy Fill ® Shallow Trench Isolation (STI) ® Multiple-layer Oxide ®Multiple-layer density model Layer 1 Nitride Oxide Silicon nitride deposition 3: Max density variation of every cluster of windows which cover tiles Layer 0 etch shallow trenches through nitride silicon oxide deposition remove excess oxide partially nitride by CMP nitride stripping ® STI CMP Model u STI post-CMP variation: controlled by changing the feature density distribution u Compressible pad model: polishing occurs on up/down areas after some step height u Dual-material polish model: two different materials for top & bottom surfaces ® Multiple-layer Oxide Fill Objectives u Sum of density variations can not guarantee the Min-Var objective on each layer u Maximum density variation across all layers ® Linear Programming formulation u Min u Subject to: M STI Fill is a non-linear programming problem! ® Previous methods u Min-Var objective: minimize max height variation u Min-Fill objective: minimize total inserted fills, while keeping given lower bound u Tile stack: column of tiles ® Drawbacks of previous work u Can not guarantee to find a global minimum since it is deterministic u Simple termination is not sufficient to yield optimal/sub-optimal solutions ® Monte-Carlo method for STI Min-Var u Calculate priority of tile(i, j) as H - H (i, j, i’, j’) u Pick the tile for next filling randomly u If the tile is overfilled, lock all neighboring tiles u Update tile priority ® Multiple-Layer Monte-Carlo Approach Iterated Monte-Carlo method u Effective density of tile stack: sum of effective densities of all tiles in stack layer 3 Tile Stack ® Multiple-Layer Monte-Carlo Approach ® MC/Greedy methods for STI Min-Fill u Find a solution with Min-Var objective to satisfy the given lower bound u Modify the solution with respect to Min-Fill objective layer 1 u Compute slack area, cumulative effective density of tile stack u Calculate tile stack’s priority according to cumulative effective density u While (sum of priorities > 0 ) Do: No Improvement layer 2 ² Randomly select a tile stack according to its priority ² From bottom to top layer, check for fill insertion feasibility ² Update slack area and priority of the tile stack ² If no slack area is left, lock the tile stack
- Slides: 1