High High Per erfor ormance mance Dummy ummy Fill Ins Fill - - PowerPoint PPT Presentation

high high per erfor ormance mance dummy ummy fill ins
SMART_READER_LITE
LIVE PREVIEW

High High Per erfor ormance mance Dummy ummy Fill Ins Fill - - PowerPoint PPT Presentation

High High Per erfor ormance mance Dummy ummy Fill Ins Fill nser ertion ion wit ith h Coupling oupling and and Unif Unifor ormit mity Cons onstraint aints Yibo Lin, Bei Yu, David Z. Pan Electrical and Computer Engineering


slide-1
SLIDE 1

Yibo Lin, Bei Yu, David Z. Pan Electrical and Computer Engineering University of Texas at Austin

High High Per erfor

  • rmance

mance Dummy ummy Fill Fill Ins nser ertion ion wit ith h Coupling

  • upling

and and Unif Unifor

  • rmit

mity Cons

  • nstraint

aints

slide-2
SLIDE 2

Outline

! Introduction ! Problem Formulation ! Algorithms ! Experimental Results ! Conclusion

2

slide-3
SLIDE 3

Chemical Mechanical Polishing (CMP)

3

Example of CMP [source: www.ntu.edu.sg]

slide-4
SLIDE 4

Uniformity

! Layout uniformity for CMP ! Coupling capacitance

4

Metals Metals Dummy features

Uneven density distribution Even distribution

slide-5
SLIDE 5

Related Works

! Minimize density variation and number of fills

" Linear Programming (LP)

" [Kahng+,TCAD’99] " [Tian+, TCAD’01] " [Xiang+, TCAD’08]

" Monte Carlo and heuristic approaches

" [Chen+, ASPDAC’00] " [Chen+, DAC’00] " [Wong+, ISQED’05] ! Minimize density variation with coupling

capacitance constraints

" ILP

" [Chen+, DAC’03], [Xiang+, ISPD’07]

5

slide-6
SLIDE 6

Holistic Metrics for Uniformity

! Holistic metrics for layout uniformity from IBM

(ICCAD 2014 Contest)

" Variation (standard deviation) " Line hotspots " Outlier hotspots

6

N Columns M Rows

µ µ + 3σ µ + 3σ µ − 3σ µ − 3σ

slide-7
SLIDE 7

Holistic Metrics for Uniformity

! Holistic metrics for layout uniformity from IBM

(ICCAD 2014 Contest)

" Variation (standard deviation) " Line hotspots " Outlier hotspots

7

N Columns M Rows

µ µ + 3σ µ + 3σ µ − 3σ µ − 3σ

slide-8
SLIDE 8

Metrics for Coupling Capacitance

! Coupling capacitance

" Minimize overlay between layers

8

Layer 1 Layer 2 Layer 3

Overlay Dummy fill

slide-9
SLIDE 9

Problem Formulation

Based on the ICCAD 2014 contest

! Input

" Layout with fill insertion regions " Signal wire density information across each window

! Quality score

" Overlay area (20%) " Variation/std. dev. (20%) " Line hotspot (20%) " Outlier hotspot (15%) " File size for dummy fill insertion (5%)

! Overall score

" Quality score (80%) " Runtime (15%) " Memory usage (5%)

! Output

" Dummy fill positions and dimensions with maximum quality score

9

f(x) = max (0, 1 − x β )

Normalization function The higher score, the better

slide-10
SLIDE 10

Outline

! Introduction ! Problem Formulation ! Algorithms ! Experimental Results ! Conclusion

10

slide-11
SLIDE 11

Step 1: Density Planning

11

Linear scan with a small step to find best target density

d1 d1 d2 d2 d3 d3 d4 d4 d5 d5 d6 d6 d7 d7 d8 d8 d9 d9

! Given density ranges of each window ! Find target density td for each window ! Maximize density scores

slide-12
SLIDE 12

Step 1: Density Planning

12

Linear scan with a small step to find best target density

0.3 0.5 0.6 0.5 0.4 0.4 0.4 0.4 0.4

! Given density ranges of each window ! Find target density td for each window ! Maximize density scores

slide-13
SLIDE 13

Step 1: Density Planning

13

Linear scan with a small step to find best target density

0.3 0.5 0.6 0.5 0.4 0.4 0.4 0.4 0.4

! Given density ranges of each window ! Find target density td for each window ! Maximize density scores

slide-14
SLIDE 14

Step 1: Density Planning

14

Linear scan with a small step to find best target density

0.3 0.5 0.6 0.5 0.4 0.4 0.4 0.4 0.4

! Given density ranges of each window ! Find target density td for each window ! Maximize density scores

slide-15
SLIDE 15

Step 1: Density Planning

15

Linear scan with a small step to find best target density

