a local optimal method on dsa guiding template assignment...

44
1 T h e p i c t u r e c a n 't b e d i s p l a y e d . A Local Optimal Method on DSA Guiding Template Assignment with Redundant/Dummy Via Insertion 1 Fuzhou University 2 The Chinese University of Hong Kong Xingquan Li 1 , Bei Yu 2 , Jianli Chen 1 , Wenxing Zhu 1 , 24th Asia and South Pacific Design Automation Conference Tokyo Japan 2019

Upload: others

Post on 12-May-2020

2 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: A Local Optimal Method on DSA Guiding Template Assignment ...byu/papers/C77-ASPDAC2019-RDD-slides.pdf · 1 T h e p i c t u r e c a n 't b e d i s p l a y e d. A Local Optimal Method

1

The picture can't be displayed.

A Local Optimal Method on DSA Guiding Template Assignment with Redundant/Dummy Via Insertion

1Fuzhou University2The Chinese University of Hong Kong

Xingquan Li1, Bei Yu2, Jianli Chen1, Wenxing Zhu1,

24th Asia and South Pacific Design Automation Conference

Tokyo Japan 2019

Page 2: A Local Optimal Method on DSA Guiding Template Assignment ...byu/papers/C77-ASPDAC2019-RDD-slides.pdf · 1 T h e p i c t u r e c a n 't b e d i s p l a y e d. A Local Optimal Method

2

Introductions

Problem Formulation

Algorithm

Experimental Results

Conclusions

Outline

Page 3: A Local Optimal Method on DSA Guiding Template Assignment ...byu/papers/C77-ASPDAC2019-RDD-slides.pdf · 1 T h e p i c t u r e c a n 't b e d i s p l a y e d. A Local Optimal Method

3

Introductions

Problem Formulation

Algorithm

Experimental Results

Conclusions

Outline

Page 4: A Local Optimal Method on DSA Guiding Template Assignment ...byu/papers/C77-ASPDAC2019-RDD-slides.pdf · 1 T h e p i c t u r e c a n 't b e d i s p l a y e d. A Local Optimal Method

4

Block Copolymers Directed Self-Assembly (DSA)l Block copolymer (BCP)

¾ A unique string of two types of polymer. ¾ One type of polymer is hydrophilic and another is hydrophobic.

l Nanostructures¾ Cylinders, spheres, and lamellae. ¾ The cylindrical nanostructure is suitable for patterning contacts

and vias.

(PS) (PMMA)Polymer-A Polymer-B

Cylinders(A>B)

Lamellae(A=B)

Page 5: A Local Optimal Method on DSA Guiding Template Assignment ...byu/papers/C77-ASPDAC2019-RDD-slides.pdf · 1 T h e p i c t u r e c a n 't b e d i s p l a y e d. A Local Optimal Method

5

DSA Process

DSA pattern

Guiding template

v3

v1 v2

Via Via group

Metal

l Vias are not regularly placed in practical layout.l A simple regular hole array generated by standard DSA is

not suitable for IC fabrication.l Topological template guided DSA process has been

proposed to support patterning irregularly vias layout. l Closed vias are grouped; And a guiding template is

identified for each group.

Page 6: A Local Optimal Method on DSA Guiding Template Assignment ...byu/papers/C77-ASPDAC2019-RDD-slides.pdf · 1 T h e p i c t u r e c a n 't b e d i s p l a y e d. A Local Optimal Method

6

DSA Process

Pattern templateby 193i

DSA design process

Guided bytemplate

l Given a vias layout, we should assign the guiding templates for every via.

l Guiding templates are patterned on a wafer through optical lithography.

l Each guiding template is filled with BCPs.l DSA can be controlled by thermal annealing process.

Page 7: A Local Optimal Method on DSA Guiding Template Assignment ...byu/papers/C77-ASPDAC2019-RDD-slides.pdf · 1 T h e p i c t u r e c a n 't b e d i s p l a y e d. A Local Optimal Method

7

Guiding Templatesl Pre-defined DSA pattern set to improve robust. l Within-group contact/via distance. l Complex shapes are difficult to print. l Unexpected holes and placement error of holes for

