A Local Optimal Method on DSA Guiding Template Assignment with - - PowerPoint PPT Presentation

a local optimal method on dsa guiding template assignment
SMART_READER_LITE
LIVE PREVIEW

A Local Optimal Method on DSA Guiding Template Assignment with - - PowerPoint PPT Presentation

A Local Optimal Method on DSA Guiding Template Assignment with Redundant/Dummy Via Insertion Xingquan Li 1 , Bei Yu 2 , Jianli Chen 1 , Wenxing Zhu 1 , 24th Asia and South Pacific Design T h e p i c Automation Conference t u r e c a


slide-1
SLIDE 1

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

1Fuzhou University 2The Chinese University of Hong Kong

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

24th Asia and South Pacific Design Automation Conference Tokyo Japan 2019

slide-2
SLIDE 2

2

Introductions Problem Formulation Algorithm Experimental Results Conclusions

Outline

slide-3
SLIDE 3

3

Introductions Problem Formulation Algorithm Experimental Results Conclusions

Outline

slide-4
SLIDE 4

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)

slide-5
SLIDE 5

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.

slide-6
SLIDE 6

6

DSA Process

Pattern template by 193i DSA design process Guided by template

l Given a vias layout, we should assign the guiding

templates for every via.

l Guiding templates are patterned on a wafer through

  • ptical lithography.

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

slide-7
SLIDE 7

7

Guiding Templates

l 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

slide-8
SLIDE 8

8

v2 v3 v1 r3 r2 Redundant Via Insertion (RVI)

l Insert an extra via near a single via. l Prevent via failure, improve circuit yield and reliability.

v r r r r

v2

r2

v2 v3 v1

slide-9
SLIDE 9

9

Dummy Via

l

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 v3 v1 r3 r2 v2 v3 v1 r3 r2 v2 v3 v1 r3 r2 v2 v3 v1 r3 r2 v2 v3 v1 r3 r2

d1

✘ ✘

Case 1 Case 2 Case 3 Case 4

slide-10
SLIDE 10

10

Introductions Problem Formulation Algorithm Experimental Results Conclusions

Outline

slide-11
SLIDE 11

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 v6 v4 v3 v1

ds

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

slide-12
SLIDE 12

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

slide-13
SLIDE 13

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 via

l 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

slide-14
SLIDE 14

14

Introductions Problem Formulation Algorithm Experimental Results Conclusions

Outline

slide-15
SLIDE 15

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

slide-16
SLIDE 16

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

slide-17
SLIDE 17

17

Redundant/Dummy Via Candidates

l 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

slide-18
SLIDE 18

18

Building-Blocks

1 2 3 4 5 6 7 8 9

l building-block1: a original via l building-block2: a redundant via l building-block3: a original via and a redundant via l building-block4: two original vias l building-block5: two redundant vias l 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

slide-19
SLIDE 19

19

Combinations of Building-Blocks

l Combinations of building-blocks to form guiding templates

1 2 3 4 5 6 7 8 9

slide-20
SLIDE 20

20

Building-Blocks Detection & Conflict Graph

l 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 r1

v1 v1 v2 v2 v1 r1

a b d f

r1

e

v2 r1

c

Template edge

f e c d b a

Conflict edge Overlap edge

slide-21
SLIDE 21

21

Conflict Edges

l The distance between two building-blocks are less than

resolution limit space ds.

f e c d b a r1

e

v1 v2

f

v1 v1 v2 v2 v1 r1

a b d f

r1

e

v2 r1

c

v2 v1 r1

Template edge Conflict edge Overlap edge

slide-22
SLIDE 22

22

Overlap Edges

l Two building-blocks are overlapped.

f e c d b a

v1 v1 v2 v2 v1 r1

a b d f

r1

e

v2 r1

c

v2 v1 r1 v1 v2 r1

d f

Template edge Conflict edge Overlap edge

slide-23
SLIDE 23

23

Template Edges

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

a guiding template without any design error.

Template edge Conflict edge Overlap edge

f e c d b a

v1 v1 v2 v2 v1 r1

a b d f

r1

e

v2 r1

c

v2 v1 r1

v2 r1

c

v1

a

slide-24
SLIDE 24

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

slide-25
SLIDE 25

25

Constraints

E = ( EC − ET ) ∪ EO

Template edge Conflict edge Overlap edge

f e c d b a

v2 r1

c

v1

a

r1

e

v1 v2

f

v1 v2 r1

d f

✘ ✘

slide-26
SLIDE 26

26

Conflict Structure Constraint

l 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.

k l i i k l i k l

slide-27
SLIDE 27

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)

slide-28
SLIDE 28

28

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

l Transfer inequality constraints to equality constraints.

Inequality Constraints

(1) (2)

slide-29
SLIDE 29

29

Equality Constraints

(3) (2)

l Relax equality constraints to objective function.

slide-30
SLIDE 30

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)

slide-31
SLIDE 31

31

Unconstrained Nonlinear Programming (UNP)

  • 1
  • 0.8
  • 0.6
  • 0.4
  • 0.2

0.2 0.4 0.6 0.8 1 0.2 0.4 0.6 0.8 1

= 2 = 4 = 6 = 8 = 10

!" = $1, '" ≥ 0 0, '" < 0 (4) (5)

slide-32
SLIDE 32

32

UNP Solver

Wolfe-Powell inexact line search method Greedy selection method

(5)

slide-33
SLIDE 33

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.

slide-34
SLIDE 34

34

Introductions Problem Formulation Algorithm Experimental Results Conclusions

Outline

slide-35
SLIDE 35

35

Experimental Settings

l 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

slide-36
SLIDE 36

36

The Number of Vias

l The numbers of vias of benchmarks range from eight

thousand to seventy thousand.

slide-37
SLIDE 37

37

Comparison: Manufacture Rate

l 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.

  • f 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.

slide-38
SLIDE 38

38

Comparison: Insertion Rate

l Compared with “TCAD’17,” “ASPDAC’17,” and

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

slide-39
SLIDE 39

39

Comparison: Runtime

l Our algorithm is 3.99X and 13.32X faster than

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

slide-40
SLIDE 40

40

Introductions Problem Formulation Algorithm Experimental Results Conclusions

Outline

slide-41
SLIDE 41

41

Conclusions

l 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

  • ptimization method to solve the UNP, which is a local
  • ptimal algorithm.

l Experimental results verify our algorithm achieves

comparable experimental results with a state-of-the-art work, and saves 92% runtime.

slide-42
SLIDE 42

42

Handle Guiding Template Cost

l 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’)

slide-43
SLIDE 43

43

Handle Guiding Template Cost

(2’) (3’)

slide-44
SLIDE 44

44

Thank You!