0.3 0.5 0.6 0.5 0.4 0.4 0.4 0.4 0.4

! Given density ranges of each window ! Find target density td for each window ! Maximize density scores

slide-16
SLIDE 16

Step 1: Density Planning

16

Linear scan with a small step to find best target density

0.3 0.5 0.6 0.5 0.4 0.4 0.4 0.4 0.4

! Given density ranges of each window ! Find target density td for each window ! Maximize density scores

slide-17
SLIDE 17

Step 2: Candidate Fill Generation

! Generate candidate fills with minimum overlay ! With the guidance of target density ! A final fill is a rectangle within a candidate fill

17

Candidate fill Final fill

slide-18
SLIDE 18

Step 2: Candidate Fill Generation

! Generate candidate fills with minimum overlay ! With the guidance of target density ! A final fill is a rectangle within a candidate fill

18

Layer 1 Fill Layer 2 Fill Layer 3 Fill

q = −fill overlay fill area + γ · fill area window area

slide-19
SLIDE 19

Step 3: Dummy Fill Insertion (1)

19

Layer 1 Fill Layer 2 Fill Layer 1 Fill Layer 2 Fill

Shrink in horizontal direction Shrink in vertical direction

!

Given a set of candidate fills

!

Determine dimension of fills

!

Under DRC constraints

!

Minimize overlay area and density variation

!

Solve in an iterative manner

slide-20
SLIDE 20

B A C

x1

x1

x2

x2

x3

x3

x4

x4

x5

x5

x6

x6

min |(x2 − x1) · hA + (x4 − x3) · hB–td1 · Awin| + |(x6 − x5) · hC − td2 · Awin| + (x2 − x5) · hAC + (x6 − x3) · hBC s.t. x2 − x1 ≥ Wmin x4 − x3 ≥ Wmin x6 − x5 ≥ Wmin x3 − x2 ≥ Smin (x2 − x1) · hA ≥ Amin (x4 − x3) · hB ≥ Amin (x6 − x5) · hC ≥ Amin x2 − x5 ≥ 0 x6 − x3 ≥ 0 li ≤ xi ≤ ui, i = 1, 2, ..., 6

Step 3: Dummy Fill Insertion (2)

20

Shrink in horizontal direction Density variation Overlay area DRC rules Overlay constraints

Awin: area of a window Wmin: minimum width Smin: minimum spacing Amin: minimum area

hA hC hB

hAC hBC

An example of the mathematical formulation in one iteration

slide-21
SLIDE 21

Step 3: Dummy Fill Insertion (3)

21

min |(x2 − x1) · hA + (x4 − x3) · hB–td1 · Awin| + |(x6 − x5) · hC − td2 · Awin| + (x2 − x5) · hAC + (x6 − x3) · hBC

! Further relax to remove absolute operation ! Add tighter bound constraints to variables

slide-22
SLIDE 22

Step 3: Dual to Min-Cost Flow

! Convert bound constraints

to differential constraints

! Dual to min-cost flow

22

min

xi N

X

i=1

cixi s.t. xi − xj ≥ bij, (i, j) ∈ E, li ≤ xi ≤ ui, i = 1, 2, ..., N, xi ∈ Z

c0

i =

⇢ ci i = 1, 2, ..., N − PN

i=1 ci

i = 0 b0

ij =

8 < : bij (i, j) ∈ E li i = 1, 2, ..., N, j = 0 −ui i = 0, j = 1, 2, ..., N

i j −b0

ij, ∞

c0

i

c0

j

Prime Dual

slide-23
SLIDE 23

Overall Flow

23

Initial Fill Regions Density Planning Candidate Fill Generation Output Fills Density Planning Dummy Fill Insertion

slide-24
SLIDE 24

Experimental Environment

! Implemented in C++ ! 8-Core 3.4GHz Linux server ! 32GB RAM ! ICCAD 2014 contest benchmarks

24

slide-25
SLIDE 25

Experimental Results

! Compared with contest winners

" Quality Scores (13% better than the 1st place winner) " Overall Scores (10% better than the 1st place winner)

25

0.2 0.4 0.6 0.8 1 s b m Comparison of T estcase Quality Score between Our Results and Contest T

  • p 3

1st 2nd 3rd

  • urs

0.2 0.4 0.6 0.8 1 s b m Comparison of T estcase Score between Our Results and Contest T

  • p 3

1st 2nd 3rd

  • urs

Quality Sores Overall Scores

slide-26
SLIDE 26

Experimental Results

! Detailed results

26

slide-27
SLIDE 27

Conclusion

! Methodology for fill optimization with holistic and

multiple objectives

! Validated on industry benchmarks

" ICCAD 2014 contest benchmark

! Future work

" Lithography related impacts

27

slide-28
SLIDE 28

Thank you!

28