a unified framework for simultaneous layout decomposition
play

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


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

  2. Outline Introduction Algorithms Experimental Results Conclusion 2 / 31

  3. Outline Introduction Algorithms Experimental Results Conclusion 3 / 31

  4. VLSI Chip Design Flow System Specification Architectural Design module test input in[3]; … endmodule Functional Design and Logic Design (RTL) AND OR Logic Synthesis Physical Design DRC Physical Verification and LVS Signoff STA Fabrication Packaging and Testing Chip 3 / 31

  5. VLSI Chip Design Flow System Specification Architectural Design module test input in[3]; … endmodule Functional Design and Logic Design (RTL) AND OR Logic Synthesis Physical Design DRC Physical Verification and LVS Mask Synthesis Signoff STA Fill Optimization Layout Decomposition Fabrication … Packaging and Testing Chip 3 / 31

  6. Layout Decomposition (LD) ◮ Conflict: two features with the same color, while distance < d min d min d min (a) LELE (b) LELELE Problem Formulation Input: layout and d min Output: decomposed layout, minimizing conflict # 4 / 31

  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

  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 EPE violation Problem Formulation Input: target layout Output: refined mask, minimizing EPE violation #. 6 / 31

  9. Two-Stage Flow for Layout Optimization Target LD Two stages: ◮ Layout Decomposition (LD) ◮ Mask Optimization (MO) MO Printed Image 7 / 31

  10. Issues Target LD MO Printed Image Solution 1: #EPE Violation = 1 Solution 2: #EPE Violation = 3 8 / 31

  11. Options? ◮ Exhaustive MO for all LD solutions. - Running time overhead due to thousands of LD solutions. 6 , 000 5 , 000 4 , 000 #LD 3 , 000 2 , 000 1 , 000 0 AND2_X1 OR2_X1 NAND3_X2 OR4_X1 NOR3_X2 OAI33_X1 CELL 9 / 31

  12. Options? (cont.) ◮ Heuristic selection among LD solutions. - Local region density [Yu+,ICCAD’13]: balance the pattern density on each mask. d min - Spacing vector [Chen+,ISQED’13]: maximize minimum distance between patterns. d min - Limited effectiveness. 10 / 31

  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

  14. Outline Introduction Algorithms Experimental Results Conclusion 12 / 31

  15. Preliminaries ◮ Lithography model: - The aerial image is formed by a series of convolution operation between mask M and lithography kernel h . K � w k · | M ⊗ h k | 2 I = f optical ( M ) = k = 1 ◮ Photo-resist model - Set a threshold I th to binarize aerial image. � 1 , if I ( x , y ) ≥ I th , Z ( x , y ) = f resist ( I ) = 0 , otherwise . 12 / 31

  16. Problem Formulation LDMO: Given a target image Z t , find two masks M 1 and M 2 which can form printed image with high fidelity. M 1 , M 2 F = � Z t − Z � 2 min 2 s.t. M 1 ( x , y ) ∈ { 0 , 1 } , ∀ x , y , M 2 ( x , y ) ∈ { 0 , 1 } , ∀ x , y , K � w k · | M 1 ⊗ h k | 2 , I 1 = k = 1 K � w k · | M 2 ⊗ h k | 2 , I 2 = k = 1 Z = f resist ( I 1 ) ∨ f resist ( I 2 ) . 13 / 31

  17. Overall Flow Input Cell Layout Grid Construction Initialization N Gradient-based Mask Y Numerical Layout converge? Update Optimization Violation Detection Output Optimized Masks SDP Discrete Layout Optimization Pruning 14 / 31

  18. Overall Flow Input Cell Layout Grid Construction Initialization N Gradient-based Mask Y Numerical Layout converge? Update Optimization Violation Detection Output Optimized Masks SDP Discrete Layout Optimization Pruning 15 / 31

  19. Grid Construction ◮ Extract target pattern. ◮ Add bounding box. ◮ Construct grid. ◮ Merge grid. Merged spacing grid H V D V D Pattern grid Spacing grid D Diagonal V Vertical H Horizontal 16 / 31

  20. Overall Flow Input Cell Layout Grid Construction Initialization N Gradient-based Mask Y Numerical Layout converge? Update Optimization Violation Detection Output Optimized Masks SDP Discrete Layout Optimization Pruning 17 / 31

  21. Formulation Relaxation ◮ Relaxation on binary constraints with sigmoid function. 1 M 1 ( x , y ) ∈ { 0 , 1 } → M 1 ( x , y ) = sig ( P 1 ( x , y )) = 1 + exp [ − θ M P 1 ( x , y )] 1 Z 1 ( x , y ) = f resist ( I 1 ) → Z 1 ( x , y ) = sig ( I 1 ( x , y )) = 1 + exp [ − θ Z ( I 1 ( x , y ) − I th )] ◮ Relaxation on Z . Z = f resist ( I 1 ) ∨ f resist ( I 2 ) → Z ( x , y ) = min { Z 1 ( x , y ) + Z 2 ( x , y ) , 1 } 18 / 31

  22. Gradient-Based Optimization Algorithm 1 Gradient-Based Mask Update 1: function MaskUpdate ( P 1 , P 2 ) Initialize stepsize t ; 2: Compute the relaxed masks M 1 , M 2 ; 3: Compute Z according to current P 1 and P 2 ; 4: Compute the gradient ∇ P 1 F , ∇ P 2 F 5: P 1 ← P 1 − t × ∇ P 1 F ; 6: P 2 ← P 2 − t × ∇ P 2 F ; 7: return P 1 , P 2 , ∇ P 1 F , ∇ P 2 F ; 8: 9: end function 19 / 31

  23. Overall Flow Input Cell Layout Grid Construction Initialization N Gradient-based Mask Y Numerical Layout converge? Update Optimization Violation Detection Output Optimized Masks SDP Discrete Layout Optimization Pruning 20 / 31

  24. Violation Graph 1 2 1 2 violation edge EPE violation 3 3 Pattern grid Printed image EPE edge 4 5 4 5 (a) (b) (c)   0 0 0 0 β  1 , if v i and v j have conflict , 0 0 1 0 0       w ij = β, if v i and v j have large #EPEV , W = 0 1 0 0 0      0 0 0 0 1 0 , otherwise .    β 0 0 1 0 21 / 31

  25. Semidefinite Programming ◮ Use x = [ x 1 , x 2 , · · · , x n ] ⊺ to denote the grid assignment solution. ◮ Max-Cut: � w ij ( 1 − x i x j ) max x i ( i , j ) ∈ E s.t. x i ∈ {− 1 , 1 } , ∀ v i ∈ V Relax to Semidefinite Programming: W • X min X s.t. diag ( X ) = e , X � 0 22 / 31

  26. Semidefinite Programming (cont.) ◮ Randomized rounding [Goemans+,JACM’1995] - Obtain X ∗ by solving SDP. - Cholesky decomposition with X ∗ . X ∗ = U ⊺ U - Get x i as follows. u i is the i -th column of U and r is random unit vector. � 1 , if u ⊺ i r ≥ 0 , x i = sgn ( u ⊺ i r ) = − 1 , otherwise . 23 / 31

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

  28. Outline Introduction Algorithms Experimental Results Conclusion 25 / 31

  29. #EPE Violation Convergence Curve 70 OR2_X1 60 #EPE violations NAND4_X1 50 BUF_X1 40 30 20 10 0 0 10 20 30 40 50 60 70 #Iteration 25 / 31

  30. Comparison – EPE Violation Num 8 6 # EPEV 4 2 0 INV_X1 NOR_X1 BUF_X1 OR2_X1 AOI211_X1 ENUM+[DAC’14] [ICCAD’13]+[DAC’14] [ISQED’13]+[DAC’14] Ours 26 / 31

  31. Comparison – Runtime · 10 4 3 Runtime (s) 2 1 0 INV_X1 NOR_X1 BUF_X1 OR2_X1 AOI211_X1 ENUM+[DAC’14] [ICCAD’13]+[DAC’14] [ISQED’13]+[DAC’14] Ours 27 / 31

  32. Distribution of #EPE violations 25 15 20 Flow-2 Flow-2 & Flow-3 10 #LD #LD 15 Flow-3 10 5 Ours 5 Ours 0 0 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 10 #EPEV #EPEV (a) BUF_X1 (b) NAND4_X1 20 Flow-2 15 #LD Flow-3 10 Ours 5 0 0 2 4 6 8 10 12 #EPEV (c) OR2_X1 ◮ Flow-2 [ICCAD’13] + [DAC’14]; ◮ Flow-3 [ISQED’13] + [DAC’14]; 28 / 31

  33. Examples of Printed Image (a) [ICCAD’13] + [DAC’14]; (b) [ISQED’13] + [DAC’14]; (c) Ours. (a) (b) (c) BUF_X1 29 / 31

  34. Examples of Printed Image (a) [ICCAD’13] + [DAC’14]; (b) [ISQED’13] + [DAC’14]; (c) Ours. (a) (b) (c) (a) (b) (c) BUF_X1 OR2_X1 29 / 31

  35. Outline Introduction Algorithms Experimental Results Conclusion 30 / 31

  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

  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

  38. Yuzhe Ma ( yzma@cse.cuhk.edu.hk ) Thank You 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

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