A Unified Framework for Simultaneous Layout Decomposition and Mask - - PowerPoint PPT Presentation

a unified framework for simultaneous layout decomposition
SMART_READER_LITE
LIVE PREVIEW

A Unified Framework for Simultaneous Layout Decomposition and Mask - - PowerPoint PPT Presentation

A Unified Framework for Simultaneous Layout Decomposition and Mask Optimization Yuzhe Ma 1 , Jhih-Rong Gao 2 , Jian Kuang 2 , Jin Miao 2 , Bei Yu 1 1 The Chinese University of Hong Kong 2 Cadence Design Systems 1 / 31 Outline Introduction


slide-1
SLIDE 1

A Unified Framework for Simultaneous Layout Decomposition and Mask Optimization

Yuzhe Ma1, Jhih-Rong Gao2, Jian Kuang2, Jin Miao2, Bei Yu1

1The Chinese University of Hong Kong 2Cadence Design Systems

1 / 31

slide-2
SLIDE 2

Outline

Introduction Algorithms Experimental Results Conclusion

2 / 31

slide-3
SLIDE 3

Outline

Introduction Algorithms Experimental Results Conclusion

3 / 31

slide-4
SLIDE 4

VLSI Chip Design Flow

System Specification Architectural Design Functional Design and Logic Design (RTL) Logic Synthesis Physical Design Physical Verification and Signoff Fabrication Packaging and Testing Chip

module test input in[3]; … endmodule

AND OR

DRC LVS STA 3 / 31

slide-5
SLIDE 5

VLSI Chip Design Flow

System Specification Architectural Design Functional Design and Logic Design (RTL) Logic Synthesis Physical Design Physical Verification and Signoff Fabrication Packaging and Testing Chip

module test input in[3]; … endmodule

AND OR

DRC LVS STA

Mask Synthesis Fill Optimization Layout Decomposition …

3 / 31

slide-6
SLIDE 6

Layout Decomposition (LD)

◮ Conflict: two features with the same color, while distance < dmin dmin

(a) LELE

dmin

(b) LELELE

Problem Formulation

Input: layout and dmin Output: decomposed layout, minimizing conflict #

4 / 31

slide-7
SLIDE 7

Mask Optimization (MO)

◮ The quality of printed image may be poor due to the diffraction effect of the light. ◮ Optical Proximity Correction(OPC): Refine the mask to compensate the diffraction

effect.

◮ Method for OPC:

  • rule-based [Park+,ISQED’2010];
  • model-based [Kuang+,DATE’2015][Su+,TCAD’2016];
  • inverse lithography technique [Gao+,DAC’2014].

5 / 31

slide-8
SLIDE 8

Mask Optimization (cont.)

◮ Edge Placement Error (EPE): Geometric displacement between the image contour and

the edge of target image on the layout.

◮ EPE Violation: The perpendicular displacement is greater than an EPE threshold

value. Target contour Printed image Measure point EPE violation EPE

Problem Formulation

Input: target layout Output: refined mask, minimizing EPE violation #.

6 / 31

slide-9
SLIDE 9

Two-Stage Flow for Layout Optimization

Two stages:

◮ Layout Decomposition (LD) ◮ Mask Optimization (MO)

Target LD MO Printed Image

7 / 31

slide-10
SLIDE 10

Issues

Target LD MO Printed Image

Solution 1: #EPE Violation = 1 Solution 2: #EPE Violation = 3

8 / 31

slide-11
SLIDE 11

Options?

◮ Exhaustive MO for all LD solutions.

  • Running time overhead due to thousands of LD solutions.

AND2_X1 OR2_X1 NAND3_X2 OR4_X1 NOR3_X2 OAI33_X1

1,000 2,000 3,000 4,000 5,000 6,000

CELL #LD

9 / 31

slide-12
SLIDE 12

Options? (cont.)

◮ Heuristic selection among LD solutions.

  • Local region density [Yu+,ICCAD’13]: balance the pattern density on each mask.

dmin

  • Spacing vector [Chen+,ISQED’13]: maximize minimum distance between patterns.

dmin

  • Limited effectiveness.

10 / 31

slide-13
SLIDE 13

Motivation

How about combining LD and MO together?

Target LDMO

◮ It is an open problem. ◮ It is expected to be more effective and more efficient.

