Hierarchical dummy fill for process uniformity
This presentation is the property of its rightful owner.
Sponsored Links
1 / 31

Hierarchical Dummy Fill for Process Uniformity PowerPoint PPT Presentation


  • 63 Views
  • Uploaded on
  • Presentation posted in: General

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. Chemical Mechanical Processing & Filling Problem

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.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.


- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -

Presentation Transcript


Hierarchical dummy fill for process uniformity

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

Outline

  • Chemical Mechanical Processing & Filling Problem

  • Previous Works

    • Linear programming approaches

    • Monte-Carlo (MC) approaches

  • Our Contributions:

    • Hierarchical filling problem

    • Hierarchical filling algorithm

    • Hybrid hierarchical / flat filling approach

  • Computational Experience

  • Summary and Future Research


Cmp and interlevel dielectric thickness

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


Cmp in sti process

CMP in STI Process

  • Shallow Trench Isolation (STI)

    technique for isolation on the active layer in all deep

    submicron CMOS productions (figure)

    • deposit nitride layer on silicon

    • Etch shallow trenches through nitride silicon

    • deposit oxide to fill trenches and cove nitride

    • remove excess oxide and partially nitride by CMP

  • Uniformity requirement on CMP in STI

    • not enough polish (figure)

    • over polish (figure)


Objectives of density control

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


Filling problem

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


Fixed dissection regime

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


Layout density models

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


Requirements on dummy filling

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


Outline1

Outline

  • Chemical-Mechanical Polishing & Filling Problem

  • Previous Works

    • Linear programming approaches

    • Monte-Carlo (MC) approaches

  • Our Contributions:

    • Hierarchical filling problem

    • Hierarchical filling algorithm

    • Hybrid hierarchical / flat filling approach

  • Computational Experience

  • Summary and Future Research


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

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

      MAX 0(T) - MIN 0(T)  

      0(T)= the effective density of tile T

    • effective density model


Monte carlo approach

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


Iterated monte carlo approach

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


Outline2

Outline

  • Chemical-Mechanical Polishing & Filling Problem

  • Previous Works

    • Linear programming approaches

    • Monte-Carlo (MC) approaches

  • Our Contributions:

    • Hierarchical filling problem

    • Hierarchical filling algorithm

    • Hybrid hierarchical / flat filling approach

  • Computational Experience

  • Summary and Future Research


Hierarchical filling problem

Two instances of a master cell

features

Flat fill solution

Hierarchical fill solution

Original layout

Hierarchical Filling Problem

  • Dummy fill 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

Why Hierarchical Filling?

  • Hierarchical characteristics of design flows

  • Enables and faster verification of the filled layout

  • Decreases data volume for standard cell designs


Difficulties in hierarchical filling

Difficulties in Hierarchical Filling

  • Density constraints for all instances of the master

  • Interactions / interferences at master cell boundaries

  • Always worse than flat solutions


Outline3

Outline

  • Chemical-Mechanical Polishing & Filling Problem

  • Previous Works

    • Linear programming approaches

    • Monte-Carlo (MC) approaches

  • Our Contributions:

    • Hierarchical filling problem

    • Hierarchical filling algorithm

    • Hybrid hierarchical / flat filling approach

  • Computational Experience

  • Summary and Future Research


Why not lp

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


Monte carlo hierarchical filling

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


Computing slack hierarchically

  • 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

  • Cause high layout density variation

features

!

!

!

!

three instances of a master cell

Drawbacks of Hierarchical Filling

  • Sparse or unfilled region in the solution

    • the overlaps

    • bloat regions


Outline4

Outline

  • Chemical-Mechanical Polishing & Filling Problem

  • Previous Works

    • Linear programming approaches

    • Monte-Carlo (MC) approaches

  • Our Contributions:

    • Hierarchical filling problem

    • Hierarchical filling algorithm

    • Hybrid hierarchical / flat filling approach

  • Computational Experience

  • Summary and Future Research


K way master cell splitting

  • Create k copies of master cell Ci

  • Link contained master cells C` with 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

  • Randomly replace Ci in master cells with new copies

  • k  : hierarchical layout  flat layout


Hybrid hierarchical flat filling

features

Flat fill `cleanup` phase

three instances of a master cell

Hybrid Hierarchical / Flat Filling

Purely hierarchical fill

phase

Split-hierarchical

phase


Outline5

Outline

  • Chemical-Mechanical Polishing & Filling Problem

  • Previous Works

    • Linear programming approaches

    • Monte-Carlo (MC) approaches

  • Our Contributions:

    • Hierarchical filling problem

    • Hierarchical filling algorithm

    • Hybrid hierarchical / flat filling approach

  • Computational Experience

  • Summary and Future Research


Computational experience

  • Test cases

    Part of a metal layer from industry custom-block layout

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


Computational experience1

Computational Experience

Comparison among hierarchical, flat and hybrid filling approaches


Outline6

Outline

  • Chemical-Mechanical Polishing & Filling Problem

  • Previous Works

    • Linear programming approaches

    • Monte-Carlo (MC) approaches

  • Our Contributions:

    • Hierarchical filling problem

    • Hierarchical filling algorithm

    • Hybrid hierarchical / flat filling approach

  • Computational Experience

  • Summary and Future Research


Summary and future research

Summary and Future Research

  • 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

    • Dual-material polish model


  • Login