a high performance triple patterning layout decomposer
play

A High-Performance Triple Patterning Layout Decomposer with Balanced - PowerPoint PPT Presentation

A High-Performance Triple Patterning Layout Decomposer with Balanced Density Bei Yu 1 Yen-Hung Lin 2 Gerard Luk-Pat 3 Duo Ding 4 Kevin Lucas 3 David Z. Pan 1 1 ECE Dept., University of Texas at Austin 3 Synopsys Inc. 2 CS Dept., National Chiao Tung


  1. A High-Performance Triple Patterning Layout Decomposer with Balanced Density Bei Yu 1 Yen-Hung Lin 2 Gerard Luk-Pat 3 Duo Ding 4 Kevin Lucas 3 David Z. Pan 1 1 ECE Dept., University of Texas at Austin 3 Synopsys Inc. 2 CS Dept., National Chiao Tung University 4 Oracle Corp. Austin 1 / 25

  2. Triple Patterning Lithography (TPL) ITRS roadmap 28nm single-patterning 20nm double-patterning 14nm triple-patterning / EUV 10nm quadruple-patterning / EUV d min stitch 2 / 25

  3. TPL Decomposition Works – ILP or SAT [Cork+,SPIE’08][Yu+,ICCAD’11][Cork+,SPIE’13] – Graph Search for Row based Layout [Tian+, ICCAD’12][Tian+,SPIE’13] – Heuristic [Ghaida+,SPIE’11][Fang+,DAC’12][Chen,ISQED’13] [Kuang+,DAC’13][Tang+,Patent’13] – Semidefinite Programming (SDP) (trade-off) [Yu+, ICCAD’11][Yu+,ICCAD’13] 3 / 25

  4. ◮ Global Balanced Density? b 1 b 1 4 / 25

  5. ◮ Global Balanced Density? b 1 b 1 ◮ Local Balanced Density! b 3 b 4 b 3 b 4 b 1 b 2 b 1 b 2 4 / 25

  6. Overall Flow Input Layout Local Bins Info Graphs Construction and Simplification Density Balanced Color Assignment Density Balanced Recovery Output Masks 5 / 25

  7. Overall Flow Input Layout Local Bins Info b 3 b 4 Graphs Construction and Simplification Density Balanced Color Assignment b 1 b 2 Density Balanced Recovery Output Masks 5 / 25

  8. Overall Flow Input Layout Local Bins Info Graphs Construction and Simplification a d c Density Balanced Color Assignment Density Balanced Recovery Output Masks 5 / 25

  9. Overall Flow Input Layout Local Bins Info Graphs Construction and b Simplification a d c Density Balanced Color Assignment Density Balanced Recovery Output Masks 5 / 25

  10. Overall Flow Input Layout Local Bins Info d 1 a 1 b Graphs Construction and Simplification c a 2 d 2 Density Balanced Color Assignment Density Balanced Recovery a a Stitch candidate generation [Kuang+,DAC’13] Output Masks 5 / 25

  11. Overall Flow Input Layout Local Bins Info d 1 a 1 Graphs Construction and b Simplification c Density Balanced Color Assignment a 2 d 2 Density Balanced Recovery Output Masks 5 / 25

  12. Overall Flow Input Layout Local Bins Info d 1 a 1 Graphs Construction and b Simplification c Density Balanced Color Assignment a 2 d 2 Density Balanced Recovery Output Masks 5 / 25

  13. Overall Flow Input Layout Local Bins Info stitch Graphs Construction and Simplification Density Balanced Color Assignment Density Balanced Recovery Output Masks 5 / 25

  14. Input Layout Local Bins Info Graphs Construction and Simplification Density Balanced Color Assignment Density Balanced Recovery Output Masks 6 / 25

  15. Problem Formulation Local density uniformity in bin b k DU k = d k 1 · d k 2 + d k 1 · d k 3 + d k 2 · d k 3 Lemma: Maximizing DU k can achieve better density balance. Density Balanced Color Assignment Input Graph model Output Color Assignment to the graph Objective min conflict#, stitch#, and max DU k 7 / 25

  16. Color representation 1 √ 3 (- , ) ◮ Three unit vectors [Yu+,ICCAD’11] 2 2 ◮ same color: � v i · � v j = 1 (1, 0) ◮ different color: � v i · � v j = − 1 / 2 √ 3 1 (- ,- ) 2 2 Our Vector Programming � � � ( � v i · � v j ) − α ( � v i · � v j ) − β · DU k min e ij ∈ CE e ij ∈ SE b k ∈ B √ √ v i ∈ { ( 1 , 0 ) , ( − 1 2 ) , ( − 1 3 3 s.t . � 2 , 2 , − 2 ) } � DU k = − den ki · den kj · ( � v i · � v j ) ∀ b k ∈ B i , j ∈ V den ki : density of feature r i in bin b k 8 / 25

  17. Relax to Semidefinite Programming (SDP) SDP: min A • X X ii = 1 , ∀ i ∈ V X ij ≥ − 1 2 , ∀ e ij ∈ CE X � 0 � 1 + β · � k den ki · den kj , ∀ b k ∈ B , e ij ∈ CE A ij = − α + β · � k den ki · den kj , ∀ b k ∈ B , e ij ∈ SE β · � k den ki · den kj , otherwise Output matrix X : ◮ If X ij close to 1, i , j same color ◮ If X ij close to -0.5, i , j different colors 9 / 25

  18. Mapping: From SDP to Color Assignment   1 . 0 0 . 43 − 0 . 5 0 . 21 − 0 . 5 0 . 15 1 5 1 . 0 − 0 . 5 − 0 . 5 0 . 15 0 . 95   1 . 0 − 0 . 5 − 0 . 5 − 0 . 5 3   X =   1 . 0 0 . 21 − 0 . 5   1 . 0 0 . 43  . . .  2 6 1 . 0 4 10 / 25

  19. Mapping: From SDP to Color Assignment   1 . 0 0 . 43 − 0 . 5 0 . 21 − 0 . 5 0 . 15 1 5 1 . 0 − 0 . 5 − 0 . 5 0 . 15 0 . 95   1 . 0 − 0 . 5 − 0 . 5 − 0 . 5 3   X =   1 . 0 0 . 21 − 0 . 5   1 . 0 0 . 43  . . .  2 6 1 . 0 4 1 5 ◮ Greedy may lose optimality 3 ◮ 0.95? 0.43? 2 6 4 10 / 25

  20. Mapping: 3-Way Max-Cut   1 . 0 0 . 43 − 0 . 5 0 . 21 − 0 . 5 0 . 15 1 5 1 . 0 − 0 . 5 − 0 . 5 0 . 15 0 . 95   1 . 0 − 0 . 5 − 0 . 5 − 0 . 5 3   X =   1 . 0 0 . 21 − 0 . 5   . . . 1 . 0 0 . 43   2 6 1 . 0 4 1 1 ◮ Smaller merged graph 1 3 1 5 ◮ 3-Way Max-Cut -0.1 1 2 -0.1 ◮ FM Heuristic v.s. Search 4 2 2+6 11 / 25

  21. Mapping: Extend to Density Balance d 1 a 1 a 1 (20) 1 b 1 b(5) 1 d 1 (15) c -0.1 1 a 2 d 2 2 -0.1 2 c (5) a2+d2 (100) 12 / 25

  22. Mapping: Extend to Density Balance d 1 a 1 a 1 (20) 1 b 1 b(5) 1 d 1 (15) c -0.1 1 a 2 d 2 2 -0.1 2 c (5) a 2 +d 2 (100) 12 / 25

  23. Input Layout Local Bins Info ◮ Implement techniques Graphs Construction and [Yu+,ICCAD’11] Simplification [Fang+,DAC’12] [Kuang+,DAC’13] Density Balanced Color Assignment ◮ 3 new techniques ◮ Integrate density balance Density Balanced Recovery Output Masks 13 / 25

  24. Fast Color Assignment Trial ◮ Iteratively remove vertex with: 1 5 ◮ Conflict degree < 3 ◮ Stitch degree < 2 3 ◮ Linear runtime 2 6 ◮ Keep conflict # optimality 4 Stack 14 / 25

  25. Fast Color Assignment Trial ◮ Iteratively remove vertex with: 1 5 ◮ Conflict degree < 3 ◮ Stitch degree < 2 3 ◮ Linear runtime 2 6 1 ◮ Keep conflict # optimality 4 Stack 14 / 25

  26. Fast Color Assignment Trial ◮ Iteratively remove vertex with: 1 5 ◮ Conflict degree < 3 ◮ Stitch degree < 2 3 ◮ Linear runtime 2 2 6 1 ◮ Keep conflict # optimality 4 Stack 14 / 25

  27. Fast Color Assignment Trial ◮ Iteratively remove vertex with: 1 5 ◮ Conflict degree < 3 ◮ Stitch degree < 2 3 4 ◮ Linear runtime 2 2 6 1 ◮ Keep conflict # optimality 4 Stack 14 / 25

  28. Fast Color Assignment Trial ◮ Iteratively remove vertex with: 1 5 ◮ Conflict degree < 3 ◮ Stitch degree < 2 3 4 ◮ Linear runtime 2 2 6 1 ◮ Keep conflict # optimality 4 Stack 14 / 25

  29. Fast Color Assignment Trial ◮ Iteratively remove vertex with: 1 5 ◮ Conflict degree < 3 ◮ Stitch degree < 2 3 ◮ Linear runtime 2 2 6 1 ◮ Keep conflict # optimality 4 Stack 14 / 25

  30. Fast Color Assignment Trial ◮ Iteratively remove vertex with: 1 5 ◮ Conflict degree < 3 ◮ Stitch degree < 2 3 ◮ Linear runtime 2 6 1 ◮ Keep conflict # optimality 4 Stack 14 / 25

  31. Fast Color Assignment Trial ◮ Iteratively remove vertex with: 1 5 ◮ Conflict degree < 3 ◮ Stitch degree < 2 3 ◮ Linear runtime 2 6 ◮ Keep conflict # optimality 4 Stack 14 / 25

  32. Cut Vertex Stitch Forbiddance a 1 a a a 2 Figure : Cut Computation [Fang+,DAC’12] 15 / 25

  33. Cut Vertex Stitch Forbiddance a 1 a a a 2 Figure : Cut Computation [Fang+,DAC’12] d d1 d2 b b c c b c b c a a a1 a2 e e f f e e f f g2 g g1 15 / 25

  34. Cut Vertex Stitch Forbiddance a 1 a a a 2 Figure : Cut Computation [Fang+,DAC’12] d d1 d2 b b c c b c b c a a a e e f f e e f f g2 g g1 15 / 25

  35. Cut Vertex Stitch Forbiddance a 1 a a a 2 Figure : Cut Computation [Fang+,DAC’12] d1 d d1 d2 d2 b c b b c c b c b c DG1 a a a a a' DG2 e e f f e e f f e f g2 g2 g g1 g1 15 / 25

  36. Vertex Clustering e d2 e b b a+d1 a d1 c d2 c (a) (b) 16 / 25

  37. Experimental Results– Setup ◮ Using C++ on 3.0GHz Linux machine ◮ CSDP as SDP solver ◮ Benchmarks ◮ ISCAS benchmarks from [Yu+,ICCAD’11] ◮ Two OpenSPARC T1 benchmarks mul top and exu ecc ◮ Six dense benchmarks c9 total – s5 total 17 / 25

  38. With or Without Density Balance? 250 [w/o. balance] 200 [w. balance] 150 EPE value 100 50 0 C1,355 C1,908 C2,670 C3,540 C5,315 C6,288 S1,488 C432 C499 C880 1,400 1,200 1,000 [w/o. balance] EPE value [w. balance] 800 600 400 200 7 2 4 0 2 1 3 8 5 0 5 4 9 5 8 5 , , , , 8 5 8 5 , 7 3 3 3 1 C S S S S ◮ Considering balance, -14% EPE# ◮ EPE: Edge placement error 18 / 25

  39. With or Without Density Balance? (cont.) 2 [w/o. balance] [w. balance] 2 2 1 0 0 C1,355 C1,908 C2,670 C3,540 C5,315 C7,552 S1,488 C432 C499 C880 50 [w/o. balance] 40 [w. balance] 30 20 10 0 S38,417 S35,932 S38,584 S15,850 C6,288 ◮ Considering balance, +4% cost penalty ◮ Cost = conflict# + 0.1 stitch# 19 / 25

Download Presentation
Download Policy: The content available on the website is offered to you 'AS IS' for your personal information and use only. It cannot be commercialized, licensed, or distributed on other websites without prior consent from the author. To download a presentation, simply click this link. If you encounter any difficulties during the download process, it's possible that the publisher has removed the file from their server.

Recommend


More recommend