11 / 31

slide-14
SLIDE 14

Outline

Introduction Algorithms Experimental Results Conclusion

12 / 31

slide-15
SLIDE 15

Preliminaries

◮ Lithography model:

  • The aerial image is formed by a series of convolution operation between mask M and

lithography kernel h.

I = foptical(M) =

K

  • k=1

wk · |M ⊗ hk|2

◮ Photo-resist model

  • Set a threshold Ith to binarize aerial image.

Z(x, y) = fresist(I) =

  • 1, if I(x, y) ≥ Ith,

0, otherwise.

12 / 31

slide-16
SLIDE 16

Problem Formulation

LDMO: Given a target image Zt, find two masks M1 and M2 which can form printed image with high fidelity.

min

M1,M2 F = Zt − Z2 2

s.t. M1(x, y) ∈ {0, 1}, ∀x, y, M2(x, y) ∈ {0, 1}, ∀x, y, I1 =

K

  • k=1

wk · |M1 ⊗ hk|2, I2 =

K

  • k=1

wk · |M2 ⊗ hk|2, Z = fresist(I1) ∨ fresist(I2).

13 / 31

slide-17
SLIDE 17

Overall Flow

Output Optimized Masks Discrete Layout Optimization Numerical Layout Optimization Grid Construction SDP Pruning Initialization

Gradient-based Mask Update

Violation Detection Y N

converge?

Input Cell Layout

14 / 31

slide-18
SLIDE 18

Overall Flow

Output Optimized Masks Discrete Layout Optimization Numerical Layout Optimization Grid Construction SDP Pruning Initialization

Gradient-based Mask Update

Violation Detection Y N

converge?

Input Cell Layout

15 / 31

slide-19
SLIDE 19

Grid Construction

◮ Extract target pattern. ◮ Add bounding box. ◮ Construct grid. ◮ Merge grid.

V V H D D Pattern grid Spacing grid V H D Horizontal Vertical Diagonal

Merged spacing grid 16 / 31

slide-20
SLIDE 20

Overall Flow

Output Optimized Masks Discrete Layout Optimization Numerical Layout Optimization Grid Construction SDP Pruning Initialization

Gradient-based Mask Update

Violation Detection Y N

converge?

Input Cell Layout

17 / 31

slide-21
SLIDE 21

Formulation Relaxation

◮ Relaxation on binary constraints with sigmoid function.

M1(x, y) ∈ {0, 1} → M1(x, y) = sig(P1(x, y)) = 1 1 + exp[−θMP1(x, y)] Z1(x, y) = fresist(I1) → Z1(x, y) = sig(I1(x, y)) = 1 1 + exp[−θZ(I1(x, y) − Ith)]

◮ Relaxation on Z.

Z = fresist(I1) ∨ fresist(I2) → Z(x, y) = min{Z1(x, y) + Z2(x, y), 1}

18 / 31

slide-22
SLIDE 22

Gradient-Based Optimization

Algorithm 1 Gradient-Based Mask Update

1: function MaskUpdate(P1, P2) 2:

Initialize stepsize t;

3:

Compute the relaxed masks M1, M2;

4:

Compute Z according to current P1 and P2;

5:

Compute the gradient ∇P1F, ∇P2F

6:

P1 ← P1 − t × ∇P1F;

7:

P2 ← P2 − t × ∇P2F;

8:

return P1,P2, ∇P1F, ∇P2F;

9: end function

19 / 31

slide-23
SLIDE 23

Overall Flow

Output Optimized Masks Discrete Layout Optimization Numerical Layout Optimization Grid Construction SDP Pruning Initialization

Gradient-based Mask Update

Violation Detection Y N

converge?

Input Cell Layout

20 / 31

slide-24
SLIDE 24

Violation Graph

EPE violation Pattern grid Printed image

1 2 3 4 5

(a) (b)

violation edge EPE edge

1 3 2 4 5

(c)

wij =      1, if vi and vj have conflict, β, if vi and vj have large #EPEV, 0,

  • therwise.

W =       β 1 1 1 β 1      

21 / 31

slide-25
SLIDE 25

Semidefinite Programming

◮ Use x = [x1, x2, · · · , xn]⊺ to denote the grid assignment solution. ◮ Max-Cut:

max

xi

  • (i,j)∈E

