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
Outline ! Introduction ! Problem Formulation ! Algorithms ! Experimental Results ! Conclusion 2
Chemical Mechanical Polishing (CMP) Example of CMP [source: www.ntu.edu.sg] 3
Uniformity ! Layout uniformity for CMP Uneven density distribution Metals Metals Dummy features Even distribution ! Coupling capacitance 4
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
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
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
Metrics for Coupling Capacitance ! Coupling capacitance " Minimize overlay between layers Overlay Layer 1 Layer 2 Layer 3 Dummy fill 8
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
Outline ! Introduction ! Problem Formulation ! Algorithms ! Experimental Results ! Conclusion 10
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
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
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
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
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
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
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
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
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
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
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
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
Overall Flow Initial Fill Regions Density Planning Candidate Fill Generation Density Planning Dummy Fill Insertion Output Fills 23
Experimental Environment ! Implemented in C++ ! 8-Core 3.4GHz Linux server ! 32GB RAM ! ICCAD 2014 contest benchmarks 24
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
Experimental Results ! Detailed results 26
Conclusion ! Methodology for fill optimization with holistic and multiple objectives ! Validated on industry benchmarks " ICCAD 2014 contest benchmark ! Future work " Lithography related impacts 27
Thank you! 28
Recommend
More recommend