some patterns. l The distance of any two guiding templates should larger

than minimum optical resolution spacing ds.

v3

v1 v2

ds

Page 8: A Local Optimal Method on DSA Guiding Template Assignment ...byu/papers/C77-ASPDAC2019-RDD-slides.pdf · 1 T h e p i c t u r e c a n 't b e d i s p l a y e d. A Local Optimal Method

8

v2

v3v1

r3r2

Redundant Via Insertion (RVI) l Insert an extra via near a single via.l Prevent via failure, improve circuit yield and reliability.

vr

r

r

r

v2r2

v2

v3v1

Page 9: A Local Optimal Method on DSA Guiding Template Assignment ...byu/papers/C77-ASPDAC2019-RDD-slides.pdf · 1 T h e p i c t u r e c a n 't b e d i s p l a y e d. A Local Optimal Method

9

Dummy Vial Due to the characteristic of DSA, vias in a group must match some

specific patterns so that they can be assigned to the same guiding template.

l Increase the choices to form guiding templates with the help of dummy via insertion.

v2

v3v1

r3r2

v2

v3v1

r3r2

v2

v3v1

r3r2

v2

v3v1

r3r2 v2

v3v1

r3r2

d1

✓✘✘

Case 1 Case 2

Case 3

Case 4

Page 10: A Local Optimal Method on DSA Guiding Template Assignment ...byu/papers/C77-ASPDAC2019-RDD-slides.pdf · 1 T h e p i c t u r e c a n 't b e d i s p l a y e d. A Local Optimal Method

10

Introductions

Problem Formulation

Algorithm

Experimental Results

Conclusions

Outline

Page 11: A Local Optimal Method on DSA Guiding Template Assignment ...byu/papers/C77-ASPDAC2019-RDD-slides.pdf · 1 T h e p i c t u r e c a n 't b e d i s p l a y e d. A Local Optimal Method

11

DSA Guiding Template Assignment with Redundant/Dummy Via Insertion (DRDV)

l Input ¾ Post-routing layout¾ Usable DSA guiding templates¾ Optical resolution limit space

v2

v5

v6v4

v3

v1

ds

Post-routing layoutUsable DSA guiding templates

Optical resolution limit space

Page 12: A Local Optimal Method on DSA Guiding Template Assignment ...byu/papers/C77-ASPDAC2019-RDD-slides.pdf · 1 T h e p i c t u r e c a n 't b e d i s p l a y e d. A Local Optimal Method

12

DSA Guiding Template Assignment with Redundant/Dummy Via Insertion (DRDV)

l Input ¾ Post-routing layout¾ Usable DSA guiding templates¾ Optical resolution limit space

l Output ¾ Redundant via insertion for every via¾ Guiding template assignment with

suitable dummy vias for every via and redundant via

v2

v5

v6

r1

v4

v3

v1

r6

r4

r2

r3

d1

Page 13: A Local Optimal Method on DSA Guiding Template Assignment ...byu/papers/C77-ASPDAC2019-RDD-slides.pdf · 1 T h e p i c t u r e c a n 't b e d i s p l a y e d. A Local Optimal Method

13

DSA Guiding Template Assignment with Redundant/Dummy Via Insertion (DRDV)

l Input ¾ Post-routing layout¾ Usable DSA guiding templates¾ Optical resolution limit space

l Output ¾ Redundant via insertion for every via¾ Guiding template assignment with suitable dummy vias for every

via and redundant vial Constraints

¾ Inserted redundant vias should be legal¾ The spacing between neighboring guiding template should

larger than the optical resolution limit space

l Objectives ¾ Maximize the number (ratio) of inserted redundant vias¾ Maximize the number (ratio) of patterned vias by DSA

Page 14: A Local Optimal Method on DSA Guiding Template Assignment ...byu/papers/C77-ASPDAC2019-RDD-slides.pdf · 1 T h e p i c t u r e c a n 't b e d i s p l a y e d. A Local Optimal Method

14

Introductions

Problem Formulation

