GAN-OPC: Mask Optimization with Lithography-guided Generative - - PowerPoint PPT Presentation

gan opc mask optimization with lithography guided
SMART_READER_LITE
LIVE PREVIEW

GAN-OPC: Mask Optimization with Lithography-guided Generative - - PowerPoint PPT Presentation

GAN-OPC: Mask Optimization with Lithography-guided Generative Adversarial Nets Haoyu Yang , Shuhe Li, Yuzhe Ma, Bei Yu and Evangeline F. Y. Young The Chinese University of Hong Kong 1 / 16 Lithography Proximity Effect Still hotspot: low


slide-1
SLIDE 1

GAN-OPC: Mask Optimization with Lithography-guided Generative Adversarial Nets

Haoyu Yang, Shuhe Li, Yuzhe Ma, Bei Yu and Evangeline F. Y. Young The Chinese University of Hong Kong

1 / 16

slide-2
SLIDE 2

Lithography Proximity Effect

◮ What you see = what you get ◮ Diffraction information loss ◮ RET: OPC, SRAF, MPL ◮ Still hotspot: low fidelity patterns ◮ Worse on designs under 10nm or beyond ◮ Simulations: extremely CPU intensive

2 / 16

slide-3
SLIDE 3

Optical Proximity Correction (OPC)

Design target

3 / 16

slide-4
SLIDE 4

Optical Proximity Correction (OPC)

Design target Mask Wafer

without OPC

3 / 16

slide-5
SLIDE 5

Optical Proximity Correction (OPC)

Design target Mask Wafer

without OPC with OPC

3 / 16

slide-6
SLIDE 6

Previous Work

Classic OPC

◮ Model/Rule-based OPC [Kuang+,DATE’15][Awad+,DAC’16] [Su+,ICCAD’16]

  • 1. Fragmentation of shape edges;
  • 2. Move fragments for better printability.

◮ Inverse Lithography [Gao+,DAC’14][Poonawala+,TIP’07] [Ma+,ICCAD’17]

  • 1. Efficient model that maps mask to

aerial image;

  • 2. Continuously update mask through

descending the gradient of contour error.

Machine Learning OPC

[Matsunawa+,JM3’16][Choi+,SPIE’16] [Xu+,ISPD’16][Shim+,APCCAS’16]

  • 1. Edge fragmentation;
  • 2. Feature extraction;
  • 3. Model training.

4 / 16

slide-7
SLIDE 7

Preliminaries

Definition (PV Band)

Given the lithography simulation contours under a set of process conditions, the process variation (PV) band is the area between the outer contour and inner contour. PV Band reflects the robustness of the design to process window variations.

A PVBand Example: Lithography results of a 2×2 via/contact array under different process conditions.

5 / 16

slide-8
SLIDE 8

Preliminaries

Definition (Squared-L2 Error)

Let Zt and Z as target image and wafer image respectively, the squared L2 error of Z is given by ||Zt − Z||2

2.

Problem (Mask Optimization)

Given a target image Zt, the objective of the problem is generating the corresponding mask

M such that remaining patterns Z after lithography process is as close as Zt or, in other

word, minimizing the squared L2 error of lithography images.

6 / 16

slide-9
SLIDE 9

Lithography Model

◮ SVD Approximation of Partial Coherent System [Cobb,1998]

I =

N2

  • k=1

wk|M ⊗ hk|2.

(1)

◮ Reduced Model [Gao+,DAC’14]

I =

Nh

  • k=1

wk|M ⊗ hk|2.

(2)

◮ Etch Model

Z(x, y) = 1,

if I(x, y) ≥ Ith,

0,

if I(x, y) < Ith. (3)

7 / 16

slide-10
SLIDE 10

Inverse Lithography Technique (ILT)

The main objective in ILT is minimizing the lithography error through gradient descent.

E = ||Zt − Z||2

2,

(4) where Zt is the target and Z is the wafer image of a given mask. Apply translated sigmoid functions to make the pixel values close to either 0 or 1.

Z = 1 1 + exp[−α × (I − Ith)],

(5)

Mb = 1 1 + exp(−β × M).

(6) Combine Equations (1)–(6) and the analysis in [Poonawala,TIP’07],

∂E ∂M =2αβ × Mb ⊙ (1 − Mb)⊙ (((Z − Zt) ⊙ Z ⊙ (1 − Z) ⊙ (Mb ⊗ H∗)) ⊗ H+ ((Z − Zt) ⊙ Z ⊙ (1 − Z) ⊙ (Mb ⊗ H)) ⊗ H∗).

(7)

8 / 16

slide-11
SLIDE 11

Genarative Adversarial Net (GAN)

◮ x: Sample from the distribution of target dataset; z: Input of G ◮ Generator G(z; θg): Differentiable function represented by a multilayer perceptron with

parameters θg.

◮ Discriminator D(x; θd): Represents the probability that x came from the data rather

than G.

  • 1. Train D to maximize the probability of assigning the correct label to both training

examples and samples from G.

  • 2. Train G to minimize log(1 − D(G(z))), i.e. generate faked samples that are drawn

from similar distributions as pdata(x).

min

G max D Ex∼pdata(x)[log D(x)] + Ez∼pz(z)[log(1 − D(G(z)))].

(8)

9 / 16

slide-12
SLIDE 12

GAN Architecture

… 0.2 0.8 Fake Real Discriminator 1.62 3.83 … 3.15 … Generator

10 / 16

slide-13
SLIDE 13

GAN-OPC

… 0.2 0.8 Bad Mask Good Mask Discriminator Generator … Encoder Decoder Target Mask Target & Mask

11 / 16

slide-14
SLIDE 14

GAN Training

Based on the OPC-oriented GAN architecture in our framework, we tweak the objectives of

G and D accordingly, max EZt∼Z[log(D(Zt, G(Zt)))],

(9)

maxEZt∼Z[log(D(Zt, M∗))] + EZt∼Z[1 − log(D(Zt, G(Zt)))].

(10) In addition to facilitate the training procedure, we minimize the differences between generated masks and reference masks when updating the generator as in Equation (11).

min EZt∼Z||M∗ − G(Zt)||n,

(11) where || · ||n denotes the ln norm. Combining (9), (10) and (11), the objective of our GAN model becomes

min

G max D

EZt∼Z[1 − log(D(Zt, G(Zt))) + ||M∗ − G(Zt)||n

n]

+ EZt∼Z[log(D(Zt, M∗))].

(12)

12 / 16

slide-15
SLIDE 15

ILT-guided Pre-training

Observing that both ILT and neural network optimization share similar gradient descent procedure, we propose a jointed training algorithm that takes advantages of ILT engine, as depicted in Figure (b). We initialize the generator with lithography-guided pre-training to make it converge well in the GAN optimization flow thereafter.

Generator

Real Fake

Generator

(a) (b)

Feed-forward Back-propagetion

Discriminator Litho- Simulator

13 / 16

slide-16
SLIDE 16

Results

ILT GAN PGAN

49,000 49,500 50,000 50,500 51,000

PVBand (nm2)

(a) ILT GAN PGAN

35,000 37,000 39,000 41,000 43,000 45,000

Squared L2 Error

(b)

ILT PGAN

(c)

14 / 16

slide-17
SLIDE 17

Results

(a) (b) (c) (d) (e)

15 / 16

slide-18
SLIDE 18

Thank You

16 / 16