Triple/Quadruple Patterning Layout Decomposition via Novel Linear - - PowerPoint PPT Presentation

triple quadruple patterning layout decomposition via
SMART_READER_LITE
LIVE PREVIEW

Triple/Quadruple Patterning Layout Decomposition via Novel Linear - - PowerPoint PPT Presentation

The picture can't be displayed. Triple/Quadruple Patterning Layout Decomposition via Novel Linear Programming and Iterative Rounding Yibo Lin 1 , Xiaoqing Xu 1 , Bei Yu 2 , Ross Baldick 1 , David Z. Pan 1 1 ECE Department, University of Texas at


slide-1
SLIDE 1 The picture can't be displayed.

1

Yibo Lin1, Xiaoqing Xu1, Bei Yu2, Ross Baldick1, David Z. Pan1

1ECE Department, University of Texas at Austin 2CSE Department, Chinese University of Hong Kong

Triple/Quadruple Patterning Layout Decomposition via Novel Linear Programming and Iterative Rounding

This work is supported in part by NSF and SRC

slide-2
SLIDE 2 The picture can't be displayed.

Outline

  • Introduction
  • A New Framework for Layout Decomposition
  • ILP à LP relaxation with iterative rounding
  • Experimental Results
  • Conclusion

2

slide-3
SLIDE 3 The picture can't be displayed.

Triple Patterning Lithography (TPL)

  • An example of TPL conflict graph and

decomposition

  • Layout decomposition is a fundamental problem

for multiple patterning

3

b a c d e

1st mask 2nd mask 3rd mask

slide-4
SLIDE 4 The picture can't be displayed.Quadruple Patterning Lithography (QPL)
  • An example of QPL layout decomposition

(coloring) and conflict graph

4

b a c d e

1st mask 2nd mask 3rd mask 4th mask

slide-5
SLIDE 5 The picture can't be displayed.

Stitch Insertion

  • Stitch may be inserted to resolve conflict
  • However, strongly discouraged due to

misalignment and yield loss

  • In this work, we do not allow stitch insertion

5

b

a1

c d e

a2

slide-6
SLIDE 6 The picture can't be displayed.

Current State of MPL Decomposition

  • ILP or SAT: [Cork+, SPIE’08], [Yu+, ICCAD’11], [Cork+, SPIE’13]
  • Greedy or heuristic: [Ghaida+, SPIE’11], [Fang+, DAC’12],

[Kuang+, DAC’13], [Fang+, SPIE’14]

  • SDP or graph search: [Yu+, ICCAD’11], [Chen+, ISQED’13],

[Yu+, ICCAD’13], [Yu+, DAC’14]

6

CPU runtime Conflict # ILP: Good performance but expensive Greedy or heuristic: Fast but bad quality SDP or graph search: Tradeoff

[Yu+, SPIE’14]

slide-7
SLIDE 7 The picture can't be displayed.

Major Contributions of This Work

  • A new layout decomposition framework for TPL/QPL
  • ILP à novel linear programming (LP) based algorithm

with iterative rounding scheme

  • An odd-cycle based technique to enhance LP solution

quality (which can be better mapped to ILP solution)

  • Our experiments obtain comparable quality cf.

previous state-of-the-art, but are 26x to 600x faster than ILP, and 1.8x to 2.6x faster than SDP

7

slide-8
SLIDE 8 The picture can't be displayed.Problem Formulation

l Input

  • Uncolored layout patterns
  • Minimum coloring distance !"
  • Number of colors available (TPL or QPL)

l Output

  • Decomposed layout with color assignment for each pattern
  • TPL/QPL friendliness
  • Stitch insertion is not allowed

8

slide-9
SLIDE 9 The picture can't be displayed.

Initial ILP Formulation

  • Represent color with two binary variables

9

i j (xi1, xi2) (xj1, xj2) xi1, xi2, xj1, xj2 ∈ {0, 1} (xi1, xi2) → color (0, 0) → 0 (0, 1) → 1 (1, 0) → 2 (1, 1) → 3 xi1 + xi2 ≤ 1 Additional constraint for TPL xi1 + xi2 + xj1 + xj2 ≥ 1

(0, 0) (0, 0)

xi1 + (1 − xi2) + xj1 + (1 − xj2) ≥ 1

(0, 1) (0, 1)

slide-10
SLIDE 10 The picture can't be displayed.

ILP Formulation

  • The goal is to meet all the constraints

10