Algorithm

Experimental Results

Conclusions

Outline

Page 15: A Local Optimal Method on DSA Guiding Template Assignment ...byu/papers/C77-ASPDAC2019-RDD-slides.pdf · 1 T h e p i c t u r e c a n 't b e d i s p l a y e d. A Local Optimal Method

15

Solution Flow

Preprocessing

Local Optimal Solver

Initial Solution Generation

Redundant/Dummy Via Insertion with Template Assignment

Integer Linear Programming Formulation

Unconstrained Nonlinear Programming Solver

Construct Conflict Graph

DSA Guiding Template

Routing Layout

Optical resolution limit spacing ds

Find All Redundant/Dummy Via Candidates

Detect Building Blocks

Page 16: A Local Optimal Method on DSA Guiding Template Assignment ...byu/papers/C77-ASPDAC2019-RDD-slides.pdf · 1 T h e p i c t u r e c a n 't b e d i s p l a y e d. A Local Optimal Method

16

Preprocessing

Preprocessing

Local Optimal Solver

Initial Solution Generation

Redundant/Dummy Via Insertion with Template Assignment

Integer Linear Programming Formulation

Unconstrained Nonlinear Programming Solver

Construct Conflict Graph

DSA Guiding Template

Routing Layout

Optical resolution limit spacing ds

Find All Redundant/Dummy Via Candidates

Detect Building Blocks

Page 17: A Local Optimal Method on DSA Guiding Template Assignment ...byu/papers/C77-ASPDAC2019-RDD-slides.pdf · 1 T h e p i c t u r e c a n 't b e d i s p l a y e d. A Local Optimal Method

17

Redundant/Dummy Via Candidatesl Redundant via candidate

¾ It should be inserted next to every via.¾ It should not overlap with any metal wire from other nets of

wires. l Dummy via candidate

¾ It can make up a multi-hole (not less than three holes) guiding template with other vias or redundant vias.

¾ It can improve the insertion rate or manufacture rate.l Find all redundant/dummy via candidates for every via

in time O(n).

v2

v1

v2

v1

r2

r2 r1

Page 18: A Local Optimal Method on DSA Guiding Template Assignment ...byu/papers/C77-ASPDAC2019-RDD-slides.pdf · 1 T h e p i c t u r e c a n 't b e d i s p l a y e d. A Local Optimal Method

18

Building-Blocks

1 2 3 4 5 6 7 8 9

l building-block1: a original vial building-block2: a redundant vial building-block3: a original via and a redundant vial building-block4: two original viasl building-block5: two redundant viasl building-block6: a original via and a redundant via

(diagonal)l building-block7: two original vias (diagonal)l building-block8: two redundant vias (diagonal)l building-block9: six original/redundant vias

Page 19: A Local Optimal Method on DSA Guiding Template Assignment ...byu/papers/C77-ASPDAC2019-RDD-slides.pdf · 1 T h e p i c t u r e c a n 't b e d i s p l a y e d. A Local Optimal Method

19

Combinations of Building-Blocks

l Combinations of building-blocks to form guiding templates

1 2 3 4 5 6 7 8 9

Page 20: A Local Optimal Method on DSA Guiding Template Assignment ...byu/papers/C77-ASPDAC2019-RDD-slides.pdf · 1 T h e p i c t u r e c a n 't b e d i s p l a y e d. A Local Optimal Method

20

Building-Blocks Detection & Conflict Graphl Conflict graph CG (V, E )

¾vertex v∈V denotes a building-block, ¾eij∈E is an edge and E = (EC−ET)∪EO . EC , ET and EO are the

sets of conflict edges, template edges and overlap edges.

v2

v1

r1v1

v1v2v2

v1

r1a b d fr1

ev2 r1

c

Template edgef

e

cd

b

a

Conflict edgeOverlap edge

Page 21: A Local Optimal Method on DSA Guiding Template Assignment ...byu/papers/C77-ASPDAC2019-RDD-slides.pdf · 1 T h e p i c t u r e c a n 't b e d i s p l a y e d. A Local Optimal Method

21

