high high per erfor ormance mance dummy ummy fill ins
play

High High Per erfor ormance mance Dummy ummy Fill Ins Fill - PowerPoint PPT Presentation

High High Per erfor ormance mance Dummy ummy Fill Ins Fill nser ertion ion wit ith h Coupling oupling and and Unif Unifor ormit mity Cons onstraint aints Yibo Lin, Bei Yu, David Z. Pan Electrical and Computer Engineering


  1. High High Per erfor ormance mance Dummy ummy Fill Ins Fill nser ertion ion wit ith h Coupling oupling and and Unif Unifor ormit mity Cons onstraint aints Yibo Lin, Bei Yu, David Z. Pan Electrical and Computer Engineering University of Texas at Austin

  2. Outline Ø Introduction Ø Problem Formulation Ø Algorithms Ø Experimental Results Ø Conclusion 2

  3. Chemical Mechanical Polishing (CMP) Example of CMP [source: www.ntu.edu.sg] 3

  4. Uniformity Ø Layout uniformity for CMP Uneven density distribution Metals Metals Dummy features Even distribution Ø Coupling capacitance 4

  5. Related Works Ø Minimize density variation and number of fills § Linear Programming (LP) § [Kahng+,TCAD’99] § [Tian+, TCAD’01] § [Xiang+, TCAD’08] § Monte Carlo and heuristic approaches § [Chen+, ASPDAC’00] § [Chen+, DAC’00] § [Wong+, ISQED’05] Ø Minimize density variation with coupling capacitance constraints § ILP § [Chen+, DAC’03], [Xiang+, ISPD’07] 5

  6. Holistic Metrics for Uniformity Ø Holistic metrics for layout uniformity from IBM (ICCAD 2014 Contest) § Variation (standard deviation) § Line hotspots § Outlier hotspots N Columns M Rows µ − 3 σ µ − 3 σ µ µ + 3 σ µ + 3 σ 6

  7. Holistic Metrics for Uniformity Ø Holistic metrics for layout uniformity from IBM (ICCAD 2014 Contest) § Variation (standard deviation) § Line hotspots § Outlier hotspots N Columns M Rows µ − 3 σ µ − 3 σ µ µ + 3 σ µ + 3 σ 7

  8. Metrics for Coupling Capacitance Ø Coupling capacitance § Minimize overlay between layers Overlay Layer 1 Layer 2 Layer 3 Dummy fill 8

  9. Problem Formulation Based on the ICCAD 2014 contest Ø Input § Layout with fill insertion regions § Signal wire density information across each window Ø Quality score Normalization function § Overlay area (20%) f ( x ) = max (0 , 1 − x § Variation/std. dev. (20%) β ) § Line hotspot (20%) § Outlier hotspot (15%) § File size for dummy fill insertion (5%) The highe r score, the better Ø Overall score § Quality score (80%) § Runtime (15%) § Memory usage (5%) Ø Output § Dummy fill positions and dimensions with maximum quality score 9

  10. Outline Ø Introduction Ø Problem Formulation Ø Algorithms Ø Experimental Results Ø Conclusion 10

  11. Step 1: Density Planning Ø Given density ranges of each window Ø Find target density t d for each window d 1 d 1 d 2 d 2 d 3 d 3 Ø Maximize density scores d 4 d 4 d 5 d 5 d 6 d 6 d 7 d 7 d 8 d 8 d 9 d 9 Linear scan with a small step to find best target density 11

  12. Step 1: Density Planning Ø Given density ranges of each window 0.3 0.5 0.6 Ø Find target density t d for each window Ø Maximize density scores 0.5 0.4 0.4 0.4 0.4 0.4 Linear scan with a small step to find best target density 12

  13. Step 1: Density Planning Ø Given density ranges of each window 0.3 0.5 0.6 Ø Find target density t d for each window Ø Maximize density scores 0.5 0.4 0.4 0.4 0.4 0.4 Linear scan with a small step to find best target density 13

  14. Step 1: Density Planning Ø Given density ranges of each window 0.3 0.5 0.6 Ø Find target density t d for each window Ø Maximize density scores 0.5 0.4 0.4 0.4 0.4 0.4 Linear scan with a small step to find best target density 14

  15. Step 1: Density Planning Ø Given density ranges of each window 0.3 0.5 0.6 Ø Find target density t d for each window Ø Maximize density scores 0.5 0.4 0.4 0.4 0.4 0.4 Linear scan with a small step to find best target density 15

  16. Step 1: Density Planning Ø Given density ranges of each window 0.3 0.5 0.6 Ø Find target density t d for each window Ø Maximize density scores 0.5 0.4 0.4 0.4 0.4 0.4 Linear scan with a small step to find best target density 16

  17. Step 2: Candidate Fill Generation Ø Generate candidate fills with minimum overlay Ø With the guidance of target density Ø A final fill is a rectangle within a candidate fill Candidate fill Final fill 17

  18. Step 2: Candidate Fill Generation Ø Generate candidate fills with minimum overlay Ø With the guidance of target density Ø A final fill is a rectangle within a candidate fill Layer 1 Fill Layer 2 Fill Layer 3 Fill q = − fill overlay fill area + γ · fill area window area 18

  19. Step 3: Dummy Fill Insertion (1) Given a set of candidate fills Ø Determine dimension of fills Ø Shrink in horizontal direction Under DRC constraints Ø Minimize overlay area and Ø density variation Layer 1 Fill Layer 2 Fill Solve in an iterative manner Ø Shrink in vertical direction Layer 1 Fill Layer 2 Fill 19

  20. Step 3: Dummy Fill Insertion (2) An example of the mathematical formulation in one iteration min | ( x 2 − x 1 ) · h A + ( x 4 − x 3 ) · h B – t d 1 · A win | + | ( x 6 − x 5 ) · h C − t d 2 · A win | + ( x 2 − x 5 ) · h AC + ( x 6 − x 3 ) · h BC Density variation s.t. x 2 − x 1 ≥ W min Overlay area x 4 − x 3 ≥ W min x 6 − x 5 ≥ W min DRC rules x 3 − x 2 ≥ S min ( x 2 − x 1 ) · h A ≥ A min Shrink in horizontal direction ( x 4 − x 3 ) · h B ≥ A min ( x 6 − x 5 ) · h C ≥ A min h A h B A B x 2 − x 5 ≥ 0 Overlay h AC constraints h BC x 6 − x 3 ≥ 0 C h C i = 1 , 2 , ..., 6 l i ≤ x i ≤ u i , A win : area of a window W min : minimum width S min : minimum spacing x 1 x 1 x 5 x 5 x 2 x 2 x 3 x 3 x 6 x 6 x 4 x 4 A min : minimum area 20

  21. Step 3: Dummy Fill Insertion (3) min | ( x 2 − x 1 ) · h A + ( x 4 − x 3 ) · h B – t d 1 · A win | + | ( x 6 − x 5 ) · h C − t d 2 · A win | + ( x 2 − x 5 ) · h AC + ( x 6 − x 3 ) · h BC Ø Further relax to remove absolute operation Ø Add tighter bound constraints to variables 21

  22. Step 3: Dual to Min-Cost Flow Prime Dual N X min c i x i − b 0 ij , ∞ x i i =1 j i s.t. x i − x j ≥ b ij , ( i, j ) ∈ E, l i ≤ x i ≤ u i , i = 1 , 2 , ..., N, c 0 c 0 i j x i ∈ Z ⇢ c i i = 1 , 2 , ..., N c 0 i = Ø Convert bound constraints − P N i = 0 i =1 c i to differential constraints 8 ( i, j ) ∈ E b ij Ø Dual to min-cost flow < b 0 ij = i = 1 , 2 , ..., N, j = 0 l i i = 0 , j = 1 , 2 , ..., N − u i : 22

  23. Overall Flow Initial Fill Regions Density Planning Candidate Fill Generation Density Planning Dummy Fill Insertion Output Fills 23

  24. Experimental Environment Ø Implemented in C++ Ø 8-Core 3.4GHz Linux server Ø 32GB RAM Ø ICCAD 2014 contest benchmarks 24

  25. Experimental Results Ø Compared with contest winners § Quality Scores (13% better than the 1 st place winner) § Overall Scores (10% better than the 1 st place winner) Comparison of T estcase Quality Score between Our Results and Contest T op 3 Comparison of T estcase Score between Our Results and Contest T op 3 1 1 1st 1st 2nd 2nd 3rd 3rd 0.8 0.8 ours ours 0.6 0.6 0.4 0.4 0.2 0.2 0 0 s b m s b m Quality Sores Overall Scores 25

  26. Experimental Results Ø Detailed results 26

  27. Conclusion Ø Methodology for fill optimization with holistic and multiple objectives Ø Validated on industry benchmarks § ICCAD 2014 contest benchmark Ø Future work § Lithography related impacts 27

  28. Thank you! 28

  29. Backup 1 2 Layer 1 3 Layer 2 Layer 1 Fill Layer 2 Fill 3 1 2 Layer 1 Layer 2 Layer 1 Fill Layer 2 Fill 29

  30. Backup Prime N N X X min c 0 c i x i min i y i , x i y i i =1 i =0 s.t. x i − x j ≥ b ij , ( i, j ) ∈ E, s.t. y i − y j ≥ b 0 ij , ( i, j ) ∈ E 0 , l i ≤ x i ≤ u i , i = 1 , 2 , ..., N, y i ∈ Z, x i ∈ Z where Dual x i = y i − y 0 , i = 1 , 2 , ..., N ⇢ c i i = 1 , 2 , ..., N X b 0 ij f ij , max c 0 i = − P N i = 0 i =1 c i f ij i,j 8 ( i, j ) ∈ E b ij X X f jk = − c 0 s.t. f ij − j , < b 0 i = 1 , 2 , ..., N, j = 0 ij = l i i k i = 0 , j = 1 , 2 , ..., N − u i : f ij ≥ 0 30

  31. Dual Min-cost Flow Example (1) min x 1 + 2 x 2 + 3 x 3 + 4 x 4 s.t. x 1 − x 2 ≥ 5 , Original problem x 4 − x 3 ≥ 6 , 0 ≤ x i ≤ 10 , i = 1 , 2 , 3 , 4 , x i ∈ Z, i = 1 , 2 , 3 , 4 10 f 01 + 10 f 02 + 10 f 03 + 10 f 04 − 5 f 12 − 6 f 43 , min f ij s.t. f 10 + f 20 + f 30 + f 40 − f 01 − f 02 − f 03 − f 04 = 10 , f 01 − f 10 − f 12 = − 1 , f 12 + f 02 − f 20 = − 2 , Min-cost flow problem f 43 + f 03 − f 30 = − 3 , f 04 − f 40 − f 43 = − 4 , f ij ≥ 0 , i, j = 0 , 1 , 2 , 3 , 4 31

  32. Dual Min-cost Flow Example (2) Node supply Potential y 2 , 2 y 2 , − 8 − 5 , ∞ 1 10 , ∞ 0 , ∞ 0 3 0 , ∞ 7 0 0 , ∞ y 1 , 1 y 0 , − 10 y 3 , 3 y 1 , − 3 y 0 , − 8 y 3 , − 8 0 0 10 , ∞ 10 , ∞ 10 , ∞ 0 , ∞ 0 0 4 Cost − 6 , ∞ y 4 , − 2 y 4 , 4 Capacity Flow x i = y i − y 0 , i = 1 , 2 , ..., N 32

Recommend


More recommend