automatic layout generation with applications in machine
play

Automatic Layout Generation with Applications in Machine Learning - PowerPoint PPT Presentation

Automatic Layout Generation with Applications in Machine Learning Engine Evaluation Haoyu Yang 1 , Wen Chen 1 , Piyush Pathak 2 , Frank Gennari 2 , Ya-Chieh Lai 2 , Bei Yu 1 1 The Chinese University of Hong Kong 2 Cadence Design Systems, Inc. 1 /


  1. Automatic Layout Generation with Applications in Machine Learning Engine Evaluation Haoyu Yang 1 , Wen Chen 1 , Piyush Pathak 2 , Frank Gennari 2 , Ya-Chieh Lai 2 , Bei Yu 1 1 The Chinese University of Hong Kong 2 Cadence Design Systems, Inc. 1 / 16

  2. Exploding Machine Learning for Layout Printability Estimation Convolution + ReLU Layer Max Pooling Layer Full Connected Node Hotspot 2 3 C 11 ,k C 12 ,k C 13 ,k . . . C 1 n,k C 21 ,k C 22 ,k C 23 ,k . . . C 2 n,k 6 7 6 . . . ... . 7 . . . . 6 . . . . 7 4 5 … C n 1 ,k C n 2 ,k C n 3 ,k . . . C nn,k ( 2 C 11 , 1 C 12 , 1 C 13 , 1 . . . C 1 n, 1 3 C 21 , 1 C 22 , 1 C 23 , 1 . . . C 2 n, 1 6 7 6 . . . ... . 7 k . . . . 6 . . . . 7 4 5 C n 1 , 1 C n 2 , 1 C n 3 , 1 . . . C nn, 1 Non-Hotspot (a) BBL [Yang+,DAC’17] (c) LithoROC [Ye+,ASPDAC’19] (b) SMBoost [Zhang+,ICCAD’16] 2 / 16

  3. Klayout Python Interface An example of creating a layout with a single cell and ◮ Layout: a rich set of methods to single layer and puts one rectangle on that layer. manipulate and query the layout import pya hierarchy, the geometrical objects, the layout = pya.Layout() meta information and other features of top = layout.create_cell(“TOP”) the layout database. l1 = layout.layer(1, 0) ◮ Cell: consists of a set of shape top.shapes(l1).insert(pya.Box(0, 0, containers (called layers). 1000, 2000)) ◮ Layer, Shape. layout.write(“t.gds”) 3 / 16

  4. Metal Layer Generation Wire Configurations Global Configurations ◮ Wire CD: Wire width. ◮ Track Pitch: Metal wire pitch. ◮ Cell Name ◮ T2T Distance (min/max): Line-end to line-end distance of wires on single ◮ Total X: Cell bounding box size in x track. direction. ◮ Wire Length (min/max) ◮ Total Y: Cell bounding box size in y ◮ T2T Grid: Controls the unit size of T2T direction. Distance. 4 / 16

  5. Metal Layer Generation: Examples cellname wire_cd track_pitch min_t2t max_t2t min_length max_length t2t_grid total_x total_y test1 0.016 0.032 0.012 0.2 0.1 1 0.005 5 5 test2 0.016 0.032 0.2 1.0 0.1 1 0.012 5 5 (d) Small T2T (test1) (e) Large T2T (test2) 5 / 16

  6. Via Layer Generation Via Specific Configurations ◮ Via X: Via size along x direction. ◮ Via Y: Via size along y direction. ◮ Vias are relying on its upper and lower ◮ Via density: the probability of a via metal layers. appearing at a candidate via position. ◮ Via-Metal-Enclosure: Vias should be ◮ Metal layers are configured as previous. away from line-ends by a certain distance. ◮ Via creation flow. 1. M_lower generation Enclosure-X 2. M_upper generation 3. Check candidate via positions 4. Place vias with according to enclosure and density constraints 6 / 16

  7. Via Layer Generation: Examples & Simulation cellname via_x via_x density via1 0.07 0.07 0.5 via2 0.07 0.07 0.3 via3 0.07 0.07 0.2 (f) High Density (g) Medium Density (h) Low Density 7 / 16

  8. Performance Evaluation on Generation Tools 800 Throughput ( µ m 2 / second) Metal 625 600 403 400 200 0 Metal Via 8 / 16

  9. BBL-CNN Architecture [Yang+,DAC’17] Layer Kernel Size Stride Output Node # 12 × 12 × 16 conv1-1 3 1 12 × 12 × 16 conv1-2 3 1 Feature Tensor 6 × 6 × 16 maxpooling1 2 2 ◮ k -channel hyper-image 6 × 6 × 32 conv2-1 3 1 6 × 6 × 32 conv2-2 3 1 ◮ Compatible with CNN 3 × 3 × 32 maxpooling2 2 2 ◮ Storage and computional efficiency fc1 N/A N/A 250 fc2 N/A N/A 2 Convolution + ReLU Layer Max Pooling Layer Full Connected Node Hotspot 2 3 C 11 ,k C 12 ,k C 13 ,k . . . C 1 n,k C 21 ,k C 22 ,k C 23 ,k . . . C 2 n,k 6 7 . . . . 6 ... 7 . . . . 6 . . . . 7 4 5 … C n 1 ,k C n 2 ,k C n 3 ,k . . . C nn,k ( 2 C 11 , 1 C 12 , 1 C 13 , 1 . . . C 1 n, 1 3 C 21 , 1 C 22 , 1 C 23 , 1 . . . C 2 n, 1 6 7 6 . . . . 7 k ... . . . . 6 . . . . 7 4 5 C n 1 , 1 C n 2 , 1 C n 3 , 1 . . . C nn, 1 Non-Hotspot 9 / 16

  10. BBL-Recall The Training Procedure [Yang+,DAC’17] ◮ Minimize difference with ground truths y ∗ n = [ 1 , 0 ] , y ∗ h = [ 0 , 1 ] . (1) � N , if y ( 0 ) > 0 . 5 F ∈ (2) H , if y ( 1 ) > 0 . 5 10 / 16

  11. BBL-Recall The Training Procedure [Yang+,DAC’17] ◮ Minimize difference with ground truths y ∗ n = [ 1 , 0 ] , y ∗ h = [ 0 , 1 ] . (1) � N , if y ( 0 ) > 0 . 5 F ∈ (2) H , if y ( 1 ) > 0 . 5 ◮ Shifting decision boundary � N , if y ( 0 ) > 0 . 5 + λ F ∈ (3) H , if y ( 1 ) > 0 . 5 − λ 10 / 16

  12. BBL-Recall The Training Procedure [Yang+,DAC’17] ◮ Minimize difference with ground truths y ∗ n = [ 1 , 0 ] , y ∗ h = [ 0 , 1 ] . (1) � N , if y ( 0 ) > 0 . 5 F ∈ (2) H , if y ( 1 ) > 0 . 5 ◮ Shifting decision boundary ( ✗ ) � N , if y ( 0 ) > 0 . 5 + λ F ∈ (3) H , if y ( 1 ) > 0 . 5 − λ ◮ Biased ground truth n = [ 1 − ǫ, ǫ ] y ∗ (4) 10 / 16

  13. Smooth Boosting [Zhang+,ICCAD’16] 11 / 16

  14. Smooth Boosting [Zhang+,ICCAD’16] 12 / 16

  15. Optimizing Receiver Operating Characteristic [Ye+,ASPDAC’16] The AUC objective: � � �� � N + � N − 1 x + � � L Φ ( f ) = j = 1 Φ − f x − . f N + N − i = 1 i j Approximation candidates: PSL Φ PSL ( z ) = ( 1 − z ) 2 PHL Φ PHL ( z ) = max( 1 − z , 0 ) PLL Φ PLL ( z ) = log( 1 + exp( − β z )) � − ( z − γ ) p , if z > γ R Φ R ∗ ( z ) = 0 , otherwise 13 / 16

  16. The Dataset Via: Total 10403 2000 × 2000 via patterns, simulated with Calibre. ◮ Training Set ◮ Testing Set ◮ 2774 hotspots ◮ 841 hotspots ◮ 5226 non-hotspots ◮ 1562 non-hotspots Metal: Merged ICCAD2012 CAD Contest Benchmark. ◮ Training Set ◮ Testing Set ◮ 1204 hotspots ◮ 2524 hotspots ◮ 17096 non-hotspots ◮ 13503 non-hotspots 14 / 16

  17. Machine Learning Engine Evaluation 99 . 9 99 . 5 98 . 9 98 . 4 97 . 7 100 100 93 . 8 92 . 9 91 . 8 False Alarm Rate (%) Metal 79 75 75 71 Accuracy (%) Via 60 . 6 50 50 39 . 1 33 . 3 28 26 . 2 24 . 3 25 21 . 5 25 15 . 9 9 . 6 3 . 6 2 . 3 1 . 7 1 . 5 0 . 9 0 0 BBL SMBoost PHL PLL PSL R BBL SMBoost PHL PLL PSL R (i) Accuracy (j) False Alarm 15 / 16

  18. Thank You 16 / 16

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