coupling-constrained dummy fill for density gradient minimization

18
NTUEE 1 Coupling-Constrained Dummy Fill for Density Gradient Minimization Huang-Yu Chen 1 , Szu-Jui Chou 2 , and Yao-Wen Chang 1 1 National Taiwan University, Taiwan 2 Synopsys, Inc, Taiwan

Upload: hyatt-burt

Post on 04-Jan-2016

36 views

Category:

Documents


0 download

DESCRIPTION

Coupling-Constrained Dummy Fill for Density Gradient Minimization. Huang-Yu Chen 1 , Szu-Jui Chou 2 , and Yao-Wen Chang 1. 1 National Taiwan University, Taiwan. 2 Synopsys, Inc, Taiwan. Metals. Metals. Dummies. Dummy Fill. - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: Coupling-Constrained Dummy Fill for Density Gradient Minimization

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

Page 2: Coupling-Constrained Dummy Fill for Density Gradient Minimization

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

Page 3: Coupling-Constrained Dummy Fill for Density Gradient Minimization

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!

Page 4: Coupling-Constrained Dummy Fill for Density Gradient Minimization

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

Page 5: Coupling-Constrained Dummy Fill for Density Gradient Minimization

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

Page 6: Coupling-Constrained Dummy Fill for Density Gradient Minimization

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

Page 7: Coupling-Constrained Dummy Fill for Density Gradient Minimization

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

Page 8: Coupling-Constrained Dummy Fill for Density Gradient Minimization

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

Page 9: Coupling-Constrained Dummy Fill for Density Gradient Minimization

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

Page 10: Coupling-Constrained Dummy Fill for Density Gradient Minimization

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

Page 11: Coupling-Constrained Dummy Fill for Density Gradient Minimization

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

Page 12: Coupling-Constrained Dummy Fill for Density Gradient Minimization

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)

Page 13: Coupling-Constrained Dummy Fill for Density Gradient Minimization

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

Page 14: Coupling-Constrained Dummy Fill for Density Gradient Minimization

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

Page 15: Coupling-Constrained Dummy Fill for Density Gradient Minimization

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

Page 16: Coupling-Constrained Dummy Fill for Density Gradient Minimization

NTUEE 16

Comparison of S5378 Layer 1 Filling Results

CDF algorithm [TCAD’08]

Ours

Page 17: Coupling-Constrained Dummy Fill for Density Gradient Minimization

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

Page 18: Coupling-Constrained Dummy Fill for Density Gradient Minimization

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

[email protected]