Conflict Edgesl The distance between two building-blocks are less than

resolution limit space ds.

f

e

cd

b

ar1e

v1

v2f

v1v1

v2v2v1

r1a b d fr1

ev2 r1

c

v2

v1

r1

Template edge

Conflict edgeOverlap edge

Page 22: A Local Optimal Method on DSA Guiding Template Assignment ...byu/papers/C77-ASPDAC2019-RDD-slides.pdf · 1 T h e p i c t u r e c a n 't b e d i s p l a y e d. A Local Optimal Method

22

Overlap Edgesl Two building-blocks are overlapped.

f

e

cd

b

a

v1v1

v2v2v1

r1a b d fr1

ev2 r1

c

v2

v1

r1

v1

v2 r1df

Template edge

Conflict edgeOverlap edge

Page 23: A Local Optimal Method on DSA Guiding Template Assignment ...byu/papers/C77-ASPDAC2019-RDD-slides.pdf · 1 T h e p i c t u r e c a n 't b e d i s p l a y e d. A Local Optimal Method

23

Template Edgesl If building-blocks i and j with eij ∈ EC can be assigned to

a guiding template without any design error.

Template edge

Conflict edgeOverlap edge

f

e

cd

b

a

v1v1

v2v2v1

r1a b d fr1

ev2 r1

c

v2

v1

r1v2 r1c

v1a

Page 24: A Local Optimal Method on DSA Guiding Template Assignment ...byu/papers/C77-ASPDAC2019-RDD-slides.pdf · 1 T h e p i c t u r e c a n 't b e d i s p l a y e d. A Local Optimal Method

24

Solution Flow

Preprocessing

Local Optimal Solver

Initial Solution Generation

Redundant/Dummy Via Insertion with Template Assignment

Integer Linear Programming Formulation

Unconstrained Nonlinear Programming Solver

Construct Conflict Graph

DSA Guiding Template

Routing Layout

Optical resolution limit spacing ds

Find All Redundant/Dummy Via Candidates

Detect Building Blocks

Page 25: A Local Optimal Method on DSA Guiding Template Assignment ...byu/papers/C77-ASPDAC2019-RDD-slides.pdf · 1 T h e p i c t u r e c a n 't b e d i s p l a y e d. A Local Optimal Method

25

Constraints

E = ( EC − ET ) ∪ EO

Template edgeConflict edge Overlap edge

f

e

cd

b

a

v2 r1c

v1a

r1e

v1

v2f

v1

v2 r1df

✓✘

Page 26: A Local Optimal Method on DSA Guiding Template Assignment ...byu/papers/C77-ASPDAC2019-RDD-slides.pdf · 1 T h e p i c t u r e c a n 't b e d i s p l a y e d. A Local Optimal Method

26

Conflict Structure Constraintl Template constraint

¾ If two building-blocks i and j are connected by a template edge, then they may be assigned to the same guiding template, but not necessarily.

¾ If both of building-blocks i and l connect with k by template edges, then i, k, l may not be assigned to a same guiding template.

l Conflict structure (CS)¾ Three bblocks i, k and l, in which eik and ekl are template edges

and there does not exist any edge between i and l.

kli

i

k

l

i k l

Page 27: A Local Optimal Method on DSA Guiding Template Assignment ...byu/papers/C77-ASPDAC2019-RDD-slides.pdf · 1 T h e p i c t u r e c a n 't b e d i s p l a y e d. A Local Optimal Method

27

Integer Linear Programming (ILP)l Objectives:

¾ Maximize the number of inserted redundant vias¾ Maximize the number of patterned vias by DSA ¾ Let Nv and Nr are the numbers of included vias and redundant

vias by building-block i, and

l ILP Formulation

(1)

Page 28: A Local Optimal Method on DSA Guiding Template Assignment ...byu/papers/C77-ASPDAC2019-RDD-slides.pdf · 1 T h e p i c t u r e c a n 't b e d i s p l a y e d. A Local Optimal Method

28

l Claim 1. The ILP is equivalent to the DRDV problem.

l Transfer inequality constraints to equality constraints.

