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

Recommend


More recommend