min Objective (1a) s.t. xi1 + xi2 ≤ 1, (1b) xi1 + xi2 + xj1 + xj2 ≥ 1, ∀eij ∈ Ec, (1c) xi1 + ¯ xi2 + xj1 + ¯ xj2 ≥ 1, ∀eij ∈ Ec, (1d) ¯ xi1 + xi2 + ¯ xj1 + xj2 ≥ 1, ∀eij ∈ Ec, (1e) ¯ xi1 + ¯ xi2 + ¯ xj1 + ¯ xj2 ≥ 1, ∀eij ∈ Ec, (1f) ¯ xi1 = 1 − xi1, ∀i ∈ V, (1g) ¯ xi2 = 1 − xi2, ∀i ∈ V, (1h) xi1, xi2 ∈ {0, 1}, ∀i ∈ V. (1i)

Only for TPL

slide-11
SLIDE 11 The picture can't be displayed.

LP Relaxation

  • Relax integer to continuous variables

11

min Objective (1a) s.t. xi1 + xi2 ≤ 1, (1b) xi1 + xi2 + xj1 + xj2 ≥ 1, ∀eij ∈ Ec, (1c) xi1 + ¯ xi2 + xj1 + ¯ xj2 ≥ 1, ∀eij ∈ Ec, (1d) ¯ xi1 + xi2 + ¯ xj1 + xj2 ≥ 1, ∀eij ∈ Ec, (1e) ¯ xi1 + ¯ xi2 + ¯ xj1 + ¯ xj2 ≥ 1, ∀eij ∈ Ec, (1f) ¯ xi1 = 1 − xi1, ∀i ∈ V, (1g) ¯ xi2 = 1 − xi2, ∀i ∈ V, (1h) xi1, xi2 ∈ {0, 1}, ∀i ∈ V. (1i) 0 ≤ xi1, xi2 ≤ 1, ∀i ∈ V

slide-12
SLIDE 12 The picture can't be displayed.

LPIR

  • Linear programming and iterative rounding (LPIR)
  • Non-integer solutions
  • Fewer non-integers mean closer to optimal solutions of ILP
  • Prune non-integer solutions in the feasible set

12

(0.5,0.5)

Reduce non-integers

slide-13
SLIDE 13 The picture can't be displayed.

Simple Observation

  • Suppose !"# = !%# = 0

13

i j (xi1, xi2) (xj1, xj2) xi1 + xi2 + xj1 + xj2 ≥ 1, ∀eij ∈ Ec, (1c) xi1 + ¯ xi2 + xj1 + ¯ xj2 ≥ 1, ∀eij ∈ Ec, (1d) ¯ xi1 + xi2 + ¯ xj1 + xj2 ≥ 1, ∀eij ∈ Ec, (1e) ¯ xi1 + ¯ xi2 + ¯ xj1 + ¯ xj2 ≥ 1, ∀eij ∈ Ec, (1f) ¯ xi1 = 1 − xi1, ∀i ∈ V, (1g) ¯ xi2 = 1 − xi2, ∀i ∈ V (1h) xi2 + xj2 = 1

The second bits must be different

slide-14
SLIDE 14 The picture can't be displayed.

Non-integers along Odd Cycles

  • Consider the constraints along an odd cycle
  • Suppose !"# = !%# = !&# = !'# = !(# = 0

14

k i j m l

(0,0) (0,1) (0,0) (0,1) (0,0)

k i j m l

(0,0) (1,1) (0,1) (0,0) (0,1)

xi2 = xj2 = xk2 = xl2 = xm2 = 0.5 xi2 + xj2 = 1, xj2 + xk2 = 1, xk2 + xl2 = 1, xm2 + xi2 = 1

k i j m l

slide-15
SLIDE 15 The picture can't be displayed.

LPIR – Add Odd Cycle Constraints

  • Additional constraints
  • Prune non-integer solutions from feasible set

15

s.t. xi1 + xj1 + xk1 + xl1 + xm1 ≥ 1, (1 − xi1) + (1 − xj1) + (1 − xk1) + (1 − xl1) + (1 − xm1) ≥ 1

Help resolve potential non-integers in the second bits

k i j m l (xk1, xk2) (xl1, xl2) (xm1, xm2) (xi1, xi2) (xj1, xj2)

slide-16
SLIDE 16 The picture can't be displayed.

LPIR – Objective Function Biasing

  • Push non-integer solutions to integers by

dynamically adapting the objective function

  • If !" = 0.6, it means !" tends to be 1
  • If !" = 0.4, it means !" tends to be 0

16

Cannot handle (0.5, 0.5)