Inequality Constraints

(1)

(2)

Page 29: A Local Optimal Method on DSA Guiding Template Assignment ...byu/papers/C77-ASPDAC2019-RDD-slides.pdf · 1 T h e p i c t u r e c a n 't b e d i s p l a y e d. A Local Optimal Method

29

Equality Constraints

(3)

(2)

l Relax equality constraints to objective function.

Page 30: A Local Optimal Method on DSA Guiding Template Assignment ...byu/papers/C77-ASPDAC2019-RDD-slides.pdf · 1 T h e p i c t u r e c a n 't b e d i s p l a y e d. A Local Optimal Method

30

Adjacent Matrix & CS Tensor

!"# = %1, ("# ∈ *0, ("# ∉ * -"./ = 01, (2, 3, 4) ∈ -6

0, (2, 3, 4) ∉ -6

l Handle adjacent matrix and CS tensor.

(3)

(4)

Page 31: A Local Optimal Method on DSA Guiding Template Assignment ...byu/papers/C77-ASPDAC2019-RDD-slides.pdf · 1 T h e p i c t u r e c a n 't b e d i s p l a y e d. A Local Optimal Method

31

Unconstrained Nonlinear Programming (UNP)

-1 -0.8 -0.6 -0.4 -0.2 0 0.2 0.4 0.6 0.8 10

0.2

0.4

0.6

0.8

1 = 2 = 4 = 6 = 8 = 10

!" = $1, '" ≥ 00, '" < 0

(4)

(5)

Page 32: A Local Optimal Method on DSA Guiding Template Assignment ...byu/papers/C77-ASPDAC2019-RDD-slides.pdf · 1 T h e p i c t u r e c a n 't b e d i s p l a y e d. A Local Optimal Method

32

UNP Solver

Wolfe-Powell inexactline search method

Greedy selection method

(5)

Page 33: A Local Optimal Method on DSA Guiding Template Assignment ...byu/papers/C77-ASPDAC2019-RDD-slides.pdf · 1 T h e p i c t u r e c a n 't b e d i s p l a y e d. A Local Optimal Method

33

Local Optimal Convergence

l Lemma 1. Under above Equations, ∑i wi∆gi ≥0.

l Theorem 1. Under above Equations, f(y) does not decrease.

l Corollary 1. Strict inequality ∑i wi∆gi >0 cannot be achieved.

l Theorem 2. Our UNP solver converges to a local maximum.

Page 34: A Local Optimal Method on DSA Guiding Template Assignment ...byu/papers/C77-ASPDAC2019-RDD-slides.pdf · 1 T h e p i c t u r e c a n 't b e d i s p l a y e d. A Local Optimal Method

34

Introductions

Problem Formulation

Algorithm

Experimental Results

Conclusions

Outline

Page 35: A Local Optimal Method on DSA Guiding Template Assignment ...byu/papers/C77-ASPDAC2019-RDD-slides.pdf · 1 T h e p i c t u r e c a n 't b e d i s p l a y e d. A Local Optimal Method

35

Experimental Settingsl Platform

¾ C++ programming language¾ Unix machine with Intel Core 2.70 GHz CPU and 8 GB memory¾ ILP solver: CPLEX

l Benchmarks¾ 11 circuits are provided by Prof. Fang, modified from MCNC

benchmarks and an industry Faraday benchmarks l Algorithms

¾ TCAD’17: DSA+RVI, ILP+Speed-up¾ ASPDAC’17: DSA+RVI+DVI, ILP+Speed-up¾ TVLSI’18: DSA+RVI+DVI, Two Stage MWIS Solver ¾ Ours: DSA+RVI+DVI, UNP Solver

l Indicators ¾ Manufacture rate, insertion rate, runtime

Page 36: A Local Optimal Method on DSA Guiding Template Assignment ...byu/papers/C77-ASPDAC2019-RDD-slides.pdf · 1 T h e p i c t u r e c a n 't b e d i s p l a y e d. A Local Optimal Method

36

The Number of Viasl The numbers of vias of benchmarks range from eight

