Dummy Fill Optimization for Enhanced Manufacturability
1
Yaoguang Wei and Sachin S. Sapatnekar Department of Electrical and Computer Engineering University of Minnesota ISPD 2010
Dummy Fill Optimization for Enhanced Manufacturability Yaoguang Wei - - PowerPoint PPT Presentation
Dummy Fill Optimization for Enhanced Manufacturability Yaoguang Wei and Sachin S. Sapatnekar Department of Electrical and Computer Engineering University of Minnesota ISPD 2010 1 Outline Introduction Flow of the routing algorithm
Dummy Fill Optimization for Enhanced Manufacturability
1
Yaoguang Wei and Sachin S. Sapatnekar Department of Electrical and Computer Engineering University of Minnesota ISPD 2010
Outline
2
Chemical mechanical polishing (CMP)
3
CMP machine
[http://www.ceramic.hanyang.ac.kr/paik/cmp.htm] [http://strasbaugh.com/cm/Products/CMP/nTREPID% 20300mm% 20PRODUCTION% 20CMP .html]
CMP process
Variations caused by oxide CMP
4
Depth of focus variation, and finally lower the performance and yield
[Ouma, 2002]
– Post-CMP ILD thickness z ~ effective pattern density ρ
ρ
1
z c z + =
[Tian, 2001] [Ouma, 2002]
e.g., CMP variation can lead to 30% delay variation [Mehrotra, 2000]
Metal
Effective pattern density (EPD)
– Initial pattern density (IPD) dij: Density
– Assume the die is periodically repeated, and then dij is periodic. – Effective pattern density (EPD) ρij: Weighted sum of dij over a weighting window Wij with size 2l+1
5
Wij ρij
Die 1 Die 2
tij
) 2 exp( 2 1 ) , (
2 2 2 2
l j i l j i f + − = π
Discretized Gaussian function
2 1,
n j n i
d
+ +
5
5 2 4 6 x 10 x 10
i i j j f(i f(i,j)
Weighting function with l= 5
Reduce CMP variation
– Insert minimal amount of dummy fill (D) to make – D is a good metric
– Generate more uniform distribution of wires – Reduce variation and D
6
Dummy feature Reduce EPD variation, and ILD thickness variation Increase routing cost
Minimize dummy fill
[Tian, 2001]
e.g., floating dummy fill may increase the coupling capacitance up to 90% [Kahng, 2006] (ρ = EPD = effective pattern density)
Previous work and our contributions
– No CMP model used
– The metrics used have limitations
– Impact of routing on the neighboring regions not considered [Yao, 2007][Jia, 2008]
– Use accurate CMP model and metric D – Optimize dummy fill directly
7
EPD = effective pattern density (D = amount of required dummy fill)
Global routing model
– Information for nets/interconnects
– Paths on the global routing graph
dummy fill D
8
Global routing graph
Outline
9
Algorithm flow
10
Initial stage Main stage with dummy fill cost function Refinement stage with dummy fill cost function EPD postprocessing: RRR the nets passing through tiles related to ρH Layer assignment
NTHR’s flow Our flow
Initial stage Main stage Refinement stage Layer assignment
Outline
11
Big picture of cost function
– Efficient – Effective
– Linear programming used – Several minutes required to compute D
12
Wirelength Overflow Wirelength cost Congestion cost Via cost Dummy fill Dummy fill cost Φe
Objective : Cost function:
(D = amount of dummy fill)
Metric Γ: A surrogate for D
13
∑
∈
− = Γ
1
) (
Q t ij U
ij
ρ ρ
ρH ρU = ρH - ε Q1 ε
ij U
ρ ρ −
ij
ρ
Γ approximate indicator
… …
Layout 1 Layout 2
(ρ = EPD = effective pattern density)
… …
ε
(D = amount of dummy fill)
Metric Γ: A surrogate for D
– e.g., for circuit newblue2,
14
… … … … Before dummy filling After dummy filling
Γ: sum of red bars μ: sum of golden bars ν: sum of pink bars ρH ρU = ρH - ε
(D = amount of dummy fill)
A surrogate for Γ
15
v1 v2 te v1 v2 te te te
edge e
1 1 |
| c Q
H −
∆ ≥ ∆Γ ρ
(ρH = maximal effective pattern density) (D = amount of dummy fill) (Q1 = set of blue tiles) (c1 = a constant)
A surrogate for Γ
… … … …
ρH
H H
ρ ρ ∆ +
ρU
H U
ρ ρ ∆ +
Q1
( )
After routing through edge e
(ρ = EPD = effective pattern density) (D = amount of dummy fill) (Q1 = set of blue tiles)
H
ρ ∆
1 1 |
| c Q
H −
∆ ≥ ∆Γ ρ
– Purpose: constrain the increase of ρH
increase of ρH after routing through a path
Cost function
17
Weighting window We Tile tk Edge e
Cost function
in the tiles with large EPD
18
0. 0.2 0. 0.4 0. 0.6 0. 0.8 1 0. 0.5 1 1. 1.5 2 ρe/ρH
Ψ e
e
Small cost not to affect other
much
Outline
19
Experimental setup
– A 64-bit Linux machine with an Intel Core(TM)2 Duo 3.00GHz CPU and 8GB memory
– 0.13um technology – Size of weighting window 1mm – The space between the dies on the wafer is negligible
– NoCMP: the original NTHU router – MaxEPD: our algorithm – YaCMP: replacing the cost function we propose in MaxEPD by the cost function in [Yao, 2007] (our implementation)
20
Routing results
– Circuit newblue1 is difficult – Maximal overflow is 1 – The overflows can be eliminated in later stage with the reserved capacity
21
4 8 12 16 Total overflow Circuit Comparison of total overflow NoCMP YaCMP MaxEPD
Routing results
22
20 40 60 80 100 120 140 Wire length (x 1.e5) Circuit Comparison of wire length NoCMP YaCMP MaxEPD
Routing results
23
) ran( ) ran(
1
ρ ⋅ = z z
with z1=7000 Å Compared to NoCMP, reduced by 16.7% (max) and 11.1% (average); Compared to YaCMP, reduced by 13.5% (max) and 7.0% (average).
600 1200 1800 2400 3000 ran (z) (Å) Circuit Comparison of variation in post-CMP ILD thickness NoCMP YaCMP MaxEPD
Dummy fill results
– Computed using dummy filling algorithm in [Tian, 2001]
24
0.0 0.2 0.4 0.6 0.8 1.0 fillWL/minWL Circuit Fill amount normalized to NoCMP YaCMP MaxEPD
Compared to NoCMP, reduced by 41.5% (max) and 22.0% (average); Compared to YaCMP, reduced by 23.6% (max) and 14.1% (average).
2 4 6 8 10 Ratio Circuit Comparison of runtime normalized to NoCMP YaCMP MaxEPD
Routing results
25
4.66X 2.59X
– Less than 1 hour – Reasonable
Conclusion
dummy fill.
surrogate for minimizing the amount of dummy fill.
amount of dummy fill up to 41.5% with ~4x runtime overhead, compared with original router.
26
27
Algorithm flow
28
Initial stage Main stage with dummy fill cost function Refinement stage with dummy fill cost function EPD postprocessing: RRR the nets passing through tiles related to ρH Layer assignment
NTHR’s flow Our flow
Initial stage Main stage Refinement stage Layer assignment
EPD postprocessing stage
29
Find the tile tk with maximal EPD ρH Find all the 2-pin nets passing through the weighting window of tile tk Sort nets in nonincreasing order of the minimal distance of two pins to tile tk RRR the nets one by one to decrease ρH
Is ρH decreased?
Yes No
If ρH cannot be
decreased after trying all nets, this
stage stops.
Why not care about ρL
– Many choice of edges – No matter how ρL changes – No need to make efforts to increase ρL
30
> ∆
H
ρ = ∆
H
ρ