wij(1 − xixj) s.t. xi ∈ {−1, 1}, ∀vi ∈ V Relax to Semidefinite Programming: min

X

W • X s.t. diag(X) = e, X 0

22 / 31

slide-26
SLIDE 26

Semidefinite Programming (cont.)

◮ Randomized rounding [Goemans+,JACM’1995]

  • Obtain X∗ by solving SDP.
  • Cholesky decomposition with X∗.

X∗ = U⊺U

  • Get xi as follows. ui is the i-th column of U and r is random unit vector.

xi = sgn(u⊺

i r) =

  • 1, if u⊺

i r ≥ 0,

−1, otherwise.

23 / 31

slide-27
SLIDE 27

Pruning

◮ Obtain multiple solutions by randomized

rounding.

◮ Efficient pruning. Solve SDP Get N solutions by randomize rounding Discarded half of solutions Return the solution to numerical optimization flow Gradient-based mask update Only one left? N Y

24 / 31

slide-28
SLIDE 28

Outline

Introduction Algorithms Experimental Results Conclusion

25 / 31

slide-29
SLIDE 29

#EPE Violation Convergence Curve

10 20 30 40 50 60 70 10 20 30 40 50 60 70

#Iteration #EPE violations

OR2_X1 NAND4_X1 BUF_X1

25 / 31

slide-30
SLIDE 30

Comparison – EPE Violation Num

INV_X1 NOR_X1 BUF_X1 OR2_X1 AOI211_X1

2 4 6 8

# EPEV ENUM+[DAC’14] [ICCAD’13]+[DAC’14] [ISQED’13]+[DAC’14] Ours

26 / 31

slide-31
SLIDE 31

Comparison – Runtime

INV_X1 NOR_X1 BUF_X1 OR2_X1 AOI211_X1

1 2 3 ·104

Runtime (s) ENUM+[DAC’14] [ICCAD’13]+[DAC’14] [ISQED’13]+[DAC’14] Ours

27 / 31

slide-32
SLIDE 32

Distribution of #EPE violations

0 1 2 3 4 5 6 7 8 9 5 10 15

Flow-2 & Flow-3 Ours

#EPEV #LD

(a) BUF_X1

0 1 2 3 4 5 6 7 8 9 10 5 10 15 20 25

Flow-3 Flow-2 Ours

#EPEV #LD

(b) NAND4_X1

2 4 6 8 10 12 5 10 15 20

Flow-3 Flow-2 Ours

#EPEV #LD

(c) OR2_X1

◮ Flow-2 [ICCAD’13] + [DAC’14]; ◮ Flow-3 [ISQED’13] + [DAC’14];

28 / 31

slide-33
SLIDE 33

Examples of Printed Image

(a) [ICCAD’13] + [DAC’14]; (b) [ISQED’13] + [DAC’14]; (c) Ours.

(a) (b) (c) BUF_X1

29 / 31

slide-34
SLIDE 34

Examples of Printed Image

(a) [ICCAD’13] + [DAC’14]; (b) [ISQED’13] + [DAC’14]; (c) Ours.

(a) (b) (c) BUF_X1 (a) (b) (c) OR2_X1

29 / 31

slide-35
SLIDE 35

Outline

Introduction Algorithms Experimental Results Conclusion

30 / 31

slide-36
SLIDE 36

Conclusion

◮ A unified framework is proposed for solving LDMO problem. ◮ Two collaborative flows are designed:

◮ A gradient-based numerical optimization ◮ A set of discrete optimization.

◮ Effectiveness and efficiency are verified.

30 / 31

slide-37
SLIDE 37

Conclusion

◮ A unified framework is proposed for solving LDMO problem. ◮ Two collaborative flows are designed:

◮ A gradient-based numerical optimization ◮ A set of discrete optimization.

◮ Effectiveness and efficiency are verified.

Future Exploration

  • More advanced lithography process, e.g., triple patterning lithography.
  • More optimization targets, such as process variation band.

30 / 31

slide-38
SLIDE 38

Thank You

Yuzhe Ma (yzma@cse.cuhk.edu.hk) Jhih-Rong Gao (jgao@cadence.com) Jian Kuang (jkuang@cadence.com) Jin Miao (jmiao@cadence.com) Bei Yu (byu@cse.cuhk.edu.hk)

31 / 31