The picture can't be displayed. Stitch Aware Detailed Placement for Multiple E-Beam Lithography Yibo Lin 1 , Bei Yu 2 , Yi Zou 1,3 , Zhuo Li 4 , Charles J. Alpert 4 , and David Z. Pan 1 1 ECE Department, University of Texas at Austin 2 CSE Department, Chinese University of Hong Kong 3 CEAS Department, Nanjing University 4 Cadenace Design Systems, Inc. This work is supported in part by NSF and SRC 1
Outline The picture can't be displayed. Introduction • Previous Work • Problem Formulation • Stitch Aware Detailed Placement • Experimental Results • Conclusion • 2
Introduction The picture can't be displayed. • Technology Scaling [Courtesy ITRS] 3
E-Beam Lithography The picture can't be displayed. • Direct-write or mask? [Courtesy E-beam Initiative] 4
Multiple E-Beam Lithography The picture can't be displayed. • Massively-Parallel e-beam writing • Each stripe has width of 50~200 microns • Stitching region has a width around 15nm [Berg+,SPIE’11] • Field stitching Stripes Field MAPPER Lithography System [Fang+,DAC’13] 5
Field Stitching The picture can't be displayed. • SEM figures showing stitches at boundaries of beam stripes Stitching Regions Stitching Regions Holes Lines 6
Previous Work The picture can't be displayed. • Stitch aware routing for MEBL • [Fang+,DAC’13], [Liu+,TCAD’15] • TPL aware placement • [Yu+,TCAD’15], [Kuang+,TVLSI’15], [Chien+,TCAD’15] • [Tian+,ICCAD’14], [Lin+,ISPD’15] • TPL applies different constraint to placement from MEBL • No placement algorithm addressing MEBL stitch constraint yet 7
Stitch Errors The picture can't be displayed. • Defects on vias and vertical wires • Defects on short polygons [Fang+,DAC2013] 8
Stitch Errors within Standard Cell The picture can't be displayed. Resolve stitch errors by proper placement 9
Dangerous Site Representation The picture can't be displayed. • A cell is divided into sites (poly pitch) • Sites that contain susceptible segments are marked as “dangerous sites” Dangerous Sites 10
displayed. Problem Formulation The picture can't be l Input Initial placement • Dangerous site information for each standard cell (precomputed) • l Output New placement with optimized wirelength and minimum stitch • errors MEBL friendliness • 11
displayed. Single Row Placement & Previous Work The picture can't be l Given a set of ordered cells c 1 , c 2 , …, c n , place cells horizontally to minimize objectives such as wirelength or movement l Previous work on single row algorithm Conventional objectives l [Brenner+,DATE’00], [Kahng+,GLSVLSI’04], Abacus l [Spindler+,ISPD’08], [Taghavi+,ICCAD’10] TPL awareness l [Yu+,ICCAD’13]: O(mnK) l [Kuang+,ICCAD’14] l Note: ! = 10, & = 1, ' = 1 in the experiment 12
displayed. Single Row Placement The picture can't be l Given a set of ordered cells c 1 , c 2 , …, c n , with maximum cell displacement M Minimize wirelength and stitch errors l An algorithm supports a cost function generalizes wirelength, l movement and stitch errors Movement !"#$ % & % = ( ) *+ & % + - ) ./0 & % + 1 ) 23(& % ) Wirelength cost Stitch error penalty 23 & % = D0, G" #$H$!ℎ JKK"K LMKNJ GOPQJK, #$H$!ℎ JKK"K Note: ( = 10, - = 1, S = 1 in the experiment 13
displayed. Single Row Placement The picture can't be l Given a set of ordered cells c 1 , c 2 , …, c n , with maximum cell displacement M Shortest path solved by dynamic programming l O(nM 2 ) l M < 10? − M − M − M − M M > 30? 1 − M 1 − M 1 − M 1 − M s s t M − 1 M − 1 M − 1 M − 1 M M M M c i +1 c i +1 c 1 c 1 c i c i c n c n 14
displayed. Speedup with Pruning Techniques The picture can't be • Pruning technique 1 Let ! " ($ " ) denote the cost of placement solution from & ' to & " in • which & " is placed at $ " Comparing two solutions ( " ($ " ) and ( " () " ) , if ! " ($ " ) ≥ ! " () " ) and • $ " ≥ ) " , then ( " ($ " ) is inferior to ( " () " ) . • Prune inferior solutions Solution α i ( p i ) C i C i C i +1 C i +1 p i p i +1 q i +1 p i +1 Solution α i ( q i ) C i C i C i +1 C i +1 Value sets of $ "+' and ) "+' q i q i +1 15
displayed. Speedup with Pruning Techniques The picture can't be • Pruning technique 2 ∗ Let ! "#$ be the optimal position of cell & "#$ when cell & " is placed • at ! " ∗ Let ' "#$ be the optimal position of cell & "#$ when cell & " is placed • at ' " ∗ ∗ If ' " ≥ ! " , then ' "#$ ≥ ! "#$ • Solution α i ( p i ) • Reduce searching ranges C i − 1 C i p ∗ p i i − 1 Solution α i ( q i ) p i − 1 q i − 1 C i − 1 C i Value sets of ! "#$ and ' "#$ q ∗ q i i − 1 16
Effectiveness of Speedup Techniques The picture can't be displayed. • O(nM) complexity Requirements: !"#$ % (' % ) only depends on ' % • • 30x speedup • Keep optimality 17
displayed. Resolve Stitch Errors in Dense Regions The picture can't be • Global swap to smooth out density !"#$% " & , " ( = ∆!+,-. − 0 1 , 23 − 4 1 , • Overlap penalty 56 sHPWL change Normalized penalty of dangerous site density = = , 23 = max(0, < 23 > − < 23 ? − < 23 > − < 23 ? ) 1 A B < 23 > : the density of dangerous sites in bin B i before swap = < 23 > : the density of dangerous sites in bin B i after swap A B : bin area C 1 C 2 C 3 C 4 bin 1 Achieve better density of dangerous sites bin 2 C 5 C 6 C 7 18 Note: !+,-. = +,-.×(1 + F×, GHI ) from ICCAD 2013 Contest
displayed. Overall Flow The picture can't be Initial Placement Stitch Aware Single Row Placement N Zero Stitch Stitch Aware Global Swap Errors? Y Output Placement 19
Experimental Environment Setup The picture can't be displayed. • Implemented in C++ • 8-Core 3.4GHz Linux server with 32GB RAM • ICCAD 2014 contest benchmark • Mapped to Nangate 15nm Standard Cell Library • Legalized with RippleDP [Chow+,ISPD’14] Design #cells #nets #blockages vga_lcd 165K 165K 0 b19 219K 219K 0 leon3mp 649K 649K 0 leon2 794K 795K 0 mgc_edit_dist 131K 133K 13 mgc_matrix_mult 155K 159K 16 netcard 959K 961K 12 20
Experimental Results The picture can't be displayed. Wirelength Improvement % Final Stitch Errors Init.: initial input placement SR: single row algorithm only Full Flow: apply full flow including single row algorithm and global swap 21
Runtime Comparison The picture can't be displayed. • Full flow is slightly slower than SR • Only apply to regions still containing stitch errors Runtime (s) 22
Conclusion The picture can't be displayed. • Methodology to handle e-beam stitch errors during detailed placement stage • A linear time single row algorithm with highly- adaptable objective functions • Better EBL friendliness • Future work • Consider interaction between placement and routing for EBL friendliness 23
The picture can't be displayed. Thanks 24
Recommend
More recommend