NTUEE 1 Coupling-Constrained Dummy Fill for Density Gradient Minimization Huang-Yu Chen 1, Szu-Jui...
-
Upload
gillian-ward -
Category
Documents
-
view
223 -
download
0
Transcript of NTUEE 1 Coupling-Constrained Dummy Fill for Density Gradient Minimization Huang-Yu Chen 1, Szu-Jui...
NTUEE 1
Coupling-Constrained Dummy Fill for Density Gradient Minimization
Huang-Yu Chen1, Szu-Jui Chou2, and Yao-Wen Chang1
1National Taiwan University, Taiwan
2Synopsys, Inc, Taiwan
NTUEE 2
Dummy Fill
․ Dummy fill is a general method to achieve layout uniformity before CMP (chemical-mechanical polishing)
․ Two objectives for dummy fill: (1) minimize induced coupling capacitancecoupling capacitance of dummies(2) minimize density gradientdensity gradient of metal density
Metals DummiesMetals
smaller density gradientlarger density gradient
NTUEE 3
Previous Work: CDF Algorithm
Slot partition by endpoints of segments
A layoutslots 1 2 3 4 5 6
Coupling-free fill regions identification
for each slot
Filling max # of dummies into these regions
․ CDF Algorithm presented in [Xiang et al. TCAD’08]
Do not consider density gradient!
Use too many dummies!
NTUEE 4
Our Algorithm Flow
CDF [TCAD’08]
Density gradient-driven dummy fill
LayoutCoupling
constraints
Fill result
․ After identifying fill regions by the CDF algorithm, transform a slot-based layout into a tile-based one
․ Use density gradient-driven dummy fill
slot-based
tile-based
Slot-to-tile conversion
NTUEE 5
Tile Density Bounds Computation
․ Compute bounds satisfying both coupling and foundry density rules
․ Tile density lower bound Bl = max{Fl, Ds}
․ Tile density upper bound Bu = min{Fu, Dc} Fl,Fu: foundry density lower and upper bound rules
Ds: segment density
Dc: segment density + maximum dummy density in fill regions
Fl = 2/16 (12.5%), Fu = 8/16 (50%)Ds = 3/16, Dc = 9/16(Bl, Bu) = (3/16, 8/16)
segment
dummydummy (Bl, Bu) guarantees no coupling
and density rule violations in the following stages
NTUEE 6
Multilevel Dummy Density Analysis
cf. sliding window• avoid the ordering problem• reduce the discretization gap• obtain a better global view
cf. sliding window• avoid the ordering problem• reduce the discretization gap• obtain a better global view
Coarsening Uncoarsening
G0
G1
G2 G2
G1
G0Metal Density
Low
High
(1) Gradient minimization by Gaussian smoothing(2) Density bounds update level by level
(1) Density extraction(2) Density bounds update level by level
NTUEE 7
Multilevel Dummy Density Analysis
0.23 0.29 0.28
0.26 0.30 0.32
0.22 0.25 0.28
0.23 0.28 0.25
0.29 0.25 0.30
0.18 0.23 0.23
0.1 0.2 0.3
0.2 0.2 0.2
0.1 0.1 0.3
G0
0.26 0.30 0.31
0.28 0.30 0.32
0.27 0.30 0.31
0.2 0.2 0.3
0.2 0.2 0.3
0.2 0.2 0.3
0.27 0.28 0.28
0.29 0.29 0.30
0.26 0.27 0.28
0.30 0.31 0.31
0.32 0.32 0.33
0.29 0.30 0.31
0.28 0.28 0.38
0.28 0.28 0.38
0.28 0.28 0.38
Gradient minimization
Average
Density extraction
G1
G2 G2
G1
G0
Coarsening Uncoarsening
NTUEE 8
Coarsening: Gradient Minimization
․ Gaussian smoothing at tile Dc(x,y): original density g(x,y): weighting function =
․ Gaussian smoothing opens up a new direction for gradient minimization
2 2
2 2
ˆ ˆ1 ( ) ( )exp( )
2 2
x x y y
)y,x( ˆˆ
Gaussian smoothing
(σ=1.0)
0.24
0.1 0.40.1
0.2 0.40.4
0.3 0.30.2
0.2
0.3
0.2
0.3
0.2
0.1
0.1 0.10.2 0.1 0.3
0.2 0.20.4 0.3 0.4
Dc(x,y)
ˆ ˆ ( , ) ( , )cD x y g x y(x,y)de
nsi
ty
den
sity
x y x y
NTUEE 9
Coarsening: Tile Density Bounds Update
Dc(x,y) after Gaussian smoothing
0.2 0.2 0.3
0.2 0.2 0.3
0.2 0.2 0.3
0.4 0.4 0.4
0.4 0.4 0.4
0.4 0.4 0.4
0.1 0.1 0.1
0.1 0.1 0.1
0.1 0.1 0.1
Bu(x,y)
Bl(x,y) prune the value larger (smaller) than Bu (Bl)
G0 0.23
0.33
0.13
Bu
Bl
=0.23+min{Bu(x,y) -Dc(x,y)}=0.23+(0.4-0.3)
=0.23-min{Dc(x,y) -Bl(x,y)}=0.23-(0.2-0.1)
G1
NTUEE 10
Uncoarsening: Density Extraction
0.23 0.29 0.28
0.26 0.30 0.32
0.22 0.25 0.28
0.23 0.28 0.25
0.29 0.25 0.30
0.18 0.23 0.23
0.1 0.2 0.3
0.2 0.2 0.2
0.1 0.1 0.3
0.2 0.2 0.3
0.2 0.2 0.3
0.2 0.2 0.3
0.27 0.28 0.28
0.29 0.29 0.30
0.26 0.27 0.28
Gradient minimization
Average
Density extraction
+0.03
+0.08
G0
G1
G2
0.28 0.28 0.38
0.28 0.28 0.38
0.28 0.28 0.38
G0
G1
0.30 0.31 0.31
0.32 0.32 0.33
0.29 0.30 0.31
0.26 0.30 0.31
0.28 0.30 0.32
0.27 0.30 0.31
G2
NTUEE 11
ILP-based Dummy Number Assignment
․ Optimally insert minimal # of dummies to satisfy the desirable tile density dd in a tile
․ For the tile with n fill regions R1,…,Rn,
niur
aadraaad
r
ii
n
i diid
n
i i
,,1,2
1
2
1subject to
minimize
1 maxmax
1
ri: # of dummies in Ri
dd: dummy density of tilea: tile areaai: area of one dummy in Ri
amax: max {ai}ui: max # of dummies in Ri
R1 R2
u1=5a1=3
u2=3a2=4
amax=4
NTUEE 12
Experimental Setting
․ Programming language: C++
․ Workstation: 2.0 GHz AMD-64 with 8GB memory
․ ILP solver: lp_solve
․ Parameters Window size=3 × 3 Gaussian smoothing: σ=1.0 Foundry density lower and upper bounds: 20% and 80%
․ Test cases: MCNC and industrial Faraday benchmarks
․ Comparison with the CDF algorithm [TCAD’08] for all layers and layer 1
Metal density Neighboring density difference (density gradient)
NTUEE 13
․ Inserted dummy count is only 59% compared with CDF algorithm
․ Timing overhead is only 4%
Runtime and Inserted Dummy Counts
CircuitCDF Ours
#Dummy Time (s) #Dummy Time (s)
Mcc1 1262100 160 413735 171
Mcc2 20117831 7249 6414418 7292
Struct 8996228 45 6849275 72
Primary1 7081135 32 4210902 52
Primary2 2.5E+07 428 19140968 489
S5378 269876 21 120440 22
S9234 230173 14 106434 16
S13207 657840 78 341652 76
S15850 721298 99 344549 102
S38417 2100467 329 1033157 336
S38584 2460061 517 1207341 526
Dma 284700 67 166574 100
Dsp1 1371351 290 741346 329
Dsp2 941447 189 562385 230
Risc1 4251368 252 2463637 312
Risc2 5291254 396 3400666 446
Comp. 1.00 1.00 0.59 1.04
NTUEE 14
․ The standard deviations are reduced by 55% and 49% among all layers and of layer 1, respectively
Statistics of Metal Density (MCNC)
Circuit
CDF Analysis Algorithm Ours
Density among Layers Density of Layer 1 Density among Layers Density of Layer 1
Avg. Max Std. Avg. Max Std. Avg. Max Std. Avg. Max Std.
Mcc134.49
%58.94
%9.31%
30.86%
47.61%
7.05%20.52
%47.84
%4.52%
21.10%
41.54%
4.46%
Mcc236.14
%55.51
%5.61%
33.59%
52.81%
4.26%22.40
%54.48
%4.17%
23.20%
49.80%
4.12%
Struct22.63
%33.70
%5.08%
16.55%
27.79%
2.26%18.68
%5.19% 1.98%
16.32%
19.99%
1.58%
Primary122.62
%34.10
%10.41
%19.39
%34.10
%9.95%
16.87%
9.10% 7.18%16.33
%20.46
%7.55%
Primary222.35
%33.43
%3.65%
18.50%
23.74%
1.21%19.39
%10.09
%1.12%
18.42%
19.99%
1.06%
S537827.37
%40.15
%3.84%
27.10%
36.95%
3.28%19.93
%30.29
%0.67%
19.81%
25.92%
0.45%
S923428.30
%48.00
%4.97%
27.90%
40.80%
3.62%20.06
%30.80
%1.02%
19.79%
21.60%
0.31%
S1320726.90
%38.60
%3.43%
25.90%
33.60%
2.19%20.36
%28.90
%1.32%
19.93%
25.54%
0.28%
S1585026.80
%38.60
%3.05%
26.30%
33.30%
2.19%20.23
%30.00
%1.06%
19.91%
21.57%
0.09%
S3841726.80
%36.40
%2.37%
25.80%
30.80%
1.38%20.10
%32.10
%0.76%
19.96%
20.00%
0.01%
S3858426.36
%32.91
%1.94%
25.90%
32.82%
1.53%20.04
%28.42
%0.49%
19.96%
19.99%
0.01%
Comp. 1.00 1.00 1.00 1.00 1.00 1.00 0.73 0.76 0.45 0.77 0.73 0.51
NTUEE 15
․ The standard deviations are reduced by 26% and 54% among all layers and of layer 1, respectively
․ Overall comparison (MCNC+Faraday)
Statistics of Metal Density (Faraday)
Circuit
CDF Analysis Algorithm Ours
Density among Layers Density of Layer 1 Density among Layers Density of Layer 1
Avg. Max Std. Avg. Max Std. Avg. Max Std. Avg. Max Std.
Dma 22.72% 88.73% 18.0% 23.19% 61.92% 24.0%18.72
%71.40
%14.8% 9.34%
23.51%
9.6%
Dsp1 18.64% 73.20% 17.4% 22.32% 55.81% 22.6%14.52
%55.07
%12.8%
10.25%
22.12%
10.2%
Dsp2 19.73% 74.17% 17.5% 24.04% 51.61% 24.2%14.95
%60.49
%12.3% 9.38%
42.34%
9.4%
Risc1 18.53% 66.18% 17.3% 21.67% 54.15% 21.5%13.98
%58.11
%12.2%
10.35%
42.61%
10.2%
Risc2 17.05% 72.91% 16.0% 16.21% 43.34% 15.7%13.52
%50.65
%11.5%
10.47%
40.52%
10.0%
Comp. 1.00 1.00 1.00 1.00 1.00 1.00 0.78 0.79 0.74 0.46 0.64 0.46
Circuit
CDF Analysis Algorithm Ours
Density among Layers Density of Layer 1 Density among Layers Density of Layer 1
Avg. Max Std. Avg. Max Std. Avg. Max Std. Avg. Max Std.
Comp. 1.00 1.00 1.00 1.00 1.00 1.00 0.74 0.77 0.63 0.69 0.69 0.47
NTUEE 16
Comparison of S5378 Layer 1 Filling Results
CDF algorithm [TCAD’08]
Ours
NTUEE 17
Conclusions and Future Work
․ Presented an effective and efficient dummy fill algorithm considering both gradient minimization and coupling constraints
Reduced 37% std. of metal density among all layers Saved 41% dummy counts
․ Gaussian smoothing is effective for gradient-minimization dummy fill
Point out a new research direction on this topic
․ Future work: integration of gradient minimization and coupling constraints
NTUEE 18
Conclusions and Future Work
․ A dummy fill algorithm considering both gradient minimization and coupling constraints
․ Achieve more balanced metal density distribution with fewer dummy features and an acceptable timing overhead
․ Future work: integration of gradient minimization and coupling constraints
Simultaneously minimize the gradient and the coupling capacitance
Thank You!
Huang-Yu Chen