If xi > 0.5, obj ← obj + (1 − xi). If xi < 0.5, obj ← obj + xi.

slide-17
SLIDE 17 The picture can't be displayed.

LPIR – Binding Constraints Analysis

  • Try to handle !"#, !"% = (0.5, 0.5)

17

Sic Sic Si1 Si1 Si2 Si2 Constraint set for xi1 xi1 Constraint set for xi2 xi2

i xi1 = 0.5 xi1 = 0.5 xi2 = 0.5 xi2 = 0.5

. . . + xi1 + . . . ≤ c1 . . . + xi1 + . . . ≤ c1 . . . + xi1 + . . . ≤ c2 . . . + xi1 + . . . ≤ c2 . . . + xi1 + . . . ≤ c3 . . . + xi1 + . . . ≤ c3 . . . + xi1 + . . . ≤ c4 . . . + xi1 + . . . ≤ c4 Si1 Si1 . . . + xi2 + . . . ≥ c5 . . . + xi2 + . . . ≥ c5 . . . + xi2 + . . . ≥ c6 . . . + xi2 + . . . ≥ c6 . . . + xi2 + . . . ≥ c7 . . . + xi2 + . . . ≥ c7 . . . + xi2 + . . . ≥ c8 . . . + xi2 + . . . ≥ c8 Si2 Si2 . . . + xi1 + xi2 + . . . ≤ c9 . . . + xi1 + xi2 + . . . ≤ c9 . . . + xi1 − xi2 + . . . ≥ c10 . . . + xi1 − xi2 + . . . ≥ c10 . . . + xi1 + xi2 + . . . ≥ c11 . . . + xi1 + xi2 + . . . ≥ c11 Sic Sic

Try pushing !"# to 0 Try pushing !"% to 1 Check !"#, !"% = (0, 1)

slide-18
SLIDE 18 The picture can't be displayed.

Graph Simplification – Iterative Vertex Removal

  • Iterative vertex removal
  • Density aware recovery

18

3 2 4 1 5 3 2 4 1 5 1 3 2 4 1 5 1 2 3 2 4 1 5 1 2 3 4 5

slide-19
SLIDE 19 The picture can't be displayed.

Graph Simplification: Bi-connected Component Extraction

  • Color recovery
  • Color rotation on each component

19

3 2 4 1 5 6 8 7

3’

4 5

4’

6 8 7 3 2 1

b a c

3 2 4 1 5 6 8 7

Color rotation is needed

slide-20
SLIDE 20 The picture can't be displayed.

Final Coloring Results Graph Simplification Generate Simplified Components Kernel Coloring - LPIR Vertex Color Recovery Construct Conflict Graph Input Layout

Overall Flow

20

Binding Constraint Analysis LP Relaxation Add additional constraints and objective biasing Solving LP Non-integer reduced? N Y Simplified Component Colored Component ILP with objective = 0 Detect non-integer bits

slide-21
SLIDE 21 The picture can't be displayed.

Experimental Environment Setup

  • Implemented in C++
  • 8-Core 3.4GHz Linux server
  • 32GB RAM
  • ISCAS benchmark from [Yu+, TCAD’15]
  • LP solver Gurobi was used

21

slide-22
SLIDE 22 The picture can't be displayed.

Experimental Results on TPL

22

TPL conflict# TPL runtime Baseline 1: ILP [Yu+, TCAD’15] Baseline 2: SDP [Yu+, TCAD’15] LPIR achieves almost the same conflict numbers as ILP and SDP, but 26x faster than ILP and 1.8x faster than SDP

slide-23
SLIDE 23 The picture can't be displayed.

Experimental Results on QPL

23

QPL conflict# QPL runtime Baseline 1: ILP [Yu+, DAC’14] Baseline 2: SDP [Yu+, DAC’14] LPIR achieves less than 2% degradation in conflict numbers than SDP, but 600x faster than ILP and 2.6x faster than SDP

ILP failed to finish

slide-24
SLIDE 24 The picture can't be displayed.

Conclusion

  • This paper proposes a new layout decomposition

framework for TPL/QPL

  • Novel linear programming (LP) based algorithm with

iterative rounding

  • Odd-cycle based pruning technique to enhance LP quality
  • Very good results cf. previous state-of-the-art decomposer
  • Future work
  • Lithography impacts (e.g., hotspots) from different

decomposition solutions

  • Decomposition friendliness from early design stages like

placement and routing

24

slide-25
SLIDE 25 The picture can't be displayed.

Thanks!

25