Imbalance Aware Lithography Hotspot Detection: A Deep Learning Approach
Haoyu Yang1, Luyang Luo1, Jing Su2, Chenxi Lin2, Bei Yu1
1The Chinese University of Hong Kong 2ASML Brion Inc.
- Mar. 1, 2017
1 / 34
Imbalance Aware Lithography Hotspot Detection: A Deep Learning - - PowerPoint PPT Presentation
Imbalance Aware Lithography Hotspot Detection: A Deep Learning Approach Haoyu Yang 1 , Luyang Luo 1 , Jing Su 2 , Chenxi Lin 2 , Bei Yu 1 1 The Chinese University of Hong Kong 2 ASML Brion Inc. Mar. 1, 2017 1 / 34 Outline Introduction Network
1 / 34
2 / 34
3 / 34
3 / 34
4 / 34
Ra#o%of%lithography%simula#on%#me% (normalized%by%40nm%node)% Technology%node
Required(computa/onal( /me(reduc/on!
5 / 34
Increasing verification accuracy
(Relative) CPU runtime at each level
6 / 34
hotspot&
Pa)ern' matching'
hotspot& hotspot&
7 / 34
hotspot&
Pa)ern' matching'
hotspot& hotspot&
hotspot&
Cannot&detect& hotspots¬&in& the&library&
7 / 34
Classifica*on& Extract&layout& features&
8 / 34
Non$ Hotspot Hotspot
Classifica*on& Extract&layout& features& Hard,to,trade$off, accuracy,and,false, alarms,
8 / 34
9 / 34
10 / 34
Training Data Set Validation Testing Data Set Upsampling
Validation Trained Model Training Model Testing Accuracy False Alarm Random Mirroring
11 / 34
12 / 34
CONV
max(0,x)
ReLU POOL CONV
max(0,x)
ReLU POOL …… FC Hotspot Non-hotspot 12 / 34
CONV
max(0,x)
ReLU POOL CONV
max(0,x)
ReLU POOL …… FC Hotspot Non-hotspot
CONV
max(0,x)
ReLU POOL CONV
max(0,x)
ReLU POOL …… FC Hotspot Non-hotspot 13 / 34
14 / 34
CONV
max(0,x)
ReLU POOL CONV
max(0,x)
ReLU POOL …… FC Hotspot Non-hotspot
1 1+exp(−x)
exp(2x)−1 exp(2x)+1
15 / 34
CONV
max(0,x)
ReLU POOL CONV
max(0,x)
ReLU POOL …… FC Hotspot Non-hotspot
1 2 3 5 6 7 9 10 11 4 8 12 13 14 15 16 6 16 14 8
MAXPOOL
3.5 13.5 11.5 5.5
AVEPOOL
1 2 3 5 6 7 9 10 11 4 8 12 13 14 15 16
16 / 34
17 / 34
CONV
max(0,x)
ReLU POOL CONV
max(0,x)
ReLU POOL …… FC Hotspot Non-hotspot 18 / 34
… … 16x16x32 2048 512 C5-3 P5
Convolutional Hidden Layers
19 / 34
… … 16x16x32 2048 512 C5-3 P5
Convolutional Hidden Layers
19 / 34
… …
Hotspot Non-Hotspot
512x512x4 256x256x4 256x256x8 128x128x16 128x128x8 64x64x16 64x64x32 32x32x32 32x32x32 16x16x32 2048 512 C1 P1 C2-1C2-2 C2-3 P2 C3-1 C3-2 C4-1 P3 C3-3 C4-2 C4-3 C5-1 C5-2 C5-3 P4 P5
20 / 34
Layer Kernel Size Stride Padding Output Vertexes Conv1-1
2 × 2 × 4
2
512 × 512 × 4
Pool1
2 × 2
2
256 × 256 × 4
Conv2-1
3 × 3 × 8
1 1
256 × 256 × 8
Conv2-2
3 × 3 × 8
1 1
256 × 256 × 8
Conv2-3
3 × 3 × 8
1 1
256 × 256 × 8
Pool2
2 × 2
2
128 × 128 × 8
Conv3-1
3 × 3 × 16
1 1
128 × 128 × 16
Conv3-2
3 × 3 × 16
1 1
128 × 128 × 16
Conv3-3
3 × 3 × 16
1 1
128 × 128 × 16
Pool3
2 × 2
2
64 × 64 × 16
Conv4-1
3 × 3 × 32
1 1
64 × 64 × 32
Conv4-2
3 × 3 × 32
1 1
64 × 64 × 32
Conv4-3
3 × 3 × 32
1 1
64 × 64 × 32
Pool4
2 × 2
2
32 × 32 × 32
Conv5-1
3 × 3 × 32
1 1
32 × 32 × 32
Conv5-2
3 × 3 × 32
1 1
32 × 32 × 32
Conv5-3
3 × 3 × 32
1 1
32 × 32 × 32
Pool5
2 × 2
2
16 × 16 × 32
FC1 – – –
2048
FC2 – – –
512
FC3 – – –
2
21 / 34
22 / 34
22 / 34
22 / 34
22 / 34
Mirror
23 / 34
24 / 34
25 / 34
26 / 34
27 / 34
28 / 34
500 1,000 1,500 2,000 0.00 0.50 1.00 1.50
Iteration Count Validation Loss Gaussian_std=0.1 Gaussian_std=0.01 Gaussian_std=0.001 Xavier 28 / 34
29 / 34
29 / 34
Origin Pool1 Pool2 Pool3 Pool4 Pool5 30 / 34
31 / 34
32 / 34
… … Hotspot Non-Hotspot 512x512x4 256x256x4 256x256x8 128x128x16 128x128x8 64x64x16 64x64x32 32x32x32 32x32x32 16x16x32 2048 512 C1 P1 C2-1C2-2 C2-3 P2 C3-1 C3-2 C4-1 P3 C3-3 C4-2 C4-3 C5-1 C5-2 C5-3 P4 P5
33 / 34
… … Hotspot Non-Hotspot 512x512x4 256x256x4 256x256x8 128x128x16 128x128x8 64x64x16 64x64x32 32x32x32 32x32x32 16x16x32 2048 512 C1 P1 C2-1C2-2 C2-3 P2 C3-1 C3-2 C4-1 P3 C3-3 C4-2 C4-3 C5-1 C5-2 C5-3 P4 P5
33 / 34
34 / 34