thousand to seventy thousand.

Page 37: A Local Optimal Method on DSA Guiding Template Assignment ...byu/papers/C77-ASPDAC2019-RDD-slides.pdf · 1 T h e p i c t u r e c a n 't b e d i s p l a y e d. A Local Optimal Method

37

Comparison: Manufacture Ratel Compared with “TCAD’17,” “ASPDAC’17,” and

“TVLSI’18,” our algorithm achieves 6%, 0%, and 3%improvement on manufacture rate.

[TCAD’17] S.-Y. Fang, Y.-X. Hong, and Y.-Z. Lu, “Simultaneous guiding template optimization and redundant via insertion for directed self-assembly,” IEEE TCAD, 2017.

[ASPDAC’17] C.-Y. Hung, P.-Y. Chou, and W.-K. Mak, “Optimizing DSA-MP decomposition and redundant via insertion with dummy vias”, In Proc. of ASPDAC, 2017.

[TVLSI’18] X. Li, B. Yu, J. Ou, J. Chen, D. Z. Pan and W. Zhu, “Graph based redundant via insertion and guiding template assignment for DSA-MP”, IEEE TVLSI, 2018.

Page 38: A Local Optimal Method on DSA Guiding Template Assignment ...byu/papers/C77-ASPDAC2019-RDD-slides.pdf · 1 T h e p i c t u r e c a n 't b e d i s p l a y e d. A Local Optimal Method

38

Comparison: Insertion Ratel Compared with “TCAD’17,” “ASPDAC’17,” and

“TVLSI’18,” our algorithm achieves 7%, 0%, and 2%improvement on insertion rate.

Page 39: A Local Optimal Method on DSA Guiding Template Assignment ...byu/papers/C77-ASPDAC2019-RDD-slides.pdf · 1 T h e p i c t u r e c a n 't b e d i s p l a y e d. A Local Optimal Method

39

Comparison: Runtimel Our algorithm is 3.99X and 13.32X faster than

“TCAD’17”, “ASPDAC’17”.

Page 40: A Local Optimal Method on DSA Guiding Template Assignment ...byu/papers/C77-ASPDAC2019-RDD-slides.pdf · 1 T h e p i c t u r e c a n 't b e d i s p l a y e d. A Local Optimal Method

40

Introductions

Problem Formulation

Algorithm

Experimental Results

Conclusions

Outline

Page 41: A Local Optimal Method on DSA Guiding Template Assignment ...byu/papers/C77-ASPDAC2019-RDD-slides.pdf · 1 T h e p i c t u r e c a n 't b e d i s p l a y e d. A Local Optimal Method

41

Conclusionsl We introduce a building-block based manner instead of

guiding template candidate to express solution.

l We proposed a general ILP formulation and relaxed it to an UNP. Furthermore, we develop a first-order optimization method to solve the UNP, which is a local optimal algorithm.

l Experimental results verify our algorithm achieves comparable experimental results with a state-of-the-art work, and saves 92% runtime.

Page 42: A Local Optimal Method on DSA Guiding Template Assignment ...byu/papers/C77-ASPDAC2019-RDD-slides.pdf · 1 T h e p i c t u r e c a n 't b e d i s p l a y e d. A Local Optimal Method

42

Handle Guiding Template Costl A building-block would be assigned to a guiding

template.l A guiding template composed of one or two building-

blocks.l Assign proper weights to building-block !" (∀ $ ∈ &) and

corresponding template edge '!"( (∀ )"( ∈ *+).

(1’)

Page 43: A Local Optimal Method on DSA Guiding Template Assignment ...byu/papers/C77-ASPDAC2019-RDD-slides.pdf · 1 T h e p i c t u r e c a n 't b e d i s p l a y e d. A Local Optimal Method

43

Handle Guiding Template Cost

(2’)

(3’)

Page 44: A Local Optimal Method on DSA Guiding Template Assignment ...byu/papers/C77-ASPDAC2019-RDD-slides.pdf · 1 T h e p i c t u r e c a n 't b e d i s p l a y e d. A Local Optimal Method

44

Thank You!