stitch aware detailed placement for multiple e beam
play

Stitch Aware Detailed Placement for Multiple E-Beam Lithography Yibo - PowerPoint PPT Presentation

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


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

  2. Outline The picture can't be displayed. Introduction • Previous Work • Problem Formulation • Stitch Aware Detailed Placement • Experimental Results • Conclusion • 2

  3. Introduction The picture can't be displayed. • Technology Scaling [Courtesy ITRS] 3

  4. E-Beam Lithography The picture can't be displayed. • Direct-write or mask? [Courtesy E-beam Initiative] 4

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

  6. Field Stitching The picture can't be displayed. • SEM figures showing stitches at boundaries of beam stripes Stitching Regions Stitching Regions Holes Lines 6

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

  8. Stitch Errors The picture can't be displayed. • Defects on vias and vertical wires • Defects on short polygons [Fang+,DAC2013] 8

  9. Stitch Errors within Standard Cell The picture can't be displayed. Resolve stitch errors by proper placement 9

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

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

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

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

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

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

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

  17. Effectiveness of Speedup Techniques The picture can't be displayed. • O(nM) complexity Requirements: !"#$ % (' % ) only depends on ' % • • 30x speedup • Keep optimality 17

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

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

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

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

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

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

  24. The picture can't be displayed. Thanks 24

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