report the design of a simulator - eecs at uc berkeley · report -- on the design -- of a simulator...

170
REPORT ON THE DESIGN OF A SIMULATOR PROGRAM (SAMPLE) FOR IC FABRICATION bY Sharad Narayan Nandgaonkar Memorandum No. UCB/ERI, M79/16 June 1978 ELECTRONICS RESEARCH LABORATORY College of Engineering University of California, Berkeley 94720

Upload: phungphuc

Post on 24-Jul-2019

220 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: REPORT THE DESIGN OF A SIMULATOR - EECS at UC Berkeley · Report -- on the Design -- of a Simulator Program ... and if the wafer is to be bak$d how lona, ... for the ztchin? process

REPORT ON THE

DESIGN OF A SIMULATOR PROGRAM (SAMPLE)

FOR I C FABRICATION

bY

Sharad Narayan Nandgaonkar

Memorandum No. UCB/ERI, M79/16

June 1978

ELECTRONICS RESEARCH LABORATORY

Col lege of Engineer ing U n i v e r s i t y of C a l i f o r n i a , Berke ley

94720

Page 2: REPORT THE DESIGN OF A SIMULATOR - EECS at UC Berkeley · Report -- on the Design -- of a Simulator Program ... and if the wafer is to be bak$d how lona, ... for the ztchin? process
Page 3: REPORT THE DESIGN OF A SIMULATOR - EECS at UC Berkeley · Report -- on the Design -- of a Simulator Program ... and if the wafer is to be bak$d how lona, ... for the ztchin? process

R e p o r t on t h e --

D e s i g n o f a S i m u l a t o r P r o g r a m (SAMPLE) - - f o r I C F a b r i c a t i o n --

S h a r a d N a r a y a n N a n d g a o n k a r

ABSTRACT

I n t h e f a b r i c a t i o n o f I n t e g r a t e d C i r c u i t s a m a j o r s t e p i s t o e t c h o u t a p a r t i c u l a r g e o m e t r i c p a t t e r n f r o m a mask o n t o a s emiconduc to r wafer. T h i s r e p o r t d e s c r i b e s t h e p r e s e n t s t a t e o f a n u s e r - o r i e n t e d s i m u l a - t i o n p r o g r a m (SAMPLE), d e v e l o p e d a t U C B , t o a i d i n t h i s p r o c e s s a s a w h o l e .

The p r o g r a m i s b a s e d on a m o d e l o f t h e p r o c e s s , c l o s e l y p a r a l l e l l i n g t h e r e a l o n e , a s a s e q u e n c e o f o p e r a t i o n s p e r f o r m e d o n t h e p h o t o r e s i s t c o a t e d wafer b y v a r i o u s m a c h i n e s . An u s e r - i n t e r f a c e a l l o w s t h e u se r t o i n t e r a c t w i t h t h e s e s i m u l a t e d m a c h i n e s a n d p r o c e s s e s u s i n g some s i m p l e i n p u t s t a t e m e n t s . The o v e r a l l d e s i g n and i m p l e m e n t a t i o n d e t a i l s o f t h e u s e r - i n t e r f a c e and t h e s i m u l a t e d l a b a r e p r e s e n t e d , a l o n g w i t h t h e i n f o r m a - t i o n f o r u s i n g i t .

Research sponsored by t h e Na t iona l Sc ience Foundation Grant ENG77-14660- A 0 1 and c o n t r i b u t i o n s from I n d u s t r y .

Page 4: REPORT THE DESIGN OF A SIMULATOR - EECS at UC Berkeley · Report -- on the Design -- of a Simulator Program ... and if the wafer is to be bak$d how lona, ... for the ztchin? process
Page 5: REPORT THE DESIGN OF A SIMULATOR - EECS at UC Berkeley · Report -- on the Design -- of a Simulator Program ... and if the wafer is to be bak$d how lona, ... for the ztchin? process

C3NTENTS

D e s i g n g o c u m e n t a t i o n - _ ---__-- P a r t 1 -.- -

C h a p . 1 An O v e r v i e w ____ - - - ~-

1 . I n t r o d u c t i o n 2 . O r 3 a n i z a t i o n o f t h e Rep3r-t

C h a p . 2 T h e S i m u l a t o r _ _ - - -.

1 . S t r u c t u r e o f t h e S i m u l a t o r 2 . % n e m o r e d i s c u s s i o n on t h e

S t r u c t u r e o f t h e S i m u l a t o r 1 .

2 . On t h e I n p u t l o u t p u t o f t h e S i m u l a t e i d

3 . On t h e A c t u a l P r o g r a m S t r u c t u r e 4 . On t h e D e s i g n o f t h e I n p u t I n t e r f a c e

1 . S y n t a x and S e m a n t i c s 2 . E r r o r H a n d l i n g P h i l o s o p h y

On t h e S t a t e - V a r i a b l e C h a r a c t e r i z - ~

a t i o n o f t h e S y s t e m I

M a c h i n e s w i t h i n t h e Lab

C h a p . 3 M i s c e l l a n e a - -

1 . V a l i d i t y o f t h e S i m u l a t i o n 2 . Usage o f t h e P r o g r a m

1 . C o m p u t e r Time and Memory R e q u i r e a e n t s 2. Th? P r o g r a m i n 3 L a n g u a g e Used

3 . Yana3ernent o f t h e P r o g r a m Code 4 . G r a p h i c a l O u t p u t O p t i o n 5 . S o q e H i s t o r y o f ths Progra rn

1 . C D n t r i b u t i o n s t g t h e P r o g r a a 2 . D o e u a e n t a t i o n o f t h e P r o g r a m

A p p e n d i x ? A : Some S t a t i s t i c s o n t h e P r o g r a m S i z e

1 . S o u r c e Code S i z e 1 . S i z e o f I n t e r f a c e 2. S i z e o f t h e C o r e o f t h e P r o g r a m

1 . D a t a 2. I n s t r u z t i o n s

2 . O b j e c t C 3 d e S i z e

F i g . 1 : P i c t o r i a l View o f t h e P r 0 g r a . n F i g . 2 : M a t e r i a l Flow Y o d e l f o r R e a l M a c h i n e s F i g . 3 : I n f 3 r m a t i o n F l o w i n t h 2 S i m u l a t e d Lab F i g . 4 : C o n t r o l - S t r u c t u r z o f t h e P r o g r a m F i g . 5 : I n f o r m a t i o n f l o w s t r u c t u r e o f The Pro5riam F i g . 5 : C g n t r o l S t r u c t u r e + I n f o r a a t i o n F low i n t h e P r o g r a m

R e f e r e n c e s A c k n o w l e d g e a e n t s

Page 6: REPORT THE DESIGN OF A SIMULATOR - EECS at UC Berkeley · Report -- on the Design -- of a Simulator Program ... and if the wafer is to be bak$d how lona, ... for the ztchin? process

( C o n t e n t s - c o n t d . )

P a r t 2) I m p l e m e n t a t i o n D o c u m 3 n t a t i o n for t h e User I n t e r f a c e

The d o c u r n e n t a t i o n f i l e s f o r m i n g p a r t 2 o f th i s r e p o r t , / a r e a s follows I

! I

L e x i c a l - A n a l y z e r D a f i n i t i o n e t c . - d o c u l ( = ' l e x d e f ' ) l e x v a r l

P a r s e r D e f i n i t i o n ztz. -

P r e t t y p r i n t e r d 3 : u a e n t a t i o n - < e x - s t m t - s u b r > s

f o r m a c h i n e 1

f o r m a c h i n e s 2 , 3 , a n d 4 -

Some f e a t u r e s o f t h e p rogra rn -

p a r v a r p a r d e

p r p r c i d c u 1

In9 1 v a d m0 1 v a d b m 0 l v a r c errmesmc) 1

d a t a 2 3 4 o r g e r rm e s 234

p r o g f e a l

{ O r g a n i z a t i o n o f t h e s o u r c e c o d e and t h e s o u r c e c o d e s r e g i v e n a t t h e e n d o f t h e I m p l e m e n t a t i o n d o c u m e n t a t i o n , i . e . a t t h e e n d o f p a r t 31

Page 7: REPORT THE DESIGN OF A SIMULATOR - EECS at UC Berkeley · Report -- on the Design -- of a Simulator Program ... and if the wafer is to be bak$d how lona, ... for the ztchin? process

( C o n t e n t s - c o n t d . )

P a r t 3 ) I a p l e m e n t a t i 3 n D o c u m e n t a t i o n f o r t h e M a c h i n e s and Cornponen t s

The d o c u m e n t a t i o n f i l e s i n p a r t 3 a r e a s f o l l o w s

D o c u r n e n t a t i o n o f D e f a u l t V a l u e s f o r a l l Y3cLlines a n d C o m p o n e n t s - d e f a u l t d o z u

M a c h i n e 1 d o c u r n e n t a t i o n - mac 1 d o c 1

T h e O r g a n i z a t i o n o f a 1 1 t h e s o u r c e c o d e f o r t h o p r o g r a m ( b o t h t h ? User I n t e r f a c e , a n d t h e C o r e ) i s g i v e n i n

T h e s c ) u r c e c o d e i t s e l f i s g i v e n i n t h e s a m e s e q u e n c e a s t h e f i l e s a D p e a r i n s c Drs.

- s c o r g -

-

P a r t 4) User D o c u n e n t a t i o n

The F i l e s i n p a r t 4 a r e a s f o l l o w s

i n d e x e x d a t a f i l e ex a a p l e h o w t o

p a r g r a m

t r i a l d o c u

p f a u d i t

Page 8: REPORT THE DESIGN OF A SIMULATOR - EECS at UC Berkeley · Report -- on the Design -- of a Simulator Program ... and if the wafer is to be bak$d how lona, ... for the ztchin? process
Page 9: REPORT THE DESIGN OF A SIMULATOR - EECS at UC Berkeley · Report -- on the Design -- of a Simulator Program ... and if the wafer is to be bak$d how lona, ... for the ztchin? process

Part 1 - - D e s i g n Documentation

Page 10: REPORT THE DESIGN OF A SIMULATOR - EECS at UC Berkeley · Report -- on the Design -- of a Simulator Program ... and if the wafer is to be bak$d how lona, ... for the ztchin? process
Page 11: REPORT THE DESIGN OF A SIMULATOR - EECS at UC Berkeley · Report -- on the Design -- of a Simulator Program ... and if the wafer is to be bak$d how lona, ... for the ztchin? process

2

t h i s h a s 5 e P n a i d e d b y v a r i o u s p a r t b y p a r t a n a l y s e s o f t h e s u b s t e p s i n v o l v i d i n t h e s e p r o c e s s e s . A p r o j e c t b e e n u n d e r t a k 2 n t o c r e a t e a u n i f i e d u s i r - o r i 2 n t e d p r o g r a m f o r t h i s p r o c e s s a s a w h o l e .

C l e a r l y , s u c h a p r o j e c t i s n e c e s s a r i l y a p a r t t 3 t a l m a n u f a c t u r i n g p r o c e s s . I t h a s t o b e l i n k e d

C h a p t e r 1 ~ An o v e r v i e w

o f s3me h a s

s i r r u l a t i o n

o f t h e y i t h t h e

1 . 1 . I n t r o d u c t i o n - - -

T h i s r e p o r t p r e s e n t s t h ? i d e a b e h i n d t h e p r o g r a m , i t s d e s i g n , s p e c i f i c a t i o n , a n d o t h e r d e t a i l s a l o n g w i t h t h e s o u r c e c o d e o f t h e u s e r - i n t e r f a c e , a s i t s t a n d s a t p r e s e n t ( J u n e 1 9 7 9 ) . Also i n T l u d e d i n t h e r e p o r t i s t h e d o c u m e n t a - t i o n p r e p a r e d f o r i t s u s e r s . The o r g a n i z a t i o n o f t h i s r e p o r t i s s k e t c h e d i n t h e f o l l o w i n g s e c t i o n .

Page 12: REPORT THE DESIGN OF A SIMULATOR - EECS at UC Berkeley · Report -- on the Design -- of a Simulator Program ... and if the wafer is to be bak$d how lona, ... for the ztchin? process

3

( T h e c o n t e n t s g i v e a m o r e d e t a i l e d s n c t i o n w i s e o f t h e r e p o r t , . )

P a r t , 1 ) D e s i g n D o c u m e n t a t i o n

1 . 2 . O r g a n i z a t i o n o f t h i s Repor t , -- - -

D u t l i n e

T h i s r e p D r t i s o r g a n i z e d a s f o l l o w s .

A b s t r a z t C a n t e n t s

P a r t 2 ) I m p l t m e n t a t i o n D o c u m e n t a t i o n f o r t h e ‘Jser - - --- T h i s g i v e s t h e d e t a i l s o f t h e i n p u t

s y n t a x and s e n a n t i c s g f t h e i n p u t l a n g u a g e t h e User I n t e r f a c e c o d e i s p r e s e n t e d .

P a r t 3 ) I m p l e n e n t a t i o n D o c u m e n t a t i o n f o r t h e M a c h i n e s a n d - - - - - CornDonents

T h i s g i v e s t h e d e t a i l s o f t h e c o r e o f t h e p r o s r a m i . e . t h e m a c h i n e s a n d c o m p o n e n t s i n the s i m u l a t e d l a b . The m o d e l s u s e d f o r t h e m a c h i n e s , t h e f o r m u l a e u s e d f o r co rnpu ta - t i o n , t h e d i s c r e t i z a t i o n a n d o t h e r c o n s t r a i n t s i m p o s e d b y n u n e r i c a l a n a l y s i s / c a l c u l a t i o n c o n s i d e r a t i o n s e t c . a r e d i s - c u s s e d . Als:, l i s t e d a r e t h e d e t a i l e d d o c u m e n t a t i o n o f t h e d a t a - s t r u c t u r e o f t h e p r o g r a m c o r e , e r r o r - r n e s s a s e s , d e f i - c i e n c i e s , i n p r o v e n e n t s , a n d b u g s . A l i s t o f t h e d e f a u l t values o f the relevant p a r a n e t z r s d e s c r i b i n g t h e l a b i s a l s o i n c l u d e d .

v -

P a r t 4) ‘Jser D o c u m e n t a t i o n --- - - -_- T h i s g i v e s a n e x a n p l e o f a t y p i c a l s e t Q f i n p u t d a t a t o

t h e p r o g r a m , i n f o r n a t i o n f o r u s i n g t h e TRIAL-staten n t , a n d o t h e r a a t e r i a l h e l p f u l f o r u s i n g t h e p r o 5 r a i n . 1

I

Page 13: REPORT THE DESIGN OF A SIMULATOR - EECS at UC Berkeley · Report -- on the Design -- of a Simulator Program ... and if the wafer is to be bak$d how lona, ... for the ztchin? process

4

C h a p t c r - 2 : T h e S i r n u l a t o r I j I

2 . 1 . S t r u c t u r e - o f t h e S i m u l a t o r - - - - - - -

A s i m u l a t o r f o r a p h y s i c a l p r o c e s s s h 3 u l d modd l t h e p r o c e s s a s c l o s e l y a s p o s s i b l e . P r e f e r a b l y , i t s h q u l d be ino re c o n v e n i e n t t3 use t h a n a c t u a l l y r u n n i n g t h e p! y s i c a l p r o c e s s , a n d s h o u l d p r o v i d e e a s y ways t o . n o n i t D r t d e p r o - g r e s s o f t h e p r o c e s s b y p r o v i d i n n , v a r i o u s t y p e s o f i n f 3 r m a - t i o n a b o u t t h e s i n n u l a t e d p r o c e s s w h i c h may b e d i f f i c u l t , o r e v e n t e c h i n a l l y i m p o s s i b l e , t o o b t a i n f r o m t h e c o r r e s p o n d i n g a c t u a l p r o c e s s . A l s o , i t s h o u l d a l l o w a b e t t e r c o n t r c l l o v e r t h e p r o c e s s so t h a t t h e e f f e c t s o f v a r y i n g i n d i v i d u a l f a c - t o r s s h o u l d b e e a s i l y d i s c e r n i b l e i n t h e o u t c o - n e o f +, c e s s , and s h 3 u l d g i v e a b e t t e r i n s i s h t i n t o how t o t h e a c t u a l p r o c e s s . I n s h o r t , i t s h o u l d a p p r o a c h t h o f a h i g h l y c o n 5 r o l l e d and i n s t r u m e n t e d s e t - u p i n wh s t u d y t h e p r o c e s s . E s p e c i a l l y , when t h a p r o c e s s e c o n s i d e r a t i o n i n t e r a c t w i t h e a c h o t h e r i n a m u l t i t ways t h e v a l u s o f s u c h a s i m u l a t o r f o r u n d e r s t a n d i n t e r a c t i o n s i s q u i t e o b v i o u s .

A d i g i t a l c o n p u t e r p r o g r a a i s t h e m o s t p r o m i s i n g way t o f u l f i l l t h i a b o v e e x p e c t a t i o n s f r o n a s i a u l a t o r . Once t h e m o d e l s o f t h e p h y s i c a l phenomena a r e p r o p e r l y f o r m u l a t e d i n terms o f e q u a t i o n s i n t h e v a r i o u s p a r a m e t e r s i n v o l v e d , t h e d e s i r e f3r ' c o n t r o l l a b i l i t y ' a n d ' o b s e r v a b i l i t y ' c a n b e c o n - v e n i e n t l y r e a l i z e d i n s u c h a p r o g r a m . A l s D a p r o g r a m a l l o w s o n e t o h a n d l e n o t o n l y t h e c l o s e d f o r m s o l u t i o n s o f s t a t i c s y s t e n s b u t a l s o t h e f l o w o f t i n e i n a d y n a m i c p r o c e s s t h a t c a n o n l y b e d e s c r i b e d b y a d i f f e r e n t i a l o r d i f f e r e n c e e q u a - t i o n .

-- ---

S u c h a p r o g r a m , SAMPLE, was d e s i g n e d f o r s i m u l a t i n g t h e l i t h o g r a p h y a n d e t c h i n g p r o c e s s e s u s z d i n t h e f a b r i c a t i o n a f s c a i z o n d u c t o r w a f a r s .

D e s i g n o f SAMPLE -

The p r o c e s s e s i n s o m i c o n d u c t o r l i t h o g r a p h y t y p i c a l l y i n v o l v e t h e i n a g e f o r a a t i o n o f a p a r t i c u l a r p a t t e r n on a p h o t o r e s i s t c o a t e d w a f 3 r . F o r h i g h e s t r e s o l u t i o n w o r k , p o s i t i v e p h o t o r e s i s t i s u s e d . The i q a g e f o r m e d on t h e pho- t o r e s i s t l a y e r c a u s e s l o c a l b l e a c h i n s i n t h e l a y e r t 3 v a r i - o u s decr , rees d z p e n d i n g o n t h e i n t e n s i t y d i s t r i b u t i o n . The e x p o s e d w a f i r i s p u t i n 3 d e v e l o p i n g s o l u t i o n w h i c h e t c h e s o u t t h e b l e a c h e d p o r t i o n s o f t h e r e s i s t . I n b e t w e e q t h e s e t w o m a i n p r o c e s s e s o f b l e a c h i n g and d e v e l o p m e n t , t h e ' r e s i s t m a y be d e l i b e r a t e l y m o d i f i z d , 5.5. b y S a k i n g i n a n o d e n , o r b y p u t t i n g i t i n c h l o r o b e n z z n c s o l u t i o n . I

To s i a u l a t e s u c h a p r o c e s s i n g s e q u ? n c e , t h e user t e l l s SAMPLE a b o u t t h e c o m p o n e n t s , l i k e t h e i m a g i n g s y s t e r n o r t h e --

Page 14: REPORT THE DESIGN OF A SIMULATOR - EECS at UC Berkeley · Report -- on the Design -- of a Simulator Program ... and if the wafer is to be bak$d how lona, ... for the ztchin? process

5

r a d i a t i o n s o u r c e , t h a t h e w a n t s t o u s ? , w h a t t h e c a n f i g u r a - t i o n o f t h e s y s t e m i s , w h a t l a y e r s a r e p r 9 s e n t o n i t a n d how t h i c k t h e y a r e , w h a t k i n d o f p a t t e r n i s p r e s e n t o n t h e m a s k , haw much r a d i a t i o n d o s e d o e s h e w s n t t o e x p o s n t h e w a f 2 r w i t h , w h a t k i n d o f d e v e l o p e r d o e s h e w a n t t o u s e , a n d so o n . He a l s o t e l l s w h a t h 2 w a n t s d o n e w i t h t!ie c o m p o n e n t , w h a t p r o c e s s e s s h o u l d t h e y b e s u b j e c t e d t 3 , w h e t h e r t h e wafe r s h o u l d be e x p o s z d o r n o t , w h e t h e r t h e e x p o s e d w a f e r s h o u l d b e d e v e l o p e d o r n o t , a n d i f t h e w a f e r i s t o b e b a k $ d how l o n a , s h 3 u l d i t b e b a k e d . A l l t h e s z t h i n g s h e s p e c i f i e s b y S i v i n ? t h e p h y s i c a l d i m e n s i o n s o f t h e c o m p o n e n t s i n v o l v e d , t h e c h a r a c t e r i s t i c p a r a m e t e r s d e s c r i b i n g t h e p r 3 c e s s $ s , a n d a n y o t h e r r e l e v a n t i n p u t p a r a m e t e r s t h a t d e s c r i b e w h a s i n n i n d . F i n a l l y , h e a l s o s p e c i f i e s t h e s e q u w h i c h t h e t h e o p e r a t i o n s l i k e b l e a c h i n g ( e x p o s i n g t h e wafe r t o t h e irllao,e) and e t c h i n s , o r b a k i n g a r e t o be c a r r i d o u t . And w h a t r e s u l t a n t a s p e c t s o f t h e r e s u l t i n g p r o d u c t h e w a n t s t a a o n i t o r .

t

To m a k e t h e a b o v e c o m m u n i c a t i o n b e t w e e n t h e h u n a n u s e r a n d SAMPLE s u i t a b l e f o r b o t h o f t h e m t h e y m u s t u n d e r s t a n d e a c h o t h e r . I n p a r t i c u l a r , t h e u s e r s h o u l d know w h a t SAMPLE c a n d o , how h e d o e s i t a n d wha t s h o u l d h e t o l d t o h im a n d i n w h a t way. SAYPLE t a k e s t h i s i n f o r m a t i o n a n d p r o c e s s e s i t a c c o r d i n g t o h i s u n d e r s t a n d i n g o f t h e a c t u a l p h e n o m e n a , w h i c h i s n o t h i n g b u t t h e m o d e l s d e s c r i b e d i n t h e l i t e r a t u r e [ s e e B i b l i o g r a p h y ] .

T h e s i t u a t i o n c a n be d e s c r i b e d i n a more p i c t o r i a l way a s shown i n f i z u r e 1 .

T h e u s 2 r s i v e s SAYPLE f o u r t y p e s o f i n f o r m a t i o n t o -- c o n - - t r o l a n d o b s e r v e t h e p r o c e s s :

c o n t r o l :

1 ) T h e s t a t i c s p e c i f i c a t i o n o f t h e c o m p o n e n t s l i k 2 n a s k , i r n a g i n g s y s t e T , w a f e r e t c . w h i c h j u s t i n v o l v e s t h e l i n e s i z p , s p a c e s i z e , l e n s p a r a m e t e r s , a n d l a y e r t h i c k n e s s e s e t c .

2) T h e p a r a m e t e r s p e c i f i c a t i o n f o r t h c dynami:: p r o c e s s e s a s c h a r a c t e r i z e d b y t h e i r mode l s . 5 . g . t h e A , B , C p a r a a e t c r s f o r d e s c r i b i n n g t h e b l e a c h i n g p r o c e s s e s , t h e d e v e l o p m e n t r a t e 3s a f u n c t i o n o f S l e a c h i n g (M- p a r a m e t e r ) f o r t h e z t c h i n ? p r o c e s s .

3 ) T h e s e q u e n c e o f o p e r a t i o n s p e r f o r n e d o n t h e comp n e n t s . e . g . t e l l i n g t h e c o n t r o l l e r t o p r o c e s t h e compon n t s i n t h e e x p o s i n g m a c h i n e , e t c h i n g m a c h i n e e t c . t

I

o b s e r v e :

Page 15: REPORT THE DESIGN OF A SIMULATOR - EECS at UC Berkeley · Report -- on the Design -- of a Simulator Program ... and if the wafer is to be bak$d how lona, ... for the ztchin? process

6

U 3 a C H

n b

O a J H v )

3 W

U 1 a U 3 0 ”

0 00 a l a c c

E 3 J J W

n aJ u a tcI $4 aJ U C cl I !d ar v) 3 aJ

W

Page 16: REPORT THE DESIGN OF A SIMULATOR - EECS at UC Berkeley · Report -- on the Design -- of a Simulator Program ... and if the wafer is to be bak$d how lona, ... for the ztchin? process

7

4 ) 'Ahat p a r a m e t e r s a r s t o m o n i t o r e d .

N a t u r a l l y , t h e c o n t r o l l e r c a n b e v i e w e d a s a p 2 r s o n i n c h a r g e o f a l a b w h e r e h e g e t s t h e c o m p o n e n t s t o t h e s p e c i f i - c a t i o n o f t h e u s e r , ~ e t s t h e m a c h i n e s t o p r o c e s s t h e c o n - p o n e n t s ( e . % . t o e x p o s e t h 2 w a f e r i n t h e i m a g i n g m a c h i e , o r e t c h i t i n t h e e t c h i n g m a c h i n e ) . And f i n a l l y C a r r i e o u t t h e o p e r a t i o n s t h a t t h e u s e r t e l l s h im t o c a r r y o u t n t h e s e q u e n c e k h a t h e t e l l s SAMPLE t o p e r f o r - n t h e m .

I t i s p r e c i s e l y t h e a b o v e p i c t u r e t h a t was i n p l e e n t e d i n t h e p r o g r a m SAYPLE. The c o r e o f t h e s i m u l a t o r i s t e l a b a n d t h e m a c 3 i n e s i n t h e l a b wh izh -a re r e p r e s e n t e d i t h e p r o g r a m a s t h P v a l u e s o f t h e p a r a n e t e r s t h a t s p e c i y t h e c o a p o n e n t s . T h e p r o c e s s i n a , i s c a r r i e d o u t a s a n u n r i c a l t i n e - s t e p s i a u l a t i o n on t h o s e v a l u e s b y p r o g r a r n s u b r o u t i n e s . T h e c o n t r o l l e r i s t h a t s u b r o u t i n e i n t h e p r o g r a n w h i c h g e t s t h e i n f o r m a t i o n f r o ? t h e user t h r o u g h t h e i n p u t i n t e r f a c e s u b r o u t i n e s a n d t h e n p u t s i t i n t h e p r o p e r p l a c e f o r t h e c o r n p o n e n t s ( e . % . t h e a p p r o p r i a t e s u b r o u t i n e s t o c a r r y o u t t h e i n d i v i d u a l c o m p o n e n t - p r o c e s s ( e . % . b l e a c h i n g , o r e t c h - i n g ) s i m u l a t i o n . A l so , t h e c o n t r o l l e r c o n t r o l s c e r t a i n o u t - p u t f r o m t h e p r o g r a m .

1 - 1 -

Once t h e a b o v e t h e o r e t i c a l model was r e c o g n i z e d f o r t h e p r o g r a m , i t was b u i l t t o f i t o t h e r l i a i t a t i o n s a n d c o n - s i d e r a t i o n s o f a p r a c t i c a l n a t u r e , l i k e t h e a v a i l a b l e memory s p a c e a n d c o s t o f c o m p u t e r t ime u s e d . To k e e p t h e i n p u t f o r m a t , c o n v e n i e n t t o t h e u s e r t h e f o r m of i n p u t s t a t e m e n t s was d e s i g n e d t o h a v e m n e n o n i c k e y w o r d s l i k e CONTACT, P R O J , DOSE, E T C H R A T E , R U N e t c . w i t h t h e c o r r e s p o n d i n g n u a e r i c a l g a r a m e t e r s f o l l o w i n g t h e m . [ F o r e x a c t d e t a i l s see t h e i n p l e m e n t a t i o n d o c u m e n t a t i o n i n p a r t s 2 a n d 3 . 1 Al so most, o f t h e i n f g r r n a t i o n a b o u t t h e s y s t e m n e e d n o t b e s p e c i f i e d i f i t h a s sorne s t a n d a r d v a l u e ( e . % . t h e s t a n d a r d w a v e l e n g t h , t h e s t a n d a r d e t c h r a t e r e l a t i o n f o r t h e s t a n d a r d d e v e l o p e r s w i t h t h e s t a n d a r d p h o t o r e s i s t s e t c . ) . Arly s y s t e l n p a r a m e t e r t h a t i s r e q u i r e d b u t n o t s p e c i f i e d i n t h e i n p u t h a s t h i s s t a n d a r d v a l u e b y d e f a u l t ( b u t t h e number o f i tems i n a g i v e n f o r m o f i n p u t s t a t e n e n t c a n n o t b e c h a n g e d a r b i t r a r i l y , e x c e p t , a s s p e n i f i e d i n t h e d o c u a e n t a t i o n ) . A t a b l e o f t h e s t a n d a r d v a l u e s u s e d i s cr,iven i n p a r t 3 o f t h i s r e p o r t ,

The o n e i a p o r t a n t d i f f e r e n c e b e t w e z n t h e r b o d e l s e n v i s i o n e d a b o v e f o r t h e r e a l i n a c h i n e s ( s e e f i g . 2 ) a$d t h e a c t u a l m o d e l s i m p l e n e n t e d i n t h e p r o g r a m f o r t h e m a c h i n e s i s t h e d e c o m p o s i t i o n o f t h e b l e a c h i n g t h r e e s u b p r o c e s s e s i n o r d e r n o t t o r e p e a t some c u l a t i o n s u n n e c e s s a r i l y wh3n a T h e p r o g r a m c o n s i d e r s t h e e x p o s u r e c o n s i s t i n g o f t h r e e d i f f e r e n t ( i . e . i n d e p e n d e n t l y e x e c u t a b l e ) s u b p r o c e s s e s :

Page 17: REPORT THE DESIGN OF A SIMULATOR - EECS at UC Berkeley · Report -- on the Design -- of a Simulator Program ... and if the wafer is to be bak$d how lona, ... for the ztchin? process

1

I I 1

I machines 1

Exposed c h i p *

The s i m p l e s t pa th

Other v a r i a t i o n s ------

I Imaging *--- _ _ _ _ _ _ _ - - ---, I Machine E tch ing

---I

Etched ch ip

Fig. 2 Material Flow Model f o r Real Yachines i n a Lab

Page 18: REPORT THE DESIGN OF A SIMULATOR - EECS at UC Berkeley · Report -- on the Design -- of a Simulator Program ... and if the wafer is to be bak$d how lona, ... for the ztchin? process

9

1 ) Imase f D r m a t i o n on t h e r e s i s t s u r f a c e

2 ) C a l c u l a t i g n o f a t a b l e w h i c h g i v e s a r e l a t i o n b e t w e e n t h e i m a g e i n t e n s i t y a t a p o i n t o n t h e r e s i s t s u r f a c e a n d t h e b l e a c h i n g p r o d u c e d ( t h s M - p a r a m e t e r ) at: t h e p o i n t s b e l o w i t , i n t h e r e s i s t l a y e r . T h i s c a l c u l a t i o n p r o c e e d s t h r o u g h t h e i n t e r c o u p l e d c o m p u t a t i o n s ( c q u p l e d d i f f e r e n t i a l e q u a t i o n s ) o f t h e s t a n d i n g wave f o r d e d i n t h e PR l a y e r and t h e e n e r g y a b s o r p t i o n d e p e n d e n t O n i t . The ?I v a l u e s w h i c h r e p r e s e n t t h e b l e a c h i n g , a s w e l l a s t h e r a t e o f a b s o r p t i o n a r e b o t h d e p e n d e n t o n t h e t o t a l a n o u n t o f P n e r g y a b s o r b e d a t t h a t p o i n t t i l l t h a t t i m e .

3 ) T h c c a l c u l a t i o n o f t h e a c t u a l b l e a c h i n g ( M - v a l u e s ) i n t h e r e s i s t l a y e r from t h e h o r i z o n t a l i m a g e i n t e n s i t y p a t t e r n f o u n d i n ( 1 ) and t h e t a b l e c a l c u l a t e d i n ( 3 ) .

T h e i m a g e f o r n a t i o n on t h e r z s i s t s u r f a c e i s i r l d e e d i n d e p e n d e n t o f t h e b l e a c h i n g p r o c e s s i n s i d e t h e r e s i s t l a y e r . T!ie h o r i z o n t a l i m a g e i n t e n s i t y c o m p u t a t i o n c a n b e c a r r i e d o u t i n d e p e n d e n t l y o f t h e b l e a c h i n g p r o d u c e d b e c a u s e o f i t . F u r t h e r , t h e b l e a c h i n g p r o c e s s i t s e l f c a n b e decom- p o s e d i n t o two s e p a r a t e c a l c u l a t i o n s a s n e n t i o n e d a b o v e . T h i s i s p o s s i b l e b e c a u s e o f t h e a p p r o x i m a t i o n t h a t i n s i d e t h e w a f e r t h e l i g h t t r a v e l s a s a p l a n e wave n o r m a l t o t h e s u r f a c e . T h i s i m p l i e s t h a t t h e l i g h t i n t e n s i t y a t a n y p o i n t i n s i d e t h e l a y e r s , i n p a r t i c u l a r i n t h e r e s i s t l a y e r , c a n be f o u n d f r o m t h e i m a g e i n t e n s i t y a t t h e s i n s l e p o i n t a b o v e i t o n t h e s u r f a c e . T h u s t h e b l e a c h i n g e f f e c t a t t h a t i n s i d e p o i n t i s d e p e n d e n t o n t h e i n a g e i n t e n s i t y a t o n l y o n e s i n g l e p o i n t Dn t h e s u r f a c e o f t h z l a y e r ( a f t e r t h e h o r i z o n t a l i a a s e i n t e n s i t y c a l c u l a t i o n s ) . T h i s m a k e s p o s s i b l e t h e d i v i s i o n o f t h e b l e a c h i n g c a l c u l a t i o n a s i n d i c a t e d a b o v e . Y o r e o v e r , b e c a u s e o f t h i s t h e s t a n d i n g wave and b l e a c h i n g c a l c u l t i o n s i n s u b p r o c e s s ( 2 ) a b o v e r e d u c e frorn a 3- d i m e n s i o n a l c a s e t o much s i m p l e r l - d i m e n s i o n a l c a s e a n d t h e c a l c u l a t i o n s i n ( 3 ) c a n b e c a r r i e d o u t b y u s i n g s i m p l e i n t e r p o l a t i o n on t h e v a l u e s a b t a i n e d i n ( 1 ) a n d (2).

T h u s t h i i n d i v i d u a l m a c h i n e s a v a i l a b l e i n S A Y P L E a r e :

1 ) H o r i z o n t a l i m a g e i n t z n s i t y d i s t r i b u t i o n c a l c u l a t i o n

2 ) S t a n d a r d - b l e a c h i n g c a l c u l a t i o n

3 ) A c t u a l - b l e a c h i n g c a l c u l a t i o n

4 ) E t c h i n g c a l c u l a t i o n I

5 ) O t h e r m a c h i n e s f o r d i f f u s i o n a n d M - d e g r a d a t i o n c a i c u l a - t i o n s t o s i m u l a t e t h e e f f e c t o f b a k i n g o r a c h l o r o b e n - z e n e s o a k .

Page 19: REPORT THE DESIGN OF A SIMULATOR - EECS at UC Berkeley · Report -- on the Design -- of a Simulator Program ... and if the wafer is to be bak$d how lona, ... for the ztchin? process

10

When t h e u s e r t e l l s SAYPLE t o r u n a p a r t i c u l a r a a b h i n e , s a y m a c h i n e 1 ( b y b y 3 R U N 1 s t a t e a e n t i n t h e i n p u t ) , t h e c o n t r o l l e r r u n s t h a t m a c h i n e and p r i n t s o u t t h e o u t p u t f o r t h e u s e r . T h i s p r i n t o u t g i v e s i n f o r m a t i o n a b o u t t h e % a n y r e l 5 v a n t p a r a m e t e r s u s e d i n t h e p r o g r a m t h a t r e p r e s e n t t h e a c t u a l p r o c e s s e s a n d m a c h i n e s , a s we l l a s t h e p a r a n e t e r s u s e d f o r d i s c r e t i z a t i o n o f t ime and s p a c e i n t h e s i m u l a t i o n f o r t h e n u - n e r i c a l r o u t i n e s . V a r i o u s p o r t i o n s o f t h e p u t p u t may b e t u r n e d on o r o f f b y s p e c i f y i n s s o i n t h e i n p u t [ s e e t h e i m p l e a e n t a t i o n d o c u m e n t a t i o n l . An e x a n p l e o f t h e 1 i n p u t ( a n d c o - n a e n t s on t h e o u t p u t ) i s shown i n p a r t 4 .

Also a p a r t f r o m t h e s t a n d a r d r o u t i n e s a v a i l a b l e i t h e s y s t e a , a f a c i l i t y i s p r o v i d e d i n t h a s y s t e a t o c a r 1 y o u t s ~ m e u s e r - d e f i n e d p r o c e s s i n 5 t h r o u g h t h e TRIAL-s t a ennPnt [ s e e p a r t 2 , a n d 4 1 . The T R I A L - s t a t e m e n t a l l o w s t h e u k e r t o i n t r D d u c e t e a p o r a r i l y h i s awn s p e c i a l p u r p o s e r o u t i n z s i n t h e p r o g r a a . The TRIAL s t a t e m e n t i s u s e d b y p u t t i n g i n two more s i m p l e s u b r o u t i o n e s t o i n t e g r a t e t h e u s e r ' s r o u t i n e s w i t h t h e r e s t o f SAMPLE [ s e e p a r t 4 1 .

I n t h e c a s e o f a n e r r o r i n t h e f o r m o f a n i n p u t s t a t e - m e n t t h e i n p u t i n t e r f a c e p r o v i d e s t h e p r o p e r d i a g n o s t i c mes- s a g e s a n d j u s t p r i n t s o u t t h e rg s t o f t h e i n p u t s t a t e m e n t s a s f a r a s i t c a n r e c o v e r f r o m t h e c o n f u s i o n c r e a t e d b y t h e e r r o r . T h i s h e l p s i n p o i n t i n s o u t t o t h e u s e r 3s many s y n - t a c t i c e r r o r s i n t h e i n p u t f o r m a t a s p o s s i b l e i n t h e f i r s t r u n i t s e l f .

Page 20: REPORT THE DESIGN OF A SIMULATOR - EECS at UC Berkeley · Report -- on the Design -- of a Simulator Program ... and if the wafer is to be bak$d how lona, ... for the ztchin? process

11

% h i s i d e n t i f i c a t i o n o f t h e s y s t e n a s a s t a t e - v a r i a b l t r o l l e d s y s t e m ( w h a t e l s e c a n a n y s y s t e n b e ? ) * f u r t h e r t h e n a t u r e o f v a r i a b l e s t h a t s h o u l d b e s t o r e d b a l l y ( i . z . t h e d a t a - s t r u c t u r e ) ( i n COMYON b l o c k s i n T R A N ) f a r t h e s y s t e m . Also t h e u s e r - s p e c i f i a b l e

2 . 2 . Somc More D i s c u s s i o n o f t h e P r o g r a m S t r u c t u r e - - - - --

c o n - c l a - i f i e d

g l o - FOR-

o p e r 3 t i o n s

2 . 2 . 1 . 3 n t h e S t s t e - V a r i a b l e C h a r a c t e r i z a t i o n o f t h e s y s t e m - _ - -- --

* [ ' r l i t h d u e r e s p z n t t o o t h e r t y p e s o f m o d e l s and c h a r a c - t e r i z a t i o n s o f s y s t e m s : I F o r a n a l o g s y s t e m s t h e s t a t e - v a r i a b l e t h e g r y o f c o n t r o l s y s t e r n s i s w e l l - k n o w n b u t also f9r d i g i t 3 1 s y s t e m s i t i s known i n t h e f o r m o f H u f f n s n q o d e l f o r s e q u e n t i a l c i r c u i t s ! i n t h i s m o d e l a s e t o f D - F l i p f l o p s a c t s a s t h e s t a t e - v a r i a b l e memory) a n 3 v a r i o u s o t h e r s i m i l a r m o d e l s , i n o p e r a t i n g s y s t e m s i t i s r a c o g n i z z d b y c o n z 2 p t s l i k e ' a p r o c e s s i s d e f i n e d b y t h e d a t a w h i c h r e p r e s e n t s i t ' , i n p r o g r a m m i n g l a n g u a g e s ' t h e s e m a n t i c s i t s e l f i s g i v e n b y a n i n t e r - p r e t e r w h i c h d e s c r i b e s haw t h e s t a t e - v e c t o r c h a n g k s a s t h e c o m p u t a t i o n p r o g r e s s e s ' ( J g h n Y c C a r t h y , 1 9 6 7 3 , a n d so o n .

* * I n f o r i n a l D e f i n i t i o n s :

C o n t r o l l a b i l i t y - T h e s y s t e r n c a n b e t a k e n f r m a n y s t a t e t o a n y o t h e r s t a t e i n a f i n i t e t ime b y a s u ' t a b l e

O b s e r v a b i l i t y - T h e s t a t e o f t h e s y s t e m c a n b e i n k e r r e d b y o b s e r v i n g i t s o u t p u t f o r a f i n i t e t i m e . I n t h e p r o g r a m many s t a t e v a r i a b l e s a r e a l s o t h e i n p u t v a r i a b l e s , o r t h e o u t p u t v a r i a b l e s t h e m s e l v e s , t h u s s i m p l i f y i n g t h e c o n t r o l l i n s o r o b s e r v i n g a c t i o n s .

i n p u t t 3 i t . P

Page 21: REPORT THE DESIGN OF A SIMULATOR - EECS at UC Berkeley · Report -- on the Design -- of a Simulator Program ... and if the wafer is to be bak$d how lona, ... for the ztchin? process

12

The a b o v e c o n c e p t s h a v e n o t o n l y g i v e n t h e f3r t h e s t r u c t u r e o f t h e p r o g r a m b u t t h e y g i v e a g o o d

A n o t h e r d e c i s i o n was t o g i v e b o t h t h e p r o g r a a m 3 r and t h e user t h e s a a e c o n t r o l l a b i l i t y 2nd o b s e r v a b i l i t y s o t h a t t h e r e a r e n o ' u n d e r t h e t a b l e d e a l s ' i n t h e s y s t e m t o w h i c h t h e u s e r d o e s n ' t h a v e an a c c e s s . T h i s i s u s e f u l t o k e e p t h e p roqra rnmer f r o m a n y t e m p t a t i o n s t o make t h e s y s t e m u n n e c e s - s a r i l y c o m p l i c a t e d t 3 m a n a g e o r a a i n t a i n .

g u i d e l i n e s f o r m a l

B e i n g a s i m u l a t e d l a b i t c a n e a s i l y b e made ' o v e r - c o n t r o l l a b l e ' t h a n t h e r e a l s y s t e m ( i . e . 3 s t a t e " i n a c c e s s i - b l e ' ' i n t h e r e a l s y s t e m - l i k e a d i f f r a c t i o n l e s s i m a g e - c a n be s i q u l a t e d ) . B u t t h e t e a p t a t i o n s f o r s u c h n o n - r e a l o v e r - c o n t r o l were f i r a l y r e s i s t e d ( t h o u g h e v e n now i t c a n b e o b t a i n e d b y u s i n g t h e T R I A L - s t a t e m e n t o f t h e p r o g r a 1 and t h a t m u s t h a v e s a v d a l o t o f i r r e l e v a n t p l a y i n s w i t h F" t h e p r o g r a m ( u n l i k e e x t r a o b s e r v a b i l i t y w h i c h i s v e r y c o n v l e n i e n t t o h a v e i f i t c a n b e s w i t c h e d o f f when n o t w a n t e d ) .

2 . 2 . 2 . On t h e I n p u t / D u t p u t o f t h e m a c h i n e s w i t h i n -- t h e l a b _ - - --- --

F r o n t h e i n f 3 r a a t i o n f l o w o f t h e s i m u l a t e d l a b a s shown i n f i g . 3 , i t i s c l e a r t h a t t h e m a c h i n e s a r e i n t e r f a c e d t o e a c h o t h e r t h r o u g h t h e i r common d a t a s t r u c t u r e . H e n c e , t 3 make t h e s y s t e a m o d u l a r , t h e m a c h i n e s s h o u l d n o t h a v e a n y more i n t e r c o n n e c t i o n s t h a n t h o s e a r i s i n g f r o m a w e l l - d e f i n e d i n t e r f a c e . B u t a t t h e same t i m e , i t i s c o n v e n i e n t t o h a v e s o a e r e d u n d a n t i n f o r a a t i o n i n t h i s i n t e r f a c e b e t w e e n m a c h i n e s f o r c l a r i t y i n t h e u s e r o u t p u t . e . g . when r u n n i n g m a c h i n e 1 i t s w a v e l e n g t h i n p u t s h o u l d b e c o p i e d o n t o i t s o u t - p u t d a t a - s t r u c t u r e i n t e r f a c i n g i t w i t h a a c h i n e 3 s o t h a t m a c h i n e 3 c a n t e l l t h e u s e r a b o u t t h e w a v e l e n g t h a t w h i c h i t s i n p u t w 3 s d e r i v e d , w i t 5 o u t c o n s t r a i n i n g a a h c h i n e l Lo k e e p i t s i n p u t w a v e l e n g t h u n c h a n g e d t i l l m a c h i n e 3 i s f i n i s h e d w i t h t h e i n t e r m e d i a t e o u t p u t , o f m a c h i n e l . T h i s c a n de g e n - e r a l i z e d t o m o r e m a c h i n e s i q t e r c o n n e c t e d a t o n e p o i n t and may b e u s e f u l i f t h e s t a t e o f t h e s y s t e r n i s t o b e s a v e d o n some t e a p o r a r y o u t p u t f i l e ( n o t p o s s i b l e a t p r e s e n t ) f o r c o n t i n u a t i o n o f t h e r u n a t some f u t u r e t i m e , b u t i t i s e a s y t o o v e r d o i t .

2 . 2 . 3 . On t h e a c t u a l p r o g r a m s t r u c t u r e - - - --- - ~ - - -

I t i s o n l y f a i r t o s a y t h a t t h e d i s c u s s i o n i n t h e two s u b s e c t i o n s a b o v e p r e s e n t s t h e d e s i g n g u i d e l i n e s w h i c h were c o n s c i o u s l y f o l l o w e d , r a t h e r t h a n a s t r i c t w o r k s h o p d i s c i p - l i n e t h a t was r i g i d l y a d h e r e d t o . T h e r e a r e some v e r y s m a l l d e v i a t i o n s b u t s t i l l t h e c o r r e s p o n d e n c e b e t w e e n t h e p r o g r a m a n d t h e a b o v e s t r u c t u r e i s q u i t e a n e x a c t o n e .

Page 22: REPORT THE DESIGN OF A SIMULATOR - EECS at UC Berkeley · Report -- on the Design -- of a Simulator Program ... and if the wafer is to be bak$d how lona, ... for the ztchin? process

INPUT I Informat ion i n t h e program (Machine c o n f i g u r a t i o n s , parameter va lues , e t c . ) from User I

L

Objec t (Mask) i (1) S y s t e m I

(lambda) I - A

' Horiz . L a Image

Spectrum I - Format ion

OUTPUT t o User

Inpu t s t m t s l i s t

(Er ro r messages) ......;:.-. >. -.... , ... .;.. H o r i z o n t a l Image I n t e n s i t y - I

I >

3 ( 2 ) I I

Layers I Standard M t r ,

(RUN 1 )

1 > ' > Resmodel I s

I Bleaching I (RUN 2)

4 ( 3 )

Page 23: REPORT THE DESIGN OF A SIMULATOR - EECS at UC Berkeley · Report -- on the Design -- of a Simulator Program ... and if the wafer is to be bak$d how lona, ... for the ztchin? process

14

W i t h t h a t s t r u c t u r e f o r t h e c o r e o f t h e s i m u l a t o r , t h e a c t i o n s a n d p r o p e r t i e s o f t h z u s 2 r - i n t e r f a c e f o l l o w s l t r a i g h - t a w a y from t h e c o n c e p t s o f c o n t r o l l a b i l i t y a n d o b s e k v a b i l - l i t y e x c e p t f o r t h e e x a c t f o r m a l d e f i n i t i o n s o f i t s i n p u t s y n t a x a n d s e m a n t i c s . T h e s e a r e s i v e n i n d e t a i l i n p R r t 2 . T h e c o n t r o l s t r u c t u r e o f t h e i n p u t i n t e r f a c e a n d t h e i n f o r - m a t i o n f l o w i n i t a r e shown i n f i s u r e s 4 , 5 , a n d 5 , j n t h e c o n t e x t o f t h e s y s t e m a s a w h o l e . A l s o t h e s e f i s u r e s s h o w t h e s t r u c t u r e o f t h e o u t p u t i n t e r f a c e q o r e c l e a r l y t h e n t h e way i t i s shown i n f i g . 1 . T h a t ' o u t p u t i n t e r f a c e ' 6n f i g . 1 s t a n d s f o r t h e ' c e n t r a l i z e d ' c o m p o n e n t s l i k e t h e r e t t y - p r i n t e r f o r s t a t e m e n t s , t h e d i a g n o s t i c e r r o r - m e s s a g e u b r o u - t i n e s o f t h e i n p u t i n t e r f a c e , and t h e i a p l i c i t ( t i v i a l ) ' p r e t t y p r i n t e r ' t o e c h o t h e c a r d s o n t h e o u t p u t ( t h e e d i f - f e r e n t o u t p u t s s h o u l d e i t h e r g o t o d i f f e r n t D u t p u t f i l e s a n d / o r t h e u s e r s h o u l d b e a b l e t o t u r n t h e n o n ~ o r o f f ( e x c e p t f o r t h e e r r o r m e s s a g e s ) b y a n i n p u t s t a t e r n b n t t 3 t h a t e f f e c t ) . I t d o e s n o t c o n s i d e r t h e ' d i s t r i b u t e d ' o u t p u t c o n i n g frorn t h e v a r i o u s m a c h i n e s i n t h e l a b . I n d e e d f i g u r e s 4 , 5 , a n d 6 a r e more p r e c i s e i n s h o w i n g t h i s .

One d e f i c i e n c y o f t h e f i g u r e s i s t h a t t h e y d o n o i n d i - c a t e c l e a r l y t h e p o s i t i o n o f t h e s u b r o u t i n e s w h i c h ' e e c u t e ' t h e i n p u t s t a t e a e n t s ( b y e i t h e r s t o r i n g t h e cornpone t s i n t h e l a b o r b y s e t t i n g t h e v a r i o u s ( o u t p u t ) s w i t h c h e s i n f o r - m a t i D n f l o w a c t i o n ) , D r b y r u n n i n g t h e m a c h i n e s ( b y E a l l i n g o t h e r s u b r o u t i n e s ) a c c o r d i n g t o i n p u t commands . I n t h e f i g - u r e s t h e s e commands a r e c o n s i d e r e d t o b e j u s t a p a r t o f t h e ' c o n t r o l l e r ' b e c a u s e d o i n g o t h e r w i s e c a u s e s a o r e l o s s i n s i m p l i c i t y and c l a r i t y t h a n t h e r e s u l t a n t g a i n i n p r e c i s i o n .

A comment : N o t e t h a t t h e a b o v e models o f t h e s i m u l a t e d p r o c e z s e s , and h e n c e t h e p r o g r a T , a r ? c o n p l e t e l y " d e t e r - m i n i s t i c " i . t . t h P y i n v 3 l v e no r a n d m v a r i a b l e s , p r o b a b i l i - t i e s , o r s t o c h a s t i c p r o c e s s e s .

2 . 2 . 4 . Q n t h e D e s i g n o f t h e I n p u t - I n t e r f a c e

2 . 2 . 4 . 1 . S y d n t a x a n d S e m a n t i c s

_ - - - - - --- -

_ _ _ _ - T h e i n p u t l a n g u a g e i s a v e r y s i m p l e 2 - l e v e l and non-

p r o c e d u r a l l a n s u a g e d e s i o , n e d i n a s t a n d a r d s t r a i g h t r o r w a r d m a n n e r [ s e z f i g u r t 51 . A f t e r t h e c a r d i n p u t i s i m p i c i t l y c o n v e r t e d t o a s i n g l e c h a r a c t e r - s t r e a m b y s u b r Q u t i n g c a r d ( w h i c h a l s o p r i n t s o u t t h e c a r d i m a s e s o n t h e o u t p u t i l e ( - ' p r e t t y p r i n t s ' them i . e . m a r k s t h e n t o b e r e c o g n i z e d a s t h e echo of t h e i n p u t c a r d s ) ) t h e l e x i c a l a n a l y z e r c a n g e t t h e c h a r a c t e r s i n t h e c h a r a c t e r s t r e a m b y c a l l i n g s u b r o u t i n e g c h a r ( s e e f i g u r e s 4 , 5 , a n d 6 ) . T h e f i r s t l e v e l o f t h e i n p u t g r a m m a r , f o r t h e l e x i c a l a n a l y z e r ( s c a n n e r ) , i s a s i m - p l e t y p e 3 ( i . e . r e g u l a r ) l a n g u a g e d e f i n e d b y a BNF s y n t a x [ s e e p a r t 23 . T h e l e x i c a l a n a l y z e r f o r m s t h e l e x i c a l t o k e n s , l i k e k e y w o r d s a n d n u m b e r s , a n d p a s s e s t h e m o n w i t h

I --

Page 24: REPORT THE DESIGN OF A SIMULATOR - EECS at UC Berkeley · Report -- on the Design -- of a Simulator Program ... and if the wafer is to be bak$d how lona, ... for the ztchin? process

C o n t r o l l e r

g e t d s t m

gcha r , & gca rd

where Lex = L e x i c a l Analyzer pp = P r e t t y p r i n t e r ( f o r s t m t s )

- ( a ) : Graph ica l ly ( e x a c t l y as i t i s )

beg in

i n i t i a l i z e v a r i o u s t h i n g s ;

repeat

g e t a s t m t from i n p u t ; p r i n t i t o u t i n an expanded form ;

i f ( ( n o p rev ious e r r o r ) o r I- ('end-of-input-stmts'stmt)) [ t h e n execu te i t ;

u n t i l (end of i npu t s t m t s )

end -

& : ' Equ iva len t ly ' f o r (a) ( a s a high level code)

n C o n t r o l l e r

Fig. 4 Cont ro l S t r u c t u r e of t h e Program

- (c) : ' Equ iva len t ly ' f o r ( a ) (Graph ica l ly )

Page 25: REPORT THE DESIGN OF A SIMULATOR - EECS at UC Berkeley · Report -- on the Design -- of a Simulator Program ... and if the wafer is to be bak$d how lona, ... for the ztchin? process

P h y s i c a l I n p u t from User

~ +

subr s c h a r s lexemes C o n t r o l l e r Lex ~ gcard, gchar

7

\. c a r d s -

: ppcard ;

L--\--o ca rd

images

~ +

subr s c a r d s c h a r s lexemes C o n t r o l l e r Lex , gcard, gchar

7

Lab -+

Machines ..

\

4 error- messages error- messages

L--\--o ca rd mess ages

s t m t l i s t i n g J'

Machine

where ppcard = I m p l i c i t ' p r e t t y p r i n t e r '

f o r ca rds ("quotes" t h e ca rd image t o d i s t i n g u i s h i t from o t h e r o u t p u t ) .

pp = The p r e t t y p r i n t e r f o r s t m t s (= "ppstmt")

Output t o t h e User

Fig. 5 The Information-f low S t r u c t u r e of t h e Program

Page 26: REPORT THE DESIGN OF A SIMULATOR - EECS at UC Berkeley · Report -- on the Design -- of a Simulator Program ... and if the wafer is to be bak$d how lona, ... for the ztchin? process

17

Page 27: REPORT THE DESIGN OF A SIMULATOR - EECS at UC Berkeley · Report -- on the Design -- of a Simulator Program ... and if the wafer is to be bak$d how lona, ... for the ztchin? process

18

t h e i r v a l u e s ( m e a n i n s s ) , a s l e x e a e s t=, t h e p a r s e l " . The p a r s e r f o r n s t h e i n p u t s t a t e m e n t s f r o m t h ? s e lexemes a c c o r d - i n g t o a n o t h e r r 2 g u l a r g rammar [ s e e p a r t 21 a n d f i n a l l y t h e c o n t r o l l e r uses t h e s e s t a t e m e n t s i n a n i n t e r p r e t e r - l i k e f a s h i o n - p e r f o r m i n g t h e s u i t a b l e a c t i o n s i n d i c a t e d b y t h e i r m e a n i n g s .

_ -

2 . 2 . 4 . 2 . - _ _ _ E r r o r H a n d l i n g P h i l o s o p h y

The e r r o r h a n d l i n g p h i l o s o p h y o f t h e i n p u t i n t e r f a c e i s b a s e d on a s i a p l e i d e a . The i n p u t s r a a m a r i s ' f u l l y -___ d e f i n e d ' o v e r a l l t h e p 9 s s i b l e c o a b i n a t i o n s o f t h e i n p u t , c h a r a c t e r s . T h i s c o m p l e t e n e s s i s a c h i e v e d b y a t t a h i n g a m e a n i n g o f t h e t y p e " e r r o n e o u s f3ra" t o a n y < i t e m > wh c h i s I v i l l e g a l l y f v f o r m e d . T h u s a t t h e f i r s t t h r e e l e v e l s 4 t h e r e a r e d e f i n e d < e r r o n e o u s - c h a r > s , < e r r o n e o u s - l e x - t o k e n s , a n d < e r r o n e o u s - s t r n t > s w h i c h a r e n o t h i n g e l s e b u t < i t e m > s t o be f o r a e d a t t h a t l e v e l t h a t a r e n o t c o r r e c t l y - c o n s t r u t e d i n t h e u s e r i n p u t . When t h e s e ( e r r o n e o u s - i t e m > s a r e d e t e c t e d i n t h e i n p u t t o t h a t l e v e l , a n e r r o r - h a n d l i n g r o u t i n e ( e a c h l e v e l h a s i t s own) i s c a l l e d . T h a t e r r o r - h a n d l i n g r o u t i n e p r i n t s o u t a p r o p e r d i a g n o s t i c r n e s s a g e f o r t h e u s e r , a t t a c h e s t h e m e a n i n g o f ' e r r o r - v a l u e ' t o t h a t i t e n ( e a c h l e v e l h a s 3 n l y o n e ' e r r o r - v a l u e ' f o r t h e < e r r o n e o u s - i t e n > s f o r m e d a t t h a t l e v e l ) a n d t h e n i n c r e a e n t s a p r i v a t e c o u n t e r k e e p i n g t r a c k o f how many e r r o r s were d e t e c t e d a t t h a t l e v e l i n t h e c u r r e n t r u n ( a n d i f t h e number o f d e t e c t e d e r r o r s a t t h a t l e v e l e x c e e d s a c e r t a i n l i m i t t h e n t h e p r o g r a m i s s t o p p e d r i g h t t h e r e b y e x e c u t i n g a S T O P - s t a t e m e n t ) .

1 -

I n t h e s a m e s p i r i t , t h e c q n t r o l l e r ' e x e c u t e s ' a n < e r r o n e o u s - s t a t > b y s e t t i n g u p 3n e r r o r - f l a g i n t h e l a b w h i c h c a u s e s t h e p r o c e s s i n g i n t h e l a b t o s t o p . The u s e r i n t e r f a c e c o n t i n u e s i t s j o b s o t h a t t h e user may know how t h e r e s t o f t h e i n p u t i s g o i n g t o b e a c c e p t ? d .

T h i s s c h e m e o f t r e a t i n g t h e e r r3rs b y a s s o c i a t i n g a s e p a r a t e T v m e a n i n g f v t o t h e n h a s r e s u l t e d i n a v e r y s i m p l e , c l e a n , and m o d u l a r d e s i g n f o r t h e i n p u t i n t e r f a c e . The i n t e r f a c e d o e s n o t p a n i c o r g e t o f f - b a l s n c e b e c a u s e o f a n y s i v p l e i n p u t m i s t a k z s b u t zoes o n p e r f o r - n i n g i t s j o b i n a s n o o t h m a n n e r .

{ T h e r e a r e a few s a a l l d e v i a t i o n s f r o m t h e a b o v e d e s i g n i n t h e a c t u a l c o d e b e c a u s e o f t h e way i t was f i r s t w r i t t e n . }

?/ ( s e e f i g . 5 ) . T h e f i r s t t h r e e l e v e l s a r e t h e r q c o g n i - t i o n a n d f o r a a t i o n l e v e l s f o r ( 1 ) c a r d t o c h a r c t e r s , (2) c h a r s t o l e x - t o k e n s , ( 3 ) l e x - t o k e n s t o a n d t h e f o r t h l e v e l i s t h e i n t e r p r e t a t i o n l e v e l f o r (4) stmts t o a c t i o n

s t m t f ;

Page 28: REPORT THE DESIGN OF A SIMULATOR - EECS at UC Berkeley · Report -- on the Design -- of a Simulator Program ... and if the wafer is to be bak$d how lona, ... for the ztchin? process

19

C h a p t e r - 3 M i s c e l l a n e a

3 . 1 . V a l i d i t y o f t h e S i m u l a t i o n - - -----

The v a l i d i t y o f t h e r e s u l t s a b t a i n e d i n t h e s i m u l a t o r i s d i s c u s s e d i n t h e p a p e r s g i v e n i n R e f e r e n c e s { s e c t i o n 'Usao," ' I .

3 . 2 . U s a g e o f t h e P r o g r a m - - - ~ _ _ - A t p r e s e n t t h e p r o g r a m i s s t i l l b e i n g e x p a n d e d , a n d

!i$nce i t i s m o s t l y b e i n g u s e d b y a s m a l l g r o u p w i t h i n U n i v e r s i t y o f C a l i f o r n i a a t B e r k e l e y , o n t h e CDC 6400 com- p u t e r w i t h t h e CALIDOSCOPE D p e r a t i n g s y s t e m o f t h e U n i v e r s i t y ' s C o m p u t e r C e n t e r .

3 . 2 . 1 C o m p u t e r Time a n d Memory R e q u i r e m e n t s

An A v e r a s e r u n o f t h e e x p o s u r e and d e v e l p m e n t s e q u e n c e s f o r t w o c h i p s c o s t s a b o u t $ 2 . 0 t o 2 . 5 a t t h n o r - m a l ( ' J ' ) p r i o r i t y , and a p p r o x i m a t e l y $ 1 . 0 t o $ 1 . 0 a t d e f e r r e d ( I D ' ) p r i o r i t y ( C P U t ime a p p r o x . 4-7 s e c o n d s ) . B u t i f t h e d i f f u s i o n m a c h i n e i s u s e d t h e n i t t a k e s a b o u t 25 t o 3 9 s e c o n d s o f t h e C P U t ime a n d c o s t s a b o u t 3 d o l l a r s a t D p r i o r i t y . The P r o g r a m r e q u i r e s s l i g h t l y l e s s t h a n 1 1 2 3 0 0 ( i n o c t a l = 37833 i n d e c i m a l ) words ( 6 0 b i t s e a c h ) o f memory t o l o a d and a ? i t t l e l e s s t h a n t h a t t o e x e c u t e . F o r a m o r e d e t a i l e d s t a t i s t i c s o f t h e p r o q r a m s i z e s ee s p p E n d i x 1 A .

____ - - __ - - - - - - - _ _ _ _ _ _ .. Th: q e a o r y a n d time r e q u i r e m e n t s s h o u l d g e t r e d u c e d b y

u s i n 5 some m a n u a l o p t i m i z i n c r , i n t h e s o u r c e c o d e , a n d i n p a r - t i c u l a r t h e t i n e r e q u i r m c n t s s h o u l d g e t r e d u c e d s i g n i f i - c a n t l y b y r e w r i t i n g some c r i t i c a l s e c t i o n s i n t h e program a n d u s i n g a n o p t i n i z i n g c o n p i l e r l i k e FTN, c)r R U N W .

3 . 2 . 2 T h e P r o g r a a m i n g L a n g u a g e Used - - - - - _ - ~

The p r o g r a m i s w r i t t e n i n ANSI S t a n d a r d FORTRAN [ s e e R e f e r e n c e s ] t o b e e a s i l y t r a n s p o r t a b l z t o o t h e r m a c h i n e s . !The few, v e r y s m a l l d e v i a t i o n s f r o n t h i s s t a n d a r d a r e l i s t e d i n t h e ' I m p l e a e n t a t i o n D o c u m e n t a t i o n ' ( P a r t s 2 , a n d 3 > , a n d s h o u l d g e t r e n o v e d s o o n . )

3 . 3 . Managemen t o f t h e P r o g r a m C o d e -- - -

The s o u r c e c o d e was e n t e r e d o n t h e UNIX i n t e r b c t i v e O p e r a t i n g S y s t e m o n t h e P D P 1 1 / 7 0 c o m p u t e r a t t h e C o m p u t e r C e n t e r , UCB. The h i e r a r c h i c a l d i r e c t o r y s t r u c t u r e o f U N I X i s u s e d t o s t o r e t h e v a r i o u s m o d u l e s o f t h e s o u r c e c o d e k e p t

Page 29: REPORT THE DESIGN OF A SIMULATOR - EECS at UC Berkeley · Report -- on the Design -- of a Simulator Program ... and if the wafer is to be bak$d how lona, ... for the ztchin? process

20

i n s e p a r a t e f i l e s . The f o r t n o n p i l e r on U N I X f o r t a n d a r d F o r t r a n was u s d t o d e t e c t s i n p l e s y n t a x e r r o r i n t h e s o u r c e c o d e w9en n e w l y e n t e r e d . Then t h e c o d e was s i e n t 3 n t h e ' r c s l i n k ' t o C D C 6 4 0 0 . T h e r e i t was f i r s t che icked b y u s i n g t h e ' A I D ' c o r n p i l e r and t h e n w i t h ' R U N ' . Thle RUN- c o r n p i l e d o b j e c t c o d e i s k e p t (modularly) on t h e ' P e k m a n e n t F i l e s ' of 5 4 0 0 , a n d l o a d e d f r o m them f o r e a c h r u n .

4 - _ _

__ --

No memory o v e r l a y i n e , i s d o n ? f D r l o a d i n g and e x i e c u t i n g t h e p r o g r a m .

A f t i r t h e p r o g r a m c o d e s e t t l e s down s u f f i c i 2 n t l y , a n o p t i n i z e d o b j e c t c o d e k e p t i n a s i n g l e p P r v a n e n t f i l e f o r f a s t l o a d i n g and e x e c u t i o n s h o u l d c u t down t h e u s a g e c o s t 9 v e n f u r t h e r .

T h e r e a r e p l a n s t o p u t t h i s p r o g r a m on some o f t h e new m i n i z o T p u t e r s f o r w i d e r u s a g e .

3.4. - - G r a p h i c a l O u t p u t O p t i o n -- ---

F o r human e n g i n e e r i n g r e a s o n s , some o f t h e o u t p u t , l i k e t h e e t c h - c o n t D u r s , i s p l o t t e d o u t o n t h e p r i n t e r o u t p u t , r a t 5 e r t h a n j u s t p r i n t i n g t h e c o - o r d i n a t e s n u m e r i c a l l y . B u t s i n c e t h e p r e c i s i o n o f a c h a r a c t e r - p o s i t i o n e d p r i n t e r - p l o t i s n o t v e r y h i g h , a n i n p u t s e l 3 c t a b l e o p t i o n i s p r o v i d e d i f m o r e a c c u r a t e p l o t s a r e d z s i r z d . Under t h i s o p t i o n , a s e t o f c a r d s w i t h t h e c o - o r d i n a t e s o f t h e p o i n t s o n t h e c u r v e a n d some o t h e r i n f o r m a t i o n r e l e v a n t f o r t h e p l o t i s p u n c h e d o u t o n t h e 5 4 0 0 . Then a p r e c i s e p l o t i s o b t a i n e d f r o m t h e s e n u m S e r s u s i n g a d i s i t a l p l o t t e r d r i v e n b y a d e s k c a l c u l a t o r i n t e r f a c e d w i t h a c a r d r e a d e r .

{ A c t u a l l y s u c h s t o r i n g o f i n f o r m a t i o n on a n i n t e r m e d i - a t e o u t p u t f i l e f o r p o s t p r o c e s s i n g b y a d i f f e r e n t p r o g r a m i s a g e n e r a l i z a t i o n o f t h e s a n e s i m p l e i d e a ( a s m e n t i o n e d i n s o c 2 . 2 . 2 ) o f o u t p u t t i n g t h e s t a t ? - v a r i a b l ? s o f t h e p r o g r a m f o r l a t e r use b y t h e s i m u l a t o r p r o g r a m i t s5 l f f o r a c o n - t i n u a t i o n r u n . }

3 . 5 . Some H i s t o r y o f t h e P r o g r a m ~ -- - - .- -

3 . 5 . 1 C o n t r i b u t i o n s t o t h e P r o g r a m _ _ - ~ _ _ ~ - _ . - - - _

T h i s p r o g r a m i s o n e p a r t o f t h e work b e i n g d o n e a t U C B i n t h e f i e l d o f s e q i c o n d u c t o r p r o c e s s i n g . The o r i g i n a l i d e a t o h a v e a s u c h a u s c r - o r i e n t e d , u n i f i e d s i m u l a t o r p r o g r a m f o r p h o t o l i t h o g r a p h y i s d u e t 3 P r o f . Andrew R . N c u r e u t h e r , a n d P r o f . W i l l i a m G . Oldham ( s p r i n g 1 9 7 7 ) . Af te r s t a r t i n g i n J u l y 1977 , t h e f i r s t c o m p l e t e v e r s i o n was r e a d y o n December 3 1 , 1977 ( 1 0 p . m . ) . Be fa re t h a t , i s o l a t e d r o u t i n e s t o s i m u l a t e t h e e x p o s u r e and e t c h i n g were w r i t t e n b y D i l l

Page 30: REPORT THE DESIGN OF A SIMULATOR - EECS at UC Berkeley · Report -- on the Design -- of a Simulator Program ... and if the wafer is to be bak$d how lona, ... for the ztchin? process

21

a n d cowor'tc2r-s [ S e e References : J u l y 1 9 7 5 3 , N e u r e u t h e r and s o w o r k e r g s [1 ,9761 , and b y J z w e t t and c o w o r k e r s [ J u n e 1 9 7 7 1 . Now the-7 h a v e 6 e e n a d a p t e d f Q r u s e i n t h i s p r o g r a a b y Y i c h a e l O'Toole. !.like h a s e x t e n s i v e l y m o d i f i e d t h e c o r e r o u t i n e s ( t h e l a b ) , a d d e d some m o r e t o h a n d l e t h e o p t i c a l phenomena b a s e d o n m o d e l s o f h i s o w n , a n d a l s o v a r i o u ' s p l o t - t i n g r o u t i n e s t o g e n e r a t e a d e s i r a b l e g r a p h i c a l o u t p u k . The s y n t a x o f t h e User I n t e r f a c e was d e s i g n e d b y P r o f . O ldham, a n d s o a l s o was t h e d i f f u s i o n p r o g r a m . The o v e r a l l o r g a n i - z a t i o n o f t h i s p r o g r a m and i t s d a t a - s t r u c t u r e a r e d u e t o S h a r a d N . N a n d g a o n k a r . And a l s o t h e User I n t e r f a c e was w r i t t e n b y hirn.

3 . 5 . 2 D o c u m e n t a t i o n o f t h e P r o g r a m -

The d o c u n e n t a i o n o f t h e p r o g r a m , i n i t s b a s i c d w a s s k e t c h e d o u t a s t h e p r o g r a m was d e v e l o p e d b u t was t h i s f o r m o n l y when w r i t i n g t h i s r e p o r t . P u t t i n g i t f i n a l f o r m s h o u l d h a v e b e e n d o n e a l o n g w i t h t h e w r i t h e p r o g r a m c o d e .

- - - - - _ _ _

The e d i t i n 2 and d o c u m e n t p r e p a r a t i o n f a c i l i t i e s a v a i l - a b l e on UNIX were a g r e a t h e l p i n a s s e q b l i n g i t i n t h i s f i n a l f o r m .

Page 31: REPORT THE DESIGN OF A SIMULATOR - EECS at UC Berkeley · Report -- on the Design -- of a Simulator Program ... and if the wafer is to be bak$d how lona, ... for the ztchin? process

A p p e n d i x - 1 A

Some S t a t i s t i c s on t h e P r o g r a m S i z e

22

The P r o g r a n i s c o n s i d e r e d t o b e made up o f t h e pa t s : i n t e r f a c e , s n d c o r ? ( = t h e l a b r o u t i n e s t o s i n u l a l e t h e m a c h i n e s ) . H e n c e t h e s i z e o f t h e p rogra rn i s g i v e n decom- p 3 s e d a s

s i z s o f [ p r D 2 r a q = i n t e r f a c e { = ( l e x + p a r s e r + p r p r + <ex- s t m t- s u b r > s 1

+ c o r e I = ( l a b ) I

w h e r e p r p r = t h e p r e t t y p r i n t e r f a r t h e s t a t e m e n t s i , a n d ' < e x - s t m t - s u b r > ' i s u s e d t o d e n o t e t h e s u b r o u t i n e s ; i n t h e u s e r i n t e r f a c e t h a t ' e x e c u t e ' s t a t e a e n t s , a l o n g w i t h t h e t o p l s v e l c o n t r o l l e r ( b u t n o t i n c l u d i n g t h e m a c h i n e s i n t h e c o r e o f t h e p r o g r a m ) .

{ N o t e : The p r o g r a r n h a s n o t s e t t l e d down f u l l y a n d h e n c e some o f t h e n u m b e r s a r e n o t f i n a l . Also t h e n u m b e r s a r e

p r 3 g r a m , t h o u g h n g t e x a z t , SQ t h e r e s u l t s shown f o r ad i t i o n q u i t e a c c u r a t e f o r t h e c u r r e n t s t a t u s ( J u n e 1 9 7 8 )

may d i f f e r s l i g h t l y f r o m t h e a r i t h m e t i c : s u m . ]

l A . l . S D u r c e Code S i z e - - -- The s o u r c e c o d e s i z e i s p , i v e n a s n u a b e r o f l i n e s ( =

c a r d s ) f o r t h e r o u t i n e s . The n u m b e r s i n p a r e n t h e s e s a r e f o r t h e c o d e w i t h o u t t h e comment c a r d s , a n d a r e e s t i m a t e s t h a t s h o u l d b e z c c u r a t z t o w i t h i n 3 50 8 %. The s o u r c e c o d e i s k e p t i n UNIX f i l e s .

1 . 4 . 1 . 1 F o r t h e I n t e r f a c e - - - - - L e x = 3 5 6 ( 1 9 0 ) P a r s e r = 860 (500) P r p r = 2 6 5 ( 2 0 0 ) < e x - s t m t - s u b r s > s = 5 3 5 ( 3 5 0 )

H e n c e t o t a l s i z e f o r t h e i n p u t i n t e r f a c e = T o t a l ( = 2 1 1 6 ( 1 2 4 0 ) l i n e s

1 A . 1 . 2 F o r t h e C o r e o f t h e P r o g r a m - - - ------

rnac 1 = 5 0 0 ( 2 5 0 ) rnac 2 , 3 , a n d 4 = 1000 ( 9 2 5 ) rnac 5 ( d i f f u s ) = 1 5 0 ( 7 5 )

SI)

Page 32: REPORT THE DESIGN OF A SIMULATOR - EECS at UC Berkeley · Report -- on the Design -- of a Simulator Program ... and if the wafer is to be bak$d how lona, ... for the ztchin? process

23

Y n n c e t o t a l s i z e f o r t h e l a b = t o t a l 2 = 1550 ( 1 2 5 0 ) l i n e s = t o t a l s i z e f o r t h e c o r e o f t h e p r o g r a m = t o t a l ! s C )

1 A . 1 . 3 T o t a l P r o g r a m -- - - - ~~~

H e n c e t h e s i z e f o r t h e t o t a l p r o s r a m = t o t a l ( s P ) = t o t a l ( s C 1 + t o t a l ( s 1 )

= 3765 (2499) l i n e s = 2 1 1 6 ( 1 2 4 0 ) + 1 5 5 0 ( 1 2 5 0 )

1 A . 2 . 9 b j e c t Code S i z e - - - - -- - Th? s i z e f o r t h e RUN-compiled o b j e c t c o d e i s g i v e n h e r e

i n terms o f t h e n e m o r y w o r d s (60 b i t e a c h ) f o r t h e C D C 6 4 0 0 c o m p u t e r . A s u f f i x ItB1? f o l l o w i n g a number t e l l s t h a t t h e n u m b e r i s i n o c t a l ( i . e . b a s e 8 > , a l l o t h e r n u m b e r s a r e r e p r e s e n t e d i n t h e u s u a l d e c i n a l s y s t e m .

O b v i o u s l y , l i k e t h e s o u r c e c o d e t h e s e a r e n o t t h e f i n a l s i z e s a n d n o t e x a c t . M o r e o v e r , a c o u p l e o f r o u t i n e s g e t d u p l i c a t z d u n d e r d i f f e r e n t , n a a e s i n t h e c o m p i l e d c o d e b e c a u s e o f t h e way t h e p r o g r a m was d e v e l o p e d . Hence t h e t o t a l s i z e i s s l i g h t l y l a r a , e r t h a n w h a t i s r e a l l y n e c e s s a r y .

o b j e c t c o d e = D a t a {globs1 d a t a ( i n l a b e l l e d COYMON b l o c k s ) + T h e BLANK COYMON b l o c k } + I n s t r u z t i g n s C F o r t h e p r o g r a m c o d e +

f o r t h e s t a n d a r d FORTRAN 4 s u b r o u t i n e l i b r a r y , a n d t h e s y s t e m r o u t i n e s , e t c . )

1 .4 .2 .1 F o r t h e D a t a - S t r u c t u r e - - - - - - -----

1 A . 2 . 1 . 1 L a b e l l e d COYMON B l o c k s

The s l o b a l d a t a k e p t i n l a b e l l e d COMMON b l o c k s ( a b o u t 3 3 o f t h e m ) s t o r e s t h e v a r i a b l e s u s e d f r o m m o r e t h a n o n e r o u t i n e .

L e x = 4 2 0 B = 2 7 2 w o r d s P a r s e r = 4 1 B = 3 3 w o r d s P r p r = 3 B = 0 w o r d s < e x - s t m t - s u b r > s = 0 13 = 3 w o r d s

H e n c e t o t a l s i z e o f t h e d a t a i n t h e i n p u t i n t e r f a c e i s

~

= 461 B = 3 0 5 w o r d s

P l u s t h e ' t s t a t e - v a r i a b l e s l l o f t h e r n a c h i n e s a n d com- p o n e n t s i n t h e l a b t a k e up 10177 B = 4223 w o r d s . O u t o f w h i c h l lCOMMON / E X P T B L / E X P O S ( 2 1 1 , RVZDOS (5 1 , 2 1 ) It f o r t h e

Page 33: REPORT THE DESIGN OF A SIMULATOR - EECS at UC Berkeley · Report -- on the Design -- of a Simulator Program ... and if the wafer is to be bak$d how lona, ... for the ztchin? process

24

D u t p u t o f r n a c h i n e 2 t a k e s 2104 B = 1 9 9 2 w o r d s , an31''COYMON /MVSP(>S/ RMZDOS(52,52)f1 f o r t h e o u t p u t o f m a c h i n e b t a k 2 . s 5220 S = 2734 w o r d s . So t h e r o s t t a k e up o n l y 653 B = 4 2 7 w o r d s .

Hence t o t a l number o f w o r d s u s e d i n l a b e l l e d C O Y M O N b l o c k s i s : I n t e r f a c e + L a b = 4 6 1 B ( ~ 3 0 5 ) + 1 0 1 7 7 B ( ~ 4 2 2 3 ) = 1 0 6 6 0 B ( ~ 4 5 2 9 ) w o r d s .

1 A . 2 . 1 . 2 B l a n k COMMON B l o c k - - - - ~ --

The B l a n k COMMON B l o c k i s u s e d f3r t c r n p o r a r y s t 3 r a g e o f b i g c h a r a c t e r a r r a y s f o r p l o t t i n q t h e v a r i o u s c u r v e 8 i n t h e p r i n t e r o u t p u t . I t s s i z e i s 3 0 6 0 5 B = 1 2 6 7 7 w o r d s .

Hence t o t a l nurnber o f s t o r a g e u s e d f o r d a t a i n l a b e l l e d COMYON b l o c k s i s 4 1 4 6 5 B 1 7 2 0 5 w9rd.s .

1 A . 2 . 2 I n s t r u c t i o n s - - - - - -- - 1 A . 2 . 2 . 1 F o r t h e p r o g r a m c o d e ----

L e x : 1 2 1 4 R = 6 5 2

P r p r : 1 5 0 4 B = 9 3 4 P a r s e r : 2 0 4 0 S = 1 0 5 6

s u b t o t a l = 5 0 4 0 B = 2 5 9 2 w o r d s

P l u s t h e < e x - s t m t - s u b r > s t a k e 1 4 5 3 B = 511 w o r d s .

Hence t h e t o t a l i n s t r u c t i o n s i n t h e User I n t e r f a c e t a k e 6 5 1 3 B = 3 4 0 3 w o r d s o f ne rnory .

The M a c h i n e s i n t h e l a b t a k e : rnacl = h o r i z . i m a g e = 1537 B = 853 mac2 = s t d . b l e a c h = 4751 B = 2 5 3 7 mac3 = a c t u a l b l e a c h = 5 3 1 B = 4 0 9 mac4 = e t c h i n g = 4 6 4 1 B = 2 4 6 5 mac5 = d i f f u s i o n = 3 6 6 3 = 2 4 6

s u b t o t a l f o r t h e 5 m a c h i n e s = 1 4 5 7 0 B = 6 5 2 0

H e n c e , {User i n t e r f a c e ) + { m a c h i n e s }

F u r t h e r , p r o g r a m p l p s p , a n d s u b r o u t i n e o u t i t l t a k e 4 1 57 B = 2 3 5 1 w o r d s ( t h i s i s b e c a u s e o f t h e b u f f e r f o r t a p e 2 1 - w h i c h was i n t e n d e d f o r u s e w i t h t h e C A L C O M P ) . So t h e t o t a l i s

= I 1 4 5 3 B ( = 8 1 1 > 1 + I 1 4 5 7 0 B ( = 6 5 2 0 ) 1 = 1 6 2 4 3 B ( = 7 3 3 1 ) w o r d s

Page 34: REPORT THE DESIGN OF A SIMULATOR - EECS at UC Berkeley · Report -- on the Design -- of a Simulator Program ... and if the wafer is to be bak$d how lona, ... for the ztchin? process

25

22722 9 = 9632 w o r d s .

1 A . 2 . 2 . 2 F o r t h e S y s t e m - - - - - -- -

T h e 190 B = 54 w o r d s i n l ow c o r e a r e u s e d b y t h e s y s - tem, a n d t h e s u b r o u t i n e s f r o m t h e s t a n d a r d FORTRAN 4 l i b r a r y , and t h e o p e r a t i n g s y s t e q t a k ? u p a n o t h e r 54C)l)i B = 3325 w o r d s . H?nce, t o g e t h e r t h e y t a k ? 5539 3 = 3392 w o r d s .

T h u s t h e t o t a l memory r e q u i r e m e n t f o r t h e i n s t r u c t i o n p a r t i s :

22722 B ( = 96.32) + 5500 9 ( = 3 3 9 2 ) = 31422 B ( = 1 3 3 7 4 ) w o r d s .

H e n c e t h e t o t a l memory r c q u i r e q e n t f o r r u n n i n g t h e i s

41465 B ( = 17205) i- 31422 B ! = 13974)

71,197 = -7 B ( = 3 0 2 7 9 ) w o r d s

A c t u a l l y , some r o u t i n e s n o l o n g e r u s e d i n t h . 3 p r o g r d a b u t s t i l l p r e s e n t i n t h e o b j e c t , f i l e s c t c . make t h e a e m o r y r e q u i r e a e n t t o b e s o n e w h a t l a r g e r t h a n t h e a b o v e , a t p r e s e n t .

T h e p r o g r a r n r e q u i r e s , a+, p r e s e n t , 103053 B ( = 3 4 3 4 7 ) w ~ r d s t o l o a d ( t h e l o a d e r s i t s i n t h e b l a n k COMMON a r e a w h i l e l o a d i n g ) , a n d 111425 B ( = 3 6 5 5 3 ) w r d s t o e x e c u t e .

Page 35: REPORT THE DESIGN OF A SIMULATOR - EECS at UC Berkeley · Report -- on the Design -- of a Simulator Program ... and if the wafer is to be bak$d how lona, ... for the ztchin? process

26

R e f e r e n c e s I

S t a n d a r d FORTRAN

1 . FORTRAN v s B a s i c F9RTRA.N (FORTRAN I V v s FORTfiAN 11) - C o m m u n i c a t i o n s 9 f t h e A S Y , v . 7 , no . 1 0 , O c t 1 9 6 4 , pp

{ T h i s was t h e o n e t h a t was a d h e r e d t o } 59 1 - 5 2 5 .

2 . f l C l a r i f i c a t i o n o f F O R T R A N S t a n d a r d - S P c o n d R s p o r t " , C A C M , v . 1 4 , no . 13, Oct 1 9 7 1 , pp 5 2 9 - 6 4 2 . { T h i s g i v e s r e f z r e n c e s t o o t h e r r e l ? v a n t d o c u m e n t 4 1

I

1

P h o t o r e s i s t s , O p t i c a l M o d e l s , - e t c .

1 . F . H . D i l l - , A . R . N e u r e u t h e r , J . A . T u t t l e , a n i E . J . W a l k e r , " M o d e l l i n g P r o j e c t i o n P r i n t i n g of P o s i t i 1 , e Pho- t o r e s i s t s " , I E E E T r a n s c . 3 n E l e c t r o n D e v i c e s , v o l . ED- 2 2 , n o . ? , p p T 6 - 4 5 6 , J u G 1975.- - -- - {And i t s r e f z r e n c e s }

2 . D i s c u s s i g n s w i t h

P r o f . W i l l i a n G . O ldham, P r o f . Andrew R . N e u r e u t h e r ,

a n d ! l i c h ? e l OfT~ol?.

E t c h i n g S i m u l a t i o n A l g o r i t h m s

1 . R . E . J e w e t t , P . I . H a g o u e l , A . R . N e u r e u t h e r , a n d T . v a n D J z n r ; " L i n e P r o f i l e Res is t D e v e l o p m e n t S i m u l a t i o n Tech- n i q u e s " , P o l y m e r E n g i n e e r i n g and S c i e n c e , J u n e 1 9 7 7 , v o l . 1 7 , n3. 6, pp 3 5 1 - 3 8 4

2 . A . R . N e u r e u t h e r , R . E . J e w e t t , P . I . H a g o u z l , T . v a n D u z e r ; " S u r f a c e - E t c h i n g S i m u l a t i o n and A p p l i c a t i o n s i n I C P r o c e s s i n g f 1 , P r o c e e d i n g s o f t h e Kodak Y i c r o e l e c t r o n - i c s S e n i n a r , 1 9 7 6 , p p 81-91

D e s i g n P h i l o s o p h y

1 . B e r n a r d P . Z i i q l e r , " T h e o r y o f M o d e l l i n g and S i m u l a t i o n " ( A Wi ley - In t e r sc i ence P u b l i c a t i o n , J o h n W i l e y & S o n s , 1 9 7 6 ) L i b r a r y o f C o n g r e s s n o . QA 7 6 . 9 6 6 5 2 4 4 { A p o s t f a c t o r e f e r e n c e . I t p r e s e n t s many i d e a , b u t was f o u n d a f t z r t h e p r o g r a m was a l r e a d y writ en and w o r k i n g . I a

Page 36: REPORT THE DESIGN OF A SIMULATOR - EECS at UC Berkeley · Report -- on the Design -- of a Simulator Program ... and if the wafer is to be bak$d how lona, ... for the ztchin? process

27

U s a g e o f t h e P r o g r a m - - - - - ---~

1 . A . R . N e u r e u t h e r , M . O ' T o o l e , W.G. Oldharn, S.N. Nandgaon- I t a r ; f t I I ~ e o f S i m u l a t i o n t o O p t i m i z e P r o j e c t i o n P r i n t i n g P r o f i l e s t f , " IPe t ina , o f t h e E l e c t r o - C h e m i c a l S o c i e t y o f A m e r i c a , a t S z a t t l e , W a s h i n g t o n , May 21 -26 , 1979 .

2 . W . G . Oldharn , S .N. N a n d q a o n k a r , A . R . N e u r e u t h e r , a n d M. O ' T g o l f t , " A G z n e r a l S i r n u l a t o r f o r VLSI L i t h o g r a p h y and E t c h i n g P r o c e s s e s , P a r t I - A p p l i c a t i o n t o P r o j e c t i o n L i t h o g r a p h y t f , t o b e s u b m i t t e d t o I E E E T r a n s . o n E l e c - t r o n D e v i c e s , VLSI i s s u e .

Page 37: REPORT THE DESIGN OF A SIMULATOR - EECS at UC Berkeley · Report -- on the Design -- of a Simulator Program ... and if the wafer is to be bak$d how lona, ... for the ztchin? process

28

A c k n o w l e d g e m e n t s

. .

I t a k e t h i s o p p o r t u n i t y t o t h a n k P r o f . W i l l i a m G . O ld - ham f o r p r o p o s i n c t h i s p r o j e c t t o me. A p a r t f r o m t h e f i n a n - c i a l s u p p o r t , h e g a v e n e a c h a n c e t o d e s i g n a p r o d u c t u s i n g t h e p r i n c i p l e s l e a r n e d i n b o t h E l e c t r i c a l E n g i n e e r i n g a s well a s i n C o m p u t e r S c i e n c e s , s o a e t h i n p , I w a n t e d t:, d o when l 3 o k i n g w i t h awe a t t h e SPICE p r o g r a m , a n d when m u s i n g , a s t h e T e a c h i n g A s s i s t a n t o f EECS 133.4 ( P o w 5 r S y s t e m s L a b o r a - t o r y ) i n W i n t e r 1977 , a b o u t t h e d e s i g n o f a n i n t e r a c t i v e p r o s r a m t o s i m u l a t e j u s t o n e o r two e l e c t r i c a l m a c h i n e s (m: , tors a n d g e n e r a t o r s ) t h a t a s t u d e n t c o u l d p l a y w i t h . AlsQ, h i s s c r e e n i n g o u t o f - n i n a r i s s u e s made i t p o s s i b l e t:, g e t t h i s p r o g r a m u p s o f a s t .

E q u a l l y g r a t 3 f u l am I t o P r o f . Andrew R . N 2 u r e u t h e r f o r h i s s u p p o r t , g u i d a n c e , a n 3 e n c o u r a 2 e m e n t . (-4nd a b o v e a l l , h e l i k 2 d t h e i d e a f i r s t . )

So a l s o I a p p r e c i a t e t h e h e l p o f M i c h a e l O ' T 3 o l e f o r p a t i e n t l y a d a p t i n g h i s r o u t i n e s t o t h e i n t e r f a c e , a n d f o r v a r i o u s o t h e r s u g g e s t i o n s r e g a r d i n g , a n d n o t r e g a r d i n g , t h e p r o g r a m .

Many o f t h e c o n c e p t s t h a t w e n t i n t o t h i s p r o g r a m s u g - g e s t e d t h e m s e l v e s i n t h e v a r i o u s d i s c u s s i o n s t h a t we h a v e t o g e b h e r .

T h i s work was s u p p o r t e d i n p a r t s , b y g r a n t s (NSF) ENG77-14550 f r o m t h e N a t i o n a l S c i e n c e F o u n d a t i o n , a n d o t h e r g r a n t s f rorn t h e Hughes A i r c r a f t Co., I n t e l C o r p . , a n d S i g - n e t i c s C o r p o r a t i o n .

Page 38: REPORT THE DESIGN OF A SIMULATOR - EECS at UC Berkeley · Report -- on the Design -- of a Simulator Program ... and if the wafer is to be bak$d how lona, ... for the ztchin? process
Page 39: REPORT THE DESIGN OF A SIMULATOR - EECS at UC Berkeley · Report -- on the Design -- of a Simulator Program ... and if the wafer is to be bak$d how lona, ... for the ztchin? process

P a r t 2

Implemen ta t ion Documentation f o r t h e User I n t e r f a c e ---

Page 40: REPORT THE DESIGN OF A SIMULATOR - EECS at UC Berkeley · Report -- on the Design -- of a Simulator Program ... and if the wafer is to be bak$d how lona, ... for the ztchin? process
Page 41: REPORT THE DESIGN OF A SIMULATOR - EECS at UC Berkeley · Report -- on the Design -- of a Simulator Program ... and if the wafer is to be bak$d how lona, ... for the ztchin? process

J u n 1 9 0 2 : 1 3 1 9 7 8 F i l e d o c u l ( = l e x d e f ) P a g e 1 30

I m p l e m e n t a t i o n o f a n User I n t e r f a c e -

The i n p u t t o t h e p r o g r a m i s c o n s i d e r e d t o b e f o r m e d a c c o r d i n 1 t o a two l e v e l l a n g u a g e . The f i r s t l e v e l w i l l b e r e c o g n i z e d b y a l e x i c a l a n a l y z e r , a n d t h e s e c o n d l e v e l w i l l b e r e c o g n i z e d b y a p a r s e t . Then a s i m p l e s t a t e m e n t b y s t a t e m e n t i n t e r p r e t a t i o n w i l l b e & o n e o f t h e i n p u t s t a t e m e n t s t r e a m .

The L e x i c a l A n a l y z e r f o r t h e i n p u t l a n g u a g e i s b a s e d on t h e f o l l o w i n g g r a m m a r .

{The i n p u t c h a r a c t e r s a r e t a k e n f r o m t h e c h a r a c t e r s$ t r e c o g n i - z e d by t h e ANSI S t a n d a r d F O R T R A N , i . e . A . . Z 0 . . 9 and t h e f o l l o w i n g s p e c i a l c h a r a c t e r s : 1 1 + 1 1 , 1 1 - 1 1 , l t . l I 9 , I I t

l I $ I I 1 1 = 1 1 I I * I I , a n d l t / I I . 11 " ( " , " 1 " 9

< e n d - o f - i p - c h a r > : : = $ ; { d e t e c t e d by t h e eof o f i n p u t } < l e t t e r > : : = A l E l .. ; Z < d i g i t > : : = O i l ; . . ; 9 < s i g n > : : = + I - <cent symb> : : / < s e p a r a t o r > : : = ; ( ; ) i f < s t a r t s y m b > : : = * < p e r i o Z > . . - . . . - { I n t h i s s i m p l e l a n g u a g e i d e n t i f i e r s a n d k e y w o r d s a r e c o n s i d e r e d

t o b e t h e s a m e a t p r e s e n t . i . e . < i d > = <kwd> 1 < k w d > . . . - . - < l e t t e r > l < k w d > < l e t t e r > < u n s i g n e d i n t > : : = < d i g i t > ; < u n s i g n e d - i n t > < d i g i t > < f r a c t i o n a l p a r t > : : = < u n s i g n e d i n t > < u n s i g n e d - r ea l> : : = < u n s i g n e d i n t> . I . < u n s i g n e d i n t > I

< u n s i g n e d - n u m b e r > : : = < u n s i g n e d int> ; < u n s i g n e d r e a T > I

< n u m b e r > : : = < s i g n > < u n s i g n e d n u m b e r > < e o f - l ex - t o k e n > : : = < e n d - o f - x n p u t - c h a r >

< u n s i g n e d i n t > . < f r a c t i o n a l p & r t >

< s e p a r a T o r > < u n s i g n e d - real >

The n u m b e r s a t t h e l e f t o f t h e BNF d e f i n i t i o n o f t h e f i r s t 8 n o n t e r m - i n a l s a r e t h e i r a s s o c i a t e d i p c h a r t y p e ( t h e i r ' m e a n i n g ' 1. And t h e o n l y t h r e e t y p e s o f n o n t e r m i n a f s t h a t a r e c o n s i d e r e d t o b e l e g a l < l e x i c a l t o k e n > s a r e -

< l e x i c a l - t o k e n > I = <lex t o k e n > } 0 : : = <eof lex - t o k e n y l 1 <kwdy 2 < n u m b e r >

{ T h e n u m b e r s o n t h e l e f t t e l l t h e i r t y p e . T h e y h a v e some m e a n i n g a s s o c i a t e d w i t h t h e m , a n d l t h a t m e a n i n g i s a s f o l l o w s : i

<eof . . .> h a s n o m e a n i n g a s s o c . w i t h / i t ; <kwdy - t h e keyword f o r m e d ; < n u m b e r > t h e v a l u e o f t h e n u m b e r formed 1

A t t h i s s t a g e t h e l e x i c a l a n a l y z e r p e r f o r m s a n a d d i t i o n a l f u n c t i o n . I t

Page 42: REPORT THE DESIGN OF A SIMULATOR - EECS at UC Berkeley · Report -- on the Design -- of a Simulator Program ... and if the wafer is to be bak$d how lona, ... for the ztchin? process

Jun 19 0 2 : l j 1 9 7 8 F i l e d o c u l ( = l e x d e f ) P a g e 2 31

c h e c k s w h e t h e r t h e <kwd> b e l o n g s t o a s e t o f r e s e r v e d w o r d s yr n o t . I t f i l t e r s o n l y t h e r e s e r v e d w o r d s o u t t o b e s e n t t o t h e p a r s e r . And t h e s e < r e s w d > s a r e I w i t h t h e i r a s s o c i a t e d v a l u e s E f r s w d v l f 1 )

< r e s w d > : : = 1 LAMECA 2 DOSE 3 T O 4 P R O J 5 C O N T A C T 6 L I N E 7 SPACE 8 9 E T C F i R A T E

10 A N A L Y T I C 1 1 C U R V E 12 D E V T I M E 13 RESMCEEL 14 R U N 15 LAYERS 16 T R I A L

L I N ES P A C E

Now w i t h t h e s e < r e s w d > s { w h i c h form a s u b s e t o f t h e s e t o f < t h e l e g a l i n p u t i s d e f i n e d t o b e { a t t h i s l e x i c a l a n a l y z e r 1 i . e . l e v e l 1 ) :

L e g a l i n p u t = s t r e a m of t h e l e g a l i n p u t l e x i c a l t o k e ! { a s a - r e g u l a r e x p r e s s i o n } . .- . . - < s e p > * < l e x - t o k e n > { < s e p > + < l e x - t o k e n > } * < s e p > + < e o f -

o r r a t h e r < se p > * { < l e x t o k e n > < s e p > + } * { l a m b d a < l e x t o k e n > 1 <et

{ i n s o m e w h a t a d h o c n o t a t i o n ) -

:wd>s} ! v e l ,

I S

.x t o k e n >

If l t o k e n > - { T h e < l e x t o k e n > i n t h e a b o v e means a n o n < e o f l t o k e n > . l - -

Also, f o r b r e v i t y , a p h y s i c a l i n p u t c a r d may b e c o n s i d e r e d t o b e

{Which h a s some i m p l i c a t i o n s on t h e i m p l e m e n t a T i o n { e . g . f i x e d f i n i t e p h y s i c a l l e n g t h ) . }

< s t a r t c h a r > { < l e x t o k e n > * } < e n d - o f - c a r d c h a r >

A t p r e s e n t no comments a r e a l l o w e d . B u t t h e y c a n b e e a s i l y i n t r o d u c e d { a t v a r i o u s l e v e l s { o f i n p u t } . e . g .

1 ) a f t e r a s p e c i a l c h a r a c t e r t o t h e e n d o f t h e p h y s i c a l c a r d 2 ) a s a s t r i n g o f c h a r a c t e r s e n c l o s e d b e t w e e n s p e c i a l c h a r a c t e r ( s 1

( 3 ) a s a s t a t e m e n t o f t h e l a n g u a g e }

A l s o a s p e c i a l s y m b o l t o m a r k t h e end o f a n i n p u t - s t a t e m e n t ( o p t i o n a l l y ) c a n b e i n t r o d u c e d . {The r e p e t i t i o n o f s u c h s y m b o l g e n e r a t e s t h e e m p t y s e n t e n c e w h i c h w i l l h a v e t o b e h a n d l e d p r o p e r l y } .

The p a r s e r w i l l t a k e t h e s t r e a m of l e g a l i n p u t < l e x t o k e n > s and p a r s e i t t o form < s t a t e m e n t s > s = <stmt>s o f t h e l a n g u a g e . T h a t b e $ o m e s t h e s e c o n d l e v e l o f t h e d e f i n i t i o n o f t h e l a n g u a g e .

- I I

Page 43: REPORT THE DESIGN OF A SIMULATOR - EECS at UC Berkeley · Report -- on the Design -- of a Simulator Program ... and if the wafer is to be bak$d how lona, ... for the ztchin? process

J u n 1 9 02 :22 1 9 7 8 F i l e l e x v a r P a g e 1

= k w d a r r ( l 0 ) a r r a y t o f o r m t h e c u r r e n t a l e x i c a l t o k e n .

nmrswd = t h e c o n s t a n t <num o f r e s w d ' s > = 1 6 { I n i t i a l i z e d 6 y 5 d a t a - i n i t i a l i z a t i o n - s t m t )

32

k e y w o r d a s

L i s t o f v a r i a b l e s i n t h e l e x i c a l a n a l y z e r ( s c s n n e r ) s u b p r o g r a m .

Common B l o c k s :

{ l e x i c a l a n a l y s i s s e m a n t i c s . T h i s i s t h e o c o m m u n i c a t i o n l i n k b e t w e e n t h e s c a n n e r and p a r s e r . }

k w d v a l = k e y w o r d v a l u e r n m v a l = r e a l number v a l u e i n t v a l = i n t e g e r p a r t v a l u e f r a v a l = f r a c t i o n a l p a r t v a l u e r i n t v l = r e a l form of i n t v a l l x t k t y = l e x i c a l t o k e n t y p e

/ 1 ex sem/

/ c h a r a c / { c h a r a c t e r h a n d l i n g f u n c t i o n s ( t h e l o w e s t l e v e l ) i . e . t h e p h y s i c a l l e v e l . )

i p r p t r = i n p u t p h y s i c a l r e c o r d p o i n t e r ( i . e . p o i n t e r t o t h e c h a r a c t e r i n t h e 80 c o l u m n c a r d ( w i t h 82 c o l u m n i m a g e ) t h a t w i l l b e t h e n e x t i n p u t c h a r a c t e r . )

i p c h a r = h o l d s t h e c u r r e n t i n p u t c h a r a c t e r i c t y p e = t e l l s t h e t y p e o f t h e c h a r a c t e r i n i p c h a r

( a s a s s o c i a t e d i n t h e i n p u t g r a m m e r ) i p c a r d ( 8 0 + 2 ) = i p c a r d ( 8 2 ) image o f t h e p h y s i c a l i n p u t c a r d

/ e r r f 1 a / { h o l d s v a r i o u s v a l u e s o f e r r o r i n d i c e s } i e r f l g = e r ro r f l a g ? ? i e r s v i = ( i n t ) e r r o r s e v e r i t y i n d i c a t o r ismesi = ( i n t ) sum of t h e e s i ' s ( e r r o r s e v e r i t y i n d i c e s )

/ e n d o f x / { l o g i c a l f l a g s f o r e n d - o f - x l n o i p d k e n d o f i n p u t p h y s i c a l d e c k n o i p r = e n d o f i n p u t p h y s i c a l r e c o r d n o i l r = e n d o f i n p u t l o g i c a l r eco rd n o i c s t = e n d o f i n p u t c h a r a c t e r s t r eam n o l o g i = end of l o g i c a l i n p u t

/ p r t ime/ { f o r c p u t ime u s e d e t c . n o t i m p l e m e n t e d . p r o g r a m d a y , d a t e , t i m e , t imer e t c . ) ~

L o c a l v a r i a b l e s a n d t e m p o r a r y v a r i a b l e s

Page 44: REPORT THE DESIGN OF A SIMULATOR - EECS at UC Berkeley · Report -- on the Design -- of a Simulator Program ... and if the wafer is to be bak$d how lona, ... for the ztchin? process

33 J u n 1 5 02 :22 1 9 7 8 F i l e l e x v a r P a g e 2

t m p s g n = t e m p v a r f o r s i g n ( m u l t i p l i e r + 1 . 0 , o r - 1 . 0 ) i n s u b r g l e x e n i d i g v l = i n p u T d i g i t v a l u e i n s u b r s f u m i n t , a n d f r m f r a t d i g v l = r e a l ( i d i g v l ) i n f r m f r a n t e n p r = n e g a t i v e p o w e r o f t e n ( i n f r m f r a ) i t e m p l = t e m p i n d e x f o r d o - l o o p i n s u b r frmkwd ( 2 )

= t e m p v a l o f f u n t c t i o n ( i n f u n c t i o n i d g v a l ) ( 1 1 ) = f o r i m p l i e d d o o n r e a d and wr i te i n s u b r g c a r d

Range o f v a r i a b l e s a n d t h e i r m e a n i n g f o r s p e c i f i c v a l u e s { i . e . some o f t h e m s h o u l d b e d e c l a r e d a s c o n s t a n t s o f t h e p o g r a m and u s e d f o r s y m b o l i c r e f e r e n c e w i t h i n i t i a l i z a t i o n b y DATA s t m L . 1

/ l e x s c a / . i c t y p e = o = 1 = 2 = 3 = 4 = 5 = 6 = 7

= i n p u t c h a r a c t e r t y p e $ e n d o f l o g i c a l i / p s t r i n g s y m b o l l e t t e r d i g i t s i g n p e r i o d s e p a r a t o r s t a r t s y m b o l ( * > c o n t i n u a t i o n s y m b o l ( / ) ( - 1 < i c t y p e - < 8 e s p . -1 = > n o t from t h e a b o v e

s e t . ( i . e . 1 )

/ l e x s e m / . l x t k t y = l e x t o k e n t y p e = o < e n d - o f - i n p u t l e x t o k e n > = 1 r e s e r v e d word-( k't5d ) = 2 n u m b e r = - 1 < i n v a l i d l e x - t o k e n > = < e r r o n e o u s l e x - t o k e n > -

k w d v a l = kwd ( r e s w d ) v a l u e = 1 LAMBCA 2 DOSE 3 T O

9 I ETCHRATE 4 P R O J 5 CONTACT 7 S P A C E 8 L I N E S P A C E

1 0 A N A L Y T I C 1 1 CURVE 1 2 1 DEVTIME 1 3 1 6 T R I A L a n d - 1 f o r unknown kwd ( < i n v a l i d k w d > )

RESMODEL 1 4 R U N 1 5 LAYERS

S u b r o u t i n e s a n d t h e i r a r g u m e n t s , c a l l s t r u c t u r e ( a s a t r e e ( n o t a t i o n f o r w r i t i n g down i s b y i n d e n t a t i o n , a n d a r rows ) ) , a n d n a m i n g c o n v e n t i o n s e t c .

S u b r o u t i n e n a m e s j g x x x x x = > g e t < - x x x x x > f x x x x x = > f e t c h < " x x x x x > f r m x x x = > f o r m < " x x x >

Page 45: REPORT THE DESIGN OF A SIMULATOR - EECS at UC Berkeley · Report -- on the Design -- of a Simulator Program ... and if the wafer is to be bak$d how lona, ... for the ztchin? process

J u n 19 0 2 : 2 9 1 9 7 8 F i l e l e x f e a P a g e 1 34

Some f e a t u r e s o f t h e s c a n n e r

1 ) M a c h i n e C e p e n d e n t F e a t u r e s 1 ) common / p r t i m e / -

a n d r e l a t e d f e a t u r e s { C A L R U N FORTRAN p 1 1 - 6 1 2 ) p r o g r a m s t a t e m e n t w i t h t a p e d e c l a r a t i o n s e t c . 3 ) e o f ( i n p u t )

4 ) f u n c t i o n i p c h t y c o m p a r i n g h o l l e r i t h d a t a w i l l havle t o b e r e d u c e d t o a g i a n t . o r . s t m t .

5 ) a l l c h a r a c t e r d a t a c o n s t a n t s u s e d i n t h e e x p r e s s i o n s w i l l h a v e t o b e r e p l a c e d b y v a r i a b l e ( c 0 n s t a n t ) s i n i t i a l i z e d b y a D A T A stmt.

( s e e s u b r g c a r d ) ( v e r i f y c a r e f u l l y ) ( K a r c h 9 , 1 9 7 8 )

e s p . r e a d i n g a b l a n k c a r d a t t h e e n d o f i n p u t w h ’ c h a p p e a r s i n t h e o u t p u t ( b u t t h e p r o g r a m i s n o t d e p e n d e n t o n i t 1 . 1

6 ) seems t o a s s u m e a t l e a s t o n e i n p u t c a r d a s i n p u t .

2 ) I m p r o v emen t s p o s s i b l e 1 ) I n r e c o g n i z i n g n u m b e r s 2 ) S c a l e f a c t o r s f o r n u m b e r s 3 ) f o r s c a n n i n g e r r o r s l o c a t i n g t h e p o s i t i o n o f t h e e r r o r

4 ) i n c l u d e c o m m e n t s t m t i n t h e l a n g u a g e 5 ) n u m b e r s s h o u l d b e r e c o g n i z e d a s r e a l n u m b e r s a n d i n t e g e r s .

b y a n up a r r o w .

( a n d u s e d a s s u c h i n t h e p a r s e r i n p u t g rammer 1 .

3 ) R e d u n d z n t F e a t u r e s i n h a n d l i n g some e r r o r s w h i c h c a n n e v e r a r i s e ,

i n s u b r g l e x e m i c t y p e = 5 i s n o t p o s s i b l e i n s u b r f r m i n t f i r s t c h a r w i l l b e a d i g i t ( a l w a y s )

e t c .

4 ) S i d e - e f f e c t s , b u g s , e t c . Two k w d s m u s t b e s e p a r a t e d b y a t l e a s t o n e s e p a r a t o r 1 2 3 . 4 5 6 . 7 8 9 w i l l b e r e c o g n i z e d a s two n u m b e r s 1 2 3 . 4 5 6 and

7 8 9

Page 46: REPORT THE DESIGN OF A SIMULATOR - EECS at UC Berkeley · Report -- on the Design -- of a Simulator Program ... and if the wafer is to be bak$d how lona, ... for the ztchin? process

35

bel: ,w. I n t h e s y n t a x d e f i n i t i o n u p p e r c a s e l e t t z r s a r e f g r t h e k 2 y o w r d s i n t h e i n p u t a n d lower c a s e l e t t e r s u s e d f a r o t h e r t o k e n s ( i . 5 . n u m b e r s , < e n d o f i n p u t s t r e a m > l e x i c a l t o k e n , a n d t h e < e r r o r l e x - t o k e n > ) .

I n t h e d e f i n i t i o n s t h e < e r r o n e o u s - s t a t > i s n o t c i t l y s h o w n . An < e r r o r l e x - t o k e n > o c c u r r i n a , i n a s t a t e m e n t , o r a n y a r r a n g e a e n t 3 f l e x i c a l - t o k e n s o t h e r t h a n t h e shown b e l o w i s c o n s i d e r e d t o b e g e n e r a t i n g t h e < e r r o n e : , u s - s t r n t > . E r r o n e o u s - s t n t s a r e h a n d l e ? b y t h e e r r o r - h a n d l i n g r o u t i n e i n t h e p a r s e r a n d a n o t h e r r o u t i n e w h i c h s k i p s t h e c u r r e n t < e r r o n e o u s - s t m t > t i l l t h e n e x t s e n s i b l e n i n ? f D r a s t a t e n e n t ( i . e . a p r o p e r k e y w o r d o r t h e < e n d i n p u t c h a r s t r e a m > 1 2 x i c a 1 t o k e n i s f o u n d .

D e f i n i n g t h e S y n t a x a n d S e m a n t i c s f o r t h e P a r s e r --- - __

T h e p a r s e r i n p u t l a n q u a g e i s d e f i n e d t o b e a s i m p l e t y p e 3 ( r e g u l a r ) l a n g , u a g e ( s o i s r e c o g n i z a b l e b y a f i n i t e s t a t e m a c h i n e ) . I t ' s s e a a n t i c s i s b a s e d o n t h e i n t e n d e d r n e a n i n g o f t h e s t a t e m e n t b y t h e u s e r . T h i s i n p u t I a n g u q g e i s d e f i n e d o v e r a l l p o s s i b l e c o m b i n a t i o n s o f t h e l e x i c a l L ~ k e n s o b t a i n e d f r o 1 t h e l e x i c a l a n a l y z e ? .

use3. a r e

z h a r

e x p l i -

3 n e s

3 v e r b e z i n -

o f

T:, s u m m a r i z e , t h e < i n p u t - s t m t > s a r e c o n s i d e r e d t o h a v e d i f f e r e n t ' t y p e ' s ( a s shown be low 5 y t h e i n t e g e r v a l u e t o t h e l e f t o f t h e s y n t a x d e f i n i t i o n ) o f i n p u t s t a t e m e n t s , a n d w i t h i n e a c h t y p e a r e c o n s i d e r e d v a r i o u s d i f f e r e n t ' k i n d ' s o f i n p u t s t a t e m e n t s p o s s i b l e w i t h i n t h a t t y p e ( i n d i c a t e d i n t h e i r name i n t h e d e f i n i t i o n s b e l o w ) .

i * *

{All n u m b e r s a r e c o n s i d e r e d t o b e r e a l , u n l e s s e x p l i c i t l y m e n t i o n e d t o b e i n t e g e r s )

- 1 ) < e r r o n e o u s - s t m t > ( = < i n v a l i d - s t m t > )

0 ) < e n d - s t m t > : : = < e n d o f i n p u t c h a r s t r e a m l e x - t o k e n >

Page 47: REPORT THE DESIGN OF A SIMULATOR - EECS at UC Berkeley · Report -- on the Design -- of a Simulator Program ... and if the wafer is to be bak$d how lona, ... for the ztchin? process

36

T h i s s t a t e m e n t i n f o r m s t h e e n d o f i n p u t s t a t s m s n t s l t 3 b e p r o c e s s e d , s o v a r i o u s t h i n g s t o b e d o n e a t t h e zndl o f t h e r u n c a n b e d o n e .

< l a m b d a - s t a t k i n d 1 > : : = L A M B D A n u m b e r t h i s t e l l s t h a t t h e r e i s o n l y o n e w a v e l e n g t h p r e s e n t i n t h e i n p u t s p ' 3 c t r i m , a n d i t i s e q u a l t o t h e v a l u e o f n u h b e r i n m i c r o n s .

< l a m b d a - s t a t k i n d 2 > : : = L A Y B D A n u m b e r l n u m b e r 2 I < l a m b d a - s t m t k i n d 2> number number

where t h e n u m b e r p a i r s a r e t h e w a v e l e n g t h f o l l o w d d b y i t s r e l a t i v e i n t z n s i t y . T h e w a v e l e n g t h ( n u m b e r l ) i s i n r n i c r o n s a n d t h e r e l a t i v e i n t e n s i t i e s a r e a l l i n t e r n a l l y n o r r n a l i z e d b y t h e p r o g r a m t o g e t a sum o f 1 . 0 . U p t o 1 0 s u c h p a i r s a r e a l l o w e d .

1 ) < l a m b d a - s t n t > : : = < l a m b d a - s t m t k i n d 1 > I < l a i n b d a - s t m t k i n d 2 >

w i t h t h e i r n e a n i n g s a s d e f i n e d a b o v e .

< d o s e - s t a t k i n d 1 > : := D O S E n u m b e r l where n u m b e r l i s t h e t o t a l d o s e a t t h e m a i n w a v e l e n g t h i n u n i t s o f ( r n J / ( s q . c m . ) ) .

< d o s e - s t m t k i n d 2 > : : = DOSE n u m b e r l TO n u m b e r 2 n u m b e r 3 w h 2 r e n u m b e r l i s a s a b o v e a n d n u n b e r 2 i s a l s o a n o t h e r d o s e s p e c i f i c a t i o n { n u m b e r l < n u r n b e r 2 1 , a n d n u m b e r 3 i s a n i n t e g e r w h i c h t e l l s how many v a l u e s o f d o s e a r e t o be s e l e c t e d i n t h e i n t e r v a l [ n u m b e r l , n u m b e r 2 1 . T h e s e v a l u e s a r e s e l e c t e d t o c ~ v e r t h e i n t e r v a l u n i f o r m l y .

2) < e x p o s u r e - s t m t > : : = < d o s e - s t m t k i n d 1 > I < d o s e - s t n t k i n d 2 > w i t h t h e m e a n i n g s a b o v e f o r t h e r i g h t h a n d s i d e c o m p o n e n t s . { T h i s i s t h e < d o s e - s t m t > 1

< p r o j - s t m t k i n d 1 > : : = P R O J n u m b e r l w h i c h t e l l s t h a t t h e i m a g i n g s y s t e n i s a p r o j e c t i o n t y p e i n a g i n g s y s t e m , w i t h i t s N u m e r i c a l A p e r t u r e = n u m b e r l .

< p r o j - s t r n t k i n d 2 > : : = < p r o j - s t m t k i n d 1 > n u m b e r 2 where t h e m e a n i n g o f < .> i s a s a b o v e a n d m o r e o v e r t h e w a v e l e n s t h a t w h i c h t h i s v a l u e o f n u m b e r l h o l d s i s g i v e n b y n u m b e r 2 ( i n m i c r o n s ) .

< p r o j - s t a t k i n d 3 > : : = < p r o j - s t m t k i n d 2 > n u m b e r 3 n u m b e r 4

w h e r e t h e n u m b e r 3 i s a n i n t e g e r t e l l i n g t h a t t h a t a n y v a l u e s f o r t h e MTF w e i g h t s a r e g o i n g t o f o l l o w nurn e r 4 w h i c h i s t h e c u t o f f f r e q u e n c y o f t h a t MTF. So t h e v a l u e s

a r e t h e n u m b e r 3 v a l u e s s p r e a d a t e q u a l i n t e r v a l s b e t w e e n

I < p r o j - s t m t k i n d 3 > n u m b e r

o f f r e q u e n c i e s a t w h i c h t h o s e v a l u e s o f MTF-we igh t s F h o l d s

Page 48: REPORT THE DESIGN OF A SIMULATOR - EECS at UC Berkeley · Report -- on the Design -- of a Simulator Program ... and if the wafer is to be bak$d how lona, ... for the ztchin? process

37

t h e z . 2 r 3 ( s p a t i a l ) f r e q u e n z y t o t h e c u t o f f f r e q . nurnber4 ( b o t h i n c l u s i v e ) .

< c o n t a c t - s t m t k i n d 1 > : : = CONTACT n u r n b e r l w h e r e t h i s t e l l s t h a t t h e i m a g i n g s y s t e m i s a c o n t a c t t y p e i m a g i n g s y s t e m w i t h t h e s e p a r a t i o n between c h i p a n d m a s k b e i n g n u a b e r 1 m i c r o n s .

< c o n t a c t - s t m t k i n d 2> : : = < c o n t a c t - s t n t k i n d 1 > n u m b e r 2 n u m b e r 3 where t h i s t e l l s t h a t t h e c o n t a c t - t y p e i m a g i n g sysLem s p e c i f i e d a s b e f o r e h a s a n a d d i t i o n a l s p e z i f i c a t i o s t h a t t h e p a r a m e t e r s C1 a n d C2 ( s e e p a r t 3 o f t h i s r e p a r $ ! a r e g i v e n b y n u m b e r 2 a n d n u m b e r 3 r e s p .

< s y s t c y n - s t m t k i n d 1 > : : = < p r o j - s t m t k i n d 1 > < s y s t e ! n - s t m t k i n d 2 > : : = < p r o j - s t m t k i n d 2 > < s y s t e a - s t a t k i n d 3> : : = < p r o j - s t m t k i n d 3> < s y s t e a - s t n t k i n d 4 > : : = < c o n t a c t - s t m t k i n d I > ( s y s t e a - s t a t k i n d 5 > : : = < c o n t a c t - s t m t k i n d I >

w i t h r n e a n i n s s a s a b o v e

3 ) ( s y s t e m - s t m t > : : = < s y s t e m - s t m t k i n d 1 > I < s y s t e m - s t a t k i n d 2 > I < s y s t e m - s t m t k i n d 3 > I < s y s t z ! n - s t m t k i n d 4 > I < s y s t e m - s t m t k i n d 5 >

w i t h n e a n i n g s a s a b o v e .

< m a s k - s t m t k i n d 1 > : : = LINE n u m b e r w h i c h t e l l s t h a t t h e m a s k i s a s i n g l e l i n e w i t h w i d t h e q u a l t o n u m b e r m i c r o n s ( A l i n e i s a f u l l y o p a q u e r e g i o n ) .

< m a s k - s t a t k i n d 2 > : : = SPACE n u m b e r w h i c h t e l l s t h a t t h e m a s k i s a s i n g l e s p a c e w i t h w i d t h e q u a l t o n u m b e r n i c r o n s ( s p a c e = f u l l y t r a n s p a r e n t r e g i o n )

< m a s k - s t m t k i n d 3 > : : = LINESPACE n u m b e r l n u m b e r 2 w h i c h t e l l s t h a t t h e m a s k i s a p e r i o d i c p a t t e r n o f l i n e s a n d s p a c e s w i t h l i n e w i d t h = n u m b e r l m i c r o n s , a n d s p a c e w i d t h = n u m b e r 2 m i z r o n s .

< o b j e c t - s t m t k i n d 1 > : : = < m a s k - s t m t k i n d 1 > < o b j e c t - s t m t k i n d 2 > : : = < m a s k - s t a t k i n d 2 > < o b j e c t - s t m t k i n d 3> : : = < m a s k - s t m t k i n d 3 >

w i t h m e a n i n g s a s a b a v e .

4 ) < o b , j e c t - s t n t > : : = < o b j e c t - s t m t k i n d 1 > I ( o b j e c t - s t m t k i n d 2> I < o b j e c t - s t m t k i n d 3 >

w i t h t h e i r m e a n i n g s a s a b o v e .

< e r - a n a l y t i c stmt> : : = ETCHRATE ANALYTIC n u r n b e r l n u d b e r 2 n u m b e r 3 w h e r e ( e r = e t c h r a t e ) , n u r n b e r l , n u m b e r 2 , a n d n u m b ~ r - 3 a r e t h e

Page 49: REPORT THE DESIGN OF A SIMULATOR - EECS at UC Berkeley · Report -- on the Design -- of a Simulator Program ... and if the wafer is to be bak$d how lona, ... for the ztchin? process

38

w h i c h t e l l s t h a t t h e n u m b e r s f o l l o w i n g t h e k e y w o r d t o b e i n t e r p r e t e d a s f o l l o w s : n u m b e r 1 = t h e nurnber n u m b e r ' s t h a t a r e g o i n s t o f o l l o w i n t h a t s t a t e m e n t . f o l l o w i n g n u m b e r ' s a r e t h e v a l u e s o f t h e e t c h r a t e a s o f M-va lue a t t h e e q u i s p a c e d n u n b e r l p o i n t s ( h e n c e d i v i s i o n s ) on t h e c l o s e d i n t e r v a l o n M = [ a , 1 1 . T h i i s s p e c i f i e d i n u n i t s o f A n g s t r o m s / s e c .

E l , E 2 , a n d E 3 p a r a m e t P r s t h a t s p e c i f y t h e e t c h r a t e l a s a n a n a l y t i c f u n c t i o n o f t h e M - p a r a m e t e r ( s e ? p a r t 3 o f i t h i s r e p o r t ) .

ZURVE a r e

And t h e a f u n c t i o n

: n u m b e r 1 - 1 ) e t c h r a t e

o f

5 ) < d e v m o d e l - s t a t > : : = < d e v m o d e l - s t m t k i n d 1 > I < d e v m o d e l - s t a t k i n d 2 >

w i t h m e a n i n g s a s a b o v e . So a < d e v m o d e l - s t m t > s p e c i f i e s t h e d e v e l o p m e n t model t o b e u s e d i n t h e e t c h i n g m a c h i n e .

( d z v t i n e - s t m t k i n d 1 > : : = DEVTIME n u m b e r 1 w h i c h t e l l s t h a t t h e c h i p i s t o be d e v e l o p e d f o r n u m b e r 1 s e c o n d s w i t h f i n a l e t c h - c o n t o u r s o u t p u t a t t h e e n d o f t h e d e v e l o p m e n t ( i . e . t h e e t c h i n g ) .

< d e v t i n e - s t m t k i n d 2 > : : = DEVTIME n u m b e r 1 TO n u n b e r 2 n u m b e r 3 w h i c h t e l l s t h a t t h e c h i p i s t o b e d e v e l o p e d f o r n u m b a r 2 s e c o n d s , w i t h t o t a l l y n u m b e r 3 ( a n i n t e g e r ) o u t p u t s , a t e q u i s p a c e d p o i n t s frorn n u m b e r l t o n u m b e r 2 ( b o t h i n c l u s i v e ) . ( n u m b e r l < n u m b e r 2 )

6 ) < d e v t i m e - s t m t > : : = < d e v t i m e - s t m t k i n d 1 > I < d e v t i m e - s t m t k i n f 2 >

w i t h t h e i r m e a n i n g s a s a b o v e .

7 ) <resmode l - s tmt> : : = R E S M O D E L nurnber 1 n u m b e r 2 n u m b e r 3 n u m b e r 4 n u m b e r 5 n u m b e r 5 n u m b e r 7

w h i c h s p e c i f i e s t h e p h o t o - r e s i s t model t o b e u s e d . Th.2 n u m b e r s a r e i n t e r p r e t e d a s f o l l o w s :

n u m b e r l = t h e w a v e l e n g t h a t w h i c h t h i s mnodel h o l d s ( i n t e n d e d f D r u s e when m u l t i p l e w a v e l e n g t h c a s e c a n b e h a n d l e d , a t p r e s e n t i t s v a l u e i s i g n o r e d - b u t a n u m b e r m u s t b e p r e s e n t a t t h i s p o s i t i o n )

n u m b e r 2 = T h e A p a r a m e t e r o f t h e r e s i s t ( s e e p a r t 3 ) n u m b e r 3 = T h e B p a r a m e t e r o f t h e r e s i s t ( s e e p a r t 3 ) n u m b e r 4 = T h e C p a r a m e t e r o f t h e r e s i s t ( s e e p a r t 3 ) n u m b e r 5 = T h e r e a l p a r t o f t h e i n d e x o f r e f r a c t i o n o f t h e

n u m b e r 6 = T h e i m a g i n a r y p a r t o f t h e i n d e x o f r e f r a c t i o n o f p h o t o - r e s i s t a t t h e w a v e l e n g t h o f n u m b e r l m i c r o n s .

t h e p h o t o r e s i s t t o g o w i t h n u m b e r 5 . A t p r e s e n t i t ' s v a l u e i s i g n o r e d ; t h e i m a g i n a r y c o h p o n e n t o f t h e i n d e x o f r e f r a c t i o n i s f o u n d from t h e

Page 50: REPORT THE DESIGN OF A SIMULATOR - EECS at UC Berkeley · Report -- on the Design -- of a Simulator Program ... and if the wafer is to be bak$d how lona, ... for the ztchin? process

39

e x p r e s s i o n k = t h e i m a g . p a r t = - ( A + S ) ( l a m b d a ) / ( 4 p i > w h e r e l a rnbda i s t h e w a v e l e n g t h a t w h i c h A , a n d B 21-e s p e c i T i e d , a n d p i = 3 . 1 4 1 5 9 2 6 5 . . . .

n u m b e r 7 = t h e t h i c k n e s s o f t h e p h o t o - r e s i s t f i l m om t h e c h i p .

8 ) < r u n - s t m t > : : = R U N I R U N n u m b e r 1

w h i c h t e l l s t o r u n t h e m a c h i n e w h o s e number i s e q u a l t 3 n u m b e r l ( a n i n t e c r , e r ) i f n u m b e r 1 i s i n t h e i n t e r v a l [ 1 , 4 1 . If number1 i s e q u a l t o '3 t h e n t h e m a c h i n e s 1 , 2 , 3 , a n d 4 a r e r u n i n t h a t s e q u e n c e . If n u m b e r l i s n o t p r e s e n t - a s i n t h e f i r s t v a r i a n t c ~ f t h i s s t m t - t h e n i t i s c o n s i d e r e d t a be e q u a l t o 0 a n d h e n c e t h e f i r s t v a r i a n t i s c o n v e r t e d t o t h e s e c o n d v a r i a n t i n t e r n a l l y .

I 9 ) < l a y e r s - s t i n t > : : = LAYERS n u m b e r l n u ~ b e r 2 I < l a y e r s - s t a t > n u m b e r 3 number4 n u n b e r

where n u m b e r l t e l l s t h e r e a l p a r t o f t h e r e f r a c t i v e n d e x o f t h e s u b s t r a t e o f t h e c h i p , a n d n u m b e r 2 t e l l s t h e i n a . p a r t o f t h a t i n d e x ( T h e s u b s t r a t e i s c o n s i d e r e d t o b e e s s e n t i a l l y i n f i n i t e l y t h i c k ) . The f o l l o w i n g n u n b e r s t e l l i n f o r n a t i o n a b o u t t h e o t h e r l a y e r s p r e s e n t a n t h e c h i p ( o n l y a m a x i m u m o f 2 s u c h l a y e r s ( e . g . f o r o x i d e a n d / o r n i t r i d e ) i s l l o w e d ) i n t h e f o l l o w i n g f a s h i o n :

nu inbe r3 = r e a l p a r t o f i n d e x o f r e f r a c t i o n f o r t h a l a y e r n u m b e r 4 = imas . p a r t o f t h e r e f r a c t i v e i n d e x f o r i n u m b e r 5 = t h e t h i c k n e s s o f t h e l a y e r . 1 The l a y e r c l o s e s t t o t h e s u b s t r a t e i s S p e c i f i e d f i r s , e t c .

T h e p h o t o r e s i s t l a y e r i s n o t c o n s i d e r e d t o be a p a r t o f t h e s e l a y e r s ( i t i s s p e c i f i e d i n t h e resmodel-s tmt a s shown a b o v e ) .

1 0 ) < t r i a l - s t i n t > : : = T R I A L n u m b e r l I < t r i a l - s t m t > number

T h i s s t m t g i v e s t h e n u m b e r s t o t h e u s e r - d e f i n e d s u b r ' e x t r i a ' t:, h a n d l e t h e m a s i t w i s h e s . The i n t e n t o f t h i s s t m t i s t o b e a b l e t o i n t r o d u c e new t h i n g s i n t h e p r o g r a m v e r y c o n v e n i e n t l y o n a t r i a l b a s i s . I t s u s e i s l i m i t e d o n l y b y t h e u s e r ' s i n g e n u i t y i n w r i t i n g t h e e x t r i a s u b r ( e t c ) .

Page 51: REPORT THE DESIGN OF A SIMULATOR - EECS at UC Berkeley · Report -- on the Design -- of a Simulator Program ... and if the wafer is to be bak$d how lona, ... for the ztchin? process

J u n 15 1 4 : 3 1 1978 F i l e p 2 / p a r v a r P a g e 1 40

T h e D a t a - S t r u c t u r e f o r t h e P a r s e r

T h e o n l y d a t a c o m m u n i c a t i o n b e t w e e n t h e l e x i c a l - a n a l y z e r dnd t h e p a r s e r o c c u r s t h r o u g h t h e l e x i c a l a n a l y z e r COMMON b l o c k

common / l e x s e n / k w d v a l , r n m v a l , i n t v a l , f r a v a l , r i n t v l , l x t k t y

A p a r t from t h i s o n l y t h e e r r o r f l a g t h a t t h e l e x s e t s o n d e t e c t i n g a n e r r o r c a n a f f e c t t h e p a r s e r ( b e c a u s e o f l e x ) . The b l o c k / ' lexsem/ i s e x p l a i n e d i n t h e l e x i c a l a n a l y z e r d a t a s t r u c t u r e ( f i l e d o u l ( = ' l e x d e f ' ) ) . 4 T h e d a t a s t r u c t u r e u s e d b y t h e p a r s e r i s a s f 3 l l o w s .

cornrnon / p a r s e a / { P a r s e r s e m a n t i c s . T h i s i s s i m i l a r t o /1 xseml f o r l e x . T h i s b l o c k i s f o r t h e c o m m u n i c a t i o ;i o f d a t a b e t w e e n t h e p a r s e r a n d t h e i n t e r p r e t e r ( nd t h e p r e t t y p r i n t e r ) . 1 7

i s t r n t y = ( i n t ) s t a t e m e n t t y p e { f r o m t h e s t n t - k w d l l i n d i c a t e I

1 -2 s tqt s y n t h e s i z i n g s t a r t e d ( i n s u b d g s t m t ) )

I t s v a l u e s

- 1 < e r r o n e o u s - s t n t > ( = < i n v a l i d - s t a t > ) c) < e n d - s t m t> 1 <1 ambd a - s t r n t > 2 < e x p o s u r e - s t n t > 3 < s y s tem- s t m t> 4 < o b j e c t - strnt> 5 < d e v m o d e l - s t m t > 3 < d e v t ime-stmt> 7 < r e s m o d e l - s t r n t > s < r u n - s t m t> 9 < l a y e r s - strnt>

1 0 <t r i a l - s t m t > i s t k n d = ( i n t ) s t a t e m e n t k i n d { i . ? . w h i c h f l a v o u r o f t h e

a b o v e s t a t e m e n t t y p e ) . ( I f t h e s t m t f o r n e d h a s n o d i f f e r e n t k i n d s i . e . o n l y o n e k i n d t h e n 0 )

( s t a t . n u m b e r . l i s t )

t h e t o t a l number o f n u m b e r s i n t h e s t a t e

i s c o n s i d e r i n g a t p r e s e n t )

s t n m l s ( 2 5 ) = l i s t o f n u m b e r s i n t h e s t a t e m e n t

n n i n s t = p o i n t e r t o t h e l a s t number i n s t n m l s { h

n m p n t r = number p o i n t e r ( t e l l s w h i c h n u m b e r t h e p

common / e n d f l 2 / { a l l l o g i c a l f l a g s ) n o s t r n t = e n d o f s t m t s t r e a m ( f l a 9 f o r u s e b y t h e c o n t r o l l e r )

l x u s e d = i f t h e c u r r e n t lexeme was ' u s e d u p ' t h e n . T R U E . = . T R U E . i f < e n d - s t m t > i s z x e c u t e d , .FALSE. o t h e r w i s e

e l s e .FALSE.

common / e r r f l 2 / {e r ro r f l a g s ) l p a r e r = ( l o g i c a l ) p a r s i n g e r r o r ( s y n t a x n o t a c c o r d i n g t o

l e g s t r n = i f t h e s t m t ( b e i n g ) f o r m e d and ( t o b e ) r e t u r n e d t h e p a r s e r - e x p e c t e d ( ' g o o d ' ) g r a m m a r )

Page 52: REPORT THE DESIGN OF A SIMULATOR - EECS at UC Berkeley · Report -- on the Design -- of a Simulator Program ... and if the wafer is to be bak$d how lona, ... for the ztchin? process

J u n 15 1 4 : 3 1 1 9 7 8 File p 2 / p a r v a r P a z e 2

b y g s t m t i s ' l e g a l ' t h e n .TRUE. , .FALSE. o t h e r w i s e

.....----- . . . . . -----

Names o f s u b r o u t i n e s , a n d v a r i a b l e s e t c .

s u b r f s x x x x = s u b r t o f o r m - s t n t - x x x x

J a n 1 2 0 3 : 5 2 1 9 7 8 F i l e p 2 / p r p r d o c u P a g e 1

4 1

T h e p r e t t y p r i n t e r f o r t h e s t a t e m e n t s i s w r i t t e n t o o u t p u t t h e n e a n i n g o f t h e i n p u t s t a t e m e n t s i n an e x p a n d e d f o r m , t h e way i t i s g o i n g t o b e u n d e r s t o o d b y t h e < e x - s t m t - s u b r > s . I t d o e s n o t n e e d a n y g l o b a l d a t a - s t r u c t u r e f o r i t s e l f . I t g e t s t h e i n p u t stmt f r o m t h e p a r s e r i n t h e COYMON b l o c k / p a r s e m / .

A m a c h i n e r e a d a b l e o u t p u t can b e o u t p u t t e d ( e . g . o n c a r d s f o r 6 4 0 0 , o r j u s t t h e n o r m a l o u t p u t f o r u s e w i t h U n i x ) w h i c h c a n be r e a d b a c k a s i n p u t a n d i s n i c e l y f o r m a t t e d , b u t t h e s i m p l i c i t y , o f t h e i n p u t d o e s n o t make t h i s w o r t h w h i l e .

Page 53: REPORT THE DESIGN OF A SIMULATOR - EECS at UC Berkeley · Report -- on the Design -- of a Simulator Program ... and if the wafer is to be bak$d how lona, ... for the ztchin? process

J u n 19 0 2 : 3 0 1 9 7 8 F i l e m 0 l v a r P a g e 1

I I The v a r i a b l e s a s s o c i a t e d w i t h t h e o p e r a t i o n o f m a c h i n e 1 ( t h e

h o r i z o n t a l i m a g i n g m a c h i n e ) a r e : I

Common B l o c k s :

42

F o r g e t t i n g t h e i n f o r m a t i o n f r o m t h e i n p u t s t a t e m e n t s t o t h e m a c h i n e :

{ A l l l e n g t h s a r e i n m i c r o n s . ) {CCNSTANTS i n e a c h common b l o c k a r e i n u p p e r - c a s e l e t t e r s } { d e f a u l t v a l u e s o f a l l v a r i a b l e s a r e a s i n s u b r i n i m 0 l l

/ e r r1 a b / { F o r a n y e r r o r i n t h e ' l a b ' ) l n o e r r = ( l o g i c a l ) no e r r o r

when t r u e = > no e r r o r d e t e c t e d u p t o now

/ m a t h / {Ma t h e m a t i c a 1 c o n s t a n t s ) P I = p i = 3 . 1 4 1 5 9 2 6 5 3 5 8 9 7 9 ... T2BYPI = 2 / p i

/ s p e c t r / { I l l u m i n a t i o n s p e c t r u m ( i n t h e n o r m a l i z e d s e n g e ) For e a c h l a m b d a - s t m t a n d mcl ( = m o l ) . Dose-stmtiis a s e p a r a t e o n e . } I

MXNLMG = max number o f l a m b d a s ( i . e . o p t i c a l w a v e l e n g t h s ) = 5 nmlmbd = a c t u a l n o . o f w a v e l e n g t h s r l a m b d ( M X N L M D ) = r l a m b d ( 5 ) = t h e w a v e l e n g t h s r e l i n t ( MXNLMC ) = r e l i n t ( 5 ) = r e l a t i v e i n t e n s i t y a t t h e

c o r r e s p o n d i n g w a v e l e n g t h s ( so t h a t t h e i r sum = 1 . 0 1

/ o b j m s k / { T h e o b j e c t ( = mask) i s d e s c r i b e d h e r e ) { F o r o b j e c t - s t m t , a n d mcl ( = m 0 1 > 1

MLINE = mask i s a l i n e = 1 MSPACE = mask i s a s p a c e = 2 MLNSPA = mask i s a p e r i o d i c p a t t e r n o f l i n e and s p a c e ( i . e . a

g r a t i n g ) = 3 m a s k t y = mask t y p e ( f r o m t h e s e t { M L I N E , MSPACE, MLNSPA)) r l w = ( r e a l v a r ) l i n e w i d t h rsw = ( r e a l v a r ) s p a c e w i d t h

/ i m g s y s / { The o p,t o - mec ha n i c a1 i m a g e- f o r m i n g s y s t em i s d e sc r i b ed

{ F o r s y s t e m - s t m t and m c l ( = m o l ) } { A s s o c i a t e d w i t h and c o n t i n u e d i n t o / i m g 2 p r / , and / i m g 3 c o / )

h e r e }

IMSPRO = 1 = > p r o j e c t i o n t y p e s y s t e m IMSCON = 2 = > c o n t a c t - t y p e s y s t e m i m s y t y = ( a c t u a l ) i m a g i n g system t y p e ( f r o m t h e s e t ItMSPRO, IMSCON}

/ i m g 2 p r / { F o r p r o j e c t i o n t y p e ststem} r n a ( M X N L M D , 2 ) = r n a ( 5 , 2 ) = N A f o r e a c h w a v e l e n g t h ( - , l ) ,

a n d t h e w a v e l e n g t h ( - , 2 ) . { N o t e t h a t t h i s s t o r e s w a v e l e n g t h s }

Page 54: REPORT THE DESIGN OF A SIMULATOR - EECS at UC Berkeley · Report -- on the Design -- of a Simulator Program ... and if the wafer is to be bak$d how lona, ... for the ztchin? process

J u n 1 9 02:36 1 9 7 8 F i l e m 0 l v a r P a g e 2 43

PIXNWTF = rnax n o . o f m t f w e i g h t f a c t o r s = 2 1 {From z e r o f r e q u e n c y t o a max f r e q }

nmwtfc(l4XNLMD) = n m w t f c ( 5 ) = number o f w e i g h t f a c t o r s f o r t h a t l a m b d a { 0 = > n o n e , s o 0 = > d i f f r a c t i o n l i m i t e d m t f }

r m t f w t ( K X N L M D , NXNWTF) = r m t f w t ( 5 , 2 1 ) = t h e rntf w e i g h t f a c t o r s f o r e q u i s p a c e d v n / v c a t a g i v e n w a v e l e n g t h ( u p t o t h e s p a t i a l f r e q u e n c y s p e c i f i e d i n t o s p f r ( i { = l a m b d a - i n d e x ) ) .

t o s p f r ( W X N L M D = t o s p f r ( 5 ) = t o s p a t i a l f r e q u e n c y t t h a t w a v e l e n g t h ( i . e . a t t h a t l a m b d a , t h e r e a r e m w t f c w e i g h t f a c t o r s g i v e n u p t o t h i s s p a t i a l f r e q u n c y , i n c l u d i n g t h e two end p o i n t s , a n d a t e q u i s p a ed

n o t f i t i n a s i n g l e c a r d ( l i n e ) i n t h e commo t s t m t f o r / i m g 2 p r / " }

i n t e r v a l s ) i a t p r e s e n t t h i s i s i n / i m g s y s / " b e c a u e i t d o e s { -----

/ i m g 3 c o / { F o r c o n t a c t t y p e sys t em} s e p m t c = mask t o c h i p s e p a r a t i o n { i n m i c r o n s , a s s p e c i f i e d }

{ = I O * c l * e x p ( - c 2 * x * s q r t ( 2 / ( l a m b d a * b e p m t c ) ) } c l = c l { O f t h e f o r m u l a f o r i n t e n s i t y a s I = 1

c 2 = c2 I i n t h e f o r m u l a a b o v e 1

Page 55: REPORT THE DESIGN OF A SIMULATOR - EECS at UC Berkeley · Report -- on the Design -- of a Simulator Program ... and if the wafer is to be bak$d how lona, ... for the ztchin? process

J u n 19 0 2 : 4 2 1 9 7 8 F i l e m O l v a r b P a g e 1 4 4

More v a r i a b l e s f o r m a c h i n e 1 .

Common B l o c k s :

V a r i a b l e s i n t e r n a l t o t h e system ( l a b ) m a c h i n e s { A t p r e s e n t h o r i z o n t a l i m a g e = sum o f a l l h o r i z o n t a l images a t

a l l w a v e l e n g t h s * t h e i r r e l a t i v e i n t e n s i t i e s ) ,

S p a t i a l f r e q u e n c y c o m p o n e n t s o f mask a n d i m a g e a r e p e c i f i e d b y t h e p a r a m e t e r s { r e l e v a n t o n l y f o r a p r o j e c t i o n i y p e s y s t e m 1

f r e q u e n c y = { f O = O . O , f l , f 2 , ..., f n ) = { f i l = { E [ i l l a m p l i t u d e = { a O , a l , a 2 , ..., a n ) = { a i ) = { a [ i l l { p h a s e i s z e r o , (even s y m m e t r y o f t h e m a s k )

so t h a t i = c o m p o n e n t n u m b e r i . e . a l l a r e c o s i n e f u n c t i o n s )

= IO, 1 , 2 , ..., n l ' N o r m a l i z e d ' m e a n s

f r e q u e n c i e s c o n v e r t e d t o v n / v c = f n / f c = f n / v c where v c i s t h e c u t o f f f r e q u e n c y ( s p a t i a l ) a t t h a t l a m b d a f o r t h e l e n s .

a m p l i t u d e s ( , a n d p h a s e s same a s b e f o r e .

/ f o u s e r / { F o u r i e r s e r i e s p a r a m e t e r s o f t h e m a s k a n d i m a g e , a n d a s s o c i a t e d p a r a m e t e r s o f t h a l e n s . 1

{ c o n t i n u e d i n t o / f o u s e 2 / ) MXNMFR = max number o f s p a t i a l f r e q u e n c y c o m p o n e n t s ( o f t h e

m a s k , a n d i m a g e ) = c a r d i n a l i t y o f i = 1 1 ( s o t h a t i = 0 , 1 , 2 , ..., 1 0 )

n m f r c m = number o f s p a t i a l f r e q c o m p o n e n t s ( o f m a s k , a n d i m a g e ) h e n c e max v a l u e = MXNMFR - 1 { F o r e a c h w a v e l e n g t h t h e c a l c u l a t i o n s g o on i n d e p e n d -

- e n t l y . Hence t h i s n e e d n o t b e an a r r a y i n d e x e d on t h e w a v e l e n g t h )

f s f r q a ( MXNMFR = f s f r q a ( 1 1 ) = F o u r i e r s e r i e s f r e q u e n c i e s

f s f r q n ( MXNMFR ) = f s f r q n ( 1 1 ) = F o u r i e r s e r i e s f r e q u e n c i e s a c t u a l { f o r b o t h mask a n d i m a g e }

n o r m a l i z e d { f o r b o t h mask a n d i m a g e }

/ f o u s e 2 / { c o n t i n ua t i o n o f / f o user / ) f s a m s k ( MXNMFR ) = f s a m s k ( 1 1 ) = f s a m p l i t u d e s f o r t h e mask f s a i m g ( MXNMFR ) = f s a i m g ( 1 1 ) = f s a m p l i t u d e s f o r t h e i m a g e

{ f s a i m g ( . ) i s n o t u s e d a t a l l i n t h i s v e r s i o n . I t i s i m p l i c i t l y c a l c u l a t e d a s l o c a l s c a l a r v a r i a b l e ]

The c o m p u t a t i o n f o r e a c h w a v e l e n g t h g o e s on s e p a r a t e l y a n d t h e r e s u l t s a r e a d d i t i v e l y a c c u m u l a t e d i n t h e o u t p u t ( h o r i n t ( .)I. T h a t i g i v e s t h e p r o p e r o u t p u t ( f o r t h i s v e r s i o n ) . I

/ l e n s p a / { L e n s p a r a m e t e r s ( f o r p r o j e c t i o n t y p e systems) 1 v c = t h e c u t o f f f r e q u e n c y o f t h e l e n s ( m t f ) e q u a t i o n a t

t h a t 1 am bd a

Page 56: REPORT THE DESIGN OF A SIMULATOR - EECS at UC Berkeley · Report -- on the Design -- of a Simulator Program ... and if the wafer is to be bak$d how lona, ... for the ztchin? process

J u n 1 9 02:42 1978 F i l e m O l v a r b P a g e 2 45

d l m t f n ( MXNMFR = d l m t f n ( 1 1 ) = d i f f r a c t i o n l i m i t e d m t f a t t h e ( n o r m a l i z e d ) f r e q u e n c i e s ( v n / v c )

a c t m t f ( KXNMFR ) = a c t m t f ( l 1 ) = a c t u a l m t f ( a t t h e n o r m a l i z e d , o r a c t u a l f r e q u e n c y c o m p o n e n t s )

O u t p u t o f m a c h i n e 1

/ h o r img/ { H o r i z o n t a l i m a g e ) d e l t a x = ( x g r i u n = ) x g r i d u n i t M X N G D V = max n u m b e r o f g r i d d i v i s i o n s = 50 MXNGPT = max number o f g r i d p o i n t s = (IUIXNGDV + 1 ) = 51 n m g r d v = a c t u a l number o f g r i d d i v i s i o n s ( = 4 0 2 t p r e s e n t )

n m h p t s a c t u a l number o f h o r i z o n t a l g r i d p o i n t s = nrngrdv + 1 { s h o u l d b e made u s e r s p e c i f i a b l e )

{changed----- n m h p t s = nmgrdv = 4 0 ( b e c a u s e o f t h e new c o n v e n t i o n t h a t t h e g r i d p o i n t s a r e a t t h e m i d p o i n t s o f t h e g r i d d i v i s i o n s r a t h e r t h a n t h e e n d p o i n t s o f t h e d i v i s i o n s ) 1

h o r i n t ( MXNGPT ) = h o r i n t ( 51 ) = h o r i z o n t a l i n t e n s i t y a t t h e g r i d p o i n t s { i . e . a t d e l t a x * , i l l

/ i p s t m l / { i n p u t s t a t e ( r e l e v a n t p a r t s ) i n f o r m a t i o n o f m a c h i n e 1 p r e s e r v e d a t i t s o u t p u t f o r k e e p i n g t r a c k o f w h a t i n p u t d o e s t h e o u t p u t c o r r e s l p o n d t o . )

o b j e c t - s t m t s h o u l d be s t o r e d h e r e ) { H e n c e i n f o r m a t i o n from l a m b d a - s t m t , s y s t e m - s t m t , a n d

[ --- n o t i m p l e m e n t e d a t p r e s e n t ---I {From 1 ambd a-stm t I

ncmlmd < - / s p e c t r / .nmlmbd c r l m b d ( 1 0 ) < - / / . r l a m b d ( MXNLMD 1 c r e l i n ( 1 0 1 <- / / . r e l i n t ( M X N L M D )

{ c o p y o f - = c- 1

---------- {From ob j e c t - s t m t ) n c m s k t <- / o b j m s k / . m a s k t y c r lw < - / / . r lw crsw < - / /.rsw

{From s y s tem-stmt} {What o t h e r t h i n g s a r e w a n t e d h e r e ? )

----------

Page 57: REPORT THE DESIGN OF A SIMULATOR - EECS at UC Berkeley · Report -- on the Design -- of a Simulator Program ... and if the wafer is to be bak$d how lona, ... for the ztchin? process

46 J u n 19 0 2 : 5 0 1 9 7 8 F i l e m O l v a r c P a g e 1

L o c a l v a r i a b l e s ( t e m p o r a r y v a r i a b l e s ) f o r t h e h o r i z o n t a l i m a e e m a c h i n e i . e . m a c h i n e 1 ( = mcl = m01 )

s u b r ex lmbd sumtmp = ...

Jun 19 02:55 1978 F i l e errmesrn01 P a g e 1

E r r o r M e s s a g e Summary f o r m a c h i n e ( 1 )

I n c a s e o f a n e r r o r d e t e c t e d by m a c h i n e 1 t h e e r r o r m e s s a g e w i l l b e

***,+,*** E R R O R I N M A C H I N E ( 1 = n n n n n

w h e r e t h e n n n n n i s a d e c i m a l n u m b e r . I t s m e a n i n g i s a s f o l l o w s :

10 ( i n f u n c t i o n d m t f n a ( v n b y v c > > v n b y v c > 1 . 0

20 ( i n f u n c t i o n d m t f n a ( v n b y v c ) > v n b y v c < - 0 . 0 0 0 0 1

3G ( i n s u b r o u t i n e e x r u n ) p a r a m e t e r t o t h e r u n - s t m t was o u t o f t h e l e g a l r a n g e f o r i t .

i . e . n e i t h e r a p r o j e c t i o n t y p e s y s t e m n o r a c o n t a c t t y p e s y s t e m ( t h i s e r r o r i s n o t u s e r - g e n e r a t a b l e )

40 ( i n s u b r o u t i n e r u n m c l ) i m s y t y ! = i m g p r o , o r i m g c o n

50 ( i n s u b r o u t i n e r u n m c l ) mask i s n e i t h e r l i n e , n o r s p g c e , n o r

60

70

l i n e s p a c e

( i n s u b r o u t i n e r u n m c l ) l i k e 10 ( f o r c o n t a c t t y p e s y

( i n s u b r o u t i n e e x s y s t ) number o f w e i g h t f a c t o r s ( = o u t s i d e t h e l e g a l r a n g e o f G < i t e m p 2 <= m x n w t f

Page 58: REPORT THE DESIGN OF A SIMULATOR - EECS at UC Berkeley · Report -- on the Design -- of a Simulator Program ... and if the wafer is to be bak$d how lona, ... for the ztchin? process

J u n 19 0 1 : 5 8 1 9 7 8 F i l e p 2 / d a t a 2 3 4 o r g P a g e 1 - 47

D o c u m e n t a t i o n o f t h e d a t a - s t r u c t u r e f o r i n t e r f a c i n g m a c h i n e s 2 , 3 , and 4 t o t h e c o n t r o l l e r ( t h r o u g h t h e < e x - s t m t - s u b r > s ) .

All t h e r e l e v a n t d a t a i s k e p t i n l a b e l l e d CCMMCN b l o c k s a s f o l l o w s .

Ex p o s u r e - s t m t - > E x p o s u r e i n f o r m a t i o n

M a c h i n e ( 3 )

/ e x p o s u / { H o l d s e x p o s u r e i n f o r m a t i o n p r o v i d e d b y t h e u s e r i n t h e e x p o s u r e s t m t }

mxnmex = max n u m b e r o f e x p o s u r e s t e p s = 1 1 nmexpo = n u m b e r o f e x p o s u r e s ( e x p o s u r e s t e p s ) ncouex = n u m b e r c o u n t o f e x p o s u r e s f i n i s h e d b y now d o s e l = i n i t i a l d o s e ( f o r t h e f i r s t s t e p ) d o s e 2 = f i n a l d o s e ( f o r t h e l a s t s t e p )

d o s e = a c t u a l d o s e ' a l r e a d y ' g i v e n a t p r e s e n t l i . e . t h e

d o s e s t = dose s t e p = e x p o s u r e s t e p = ( d o s e 2 - d o s e l ) / ( n m e x p o - 1 )

{ d o s e l , a n d d o s e 2 a r e ' d i a l - s e t t i n g ' s , d o s e l < d o s e 2 1

c u r r e n t r e a d i n g o n t h e d i a l )

s u b r e x e x p o m a k e s i t p o s s i b l e t o t r e a t b o t h k i n d s o f t e x p o d u r e - s t m t > s un i f orml y . I

I

l o c a l v a r s f o r s u b r e x e x p o ~

t e m p = r e a l ( n m e x p 0 ) a n d r e a l ( n m e x p 0 ) - 1 . 0

s u b r i n i m { C o n t a i n s a l l t h e common b l o c k s f o r m a c h i n e s 2 , 3 , a n d 4 r e q u i r e d

t o c o m m u n i c a t e w i t h t h e c o n t r o l l e r ) l o c a l v a r s

t e m p - f o r c o n v e r s i o n from i n t e g e r t o r e a l

V a r i a b l e s f o r s u b r e x d v t m d e v t i m e ( e t c h t i m e ) s t m t - > d i a l s e t t i n g i n m a c h i n e ( 4 ) COMMON B l o c k s

/ e t c h t m / m x n e h t nmehtm n c o e h t

e h t m l eh tm2 ehtm e h t m s t

{ e t c h t i m e ( = d e v t i m e ) i n f o r m a t i o n ) = max n u m b e r o f e t c h - t i m e s t e p s = 1 1

n u m b e r o f e t c h i n g s t e p s ( < m x n e h t ) = ( n u m b e r ) c o u n t e r f o r e t c h s t e p s

{ 0 <= n c o e h t < ( = I nmehtm I = i n i t i a l e t c h t i m e ( f o r t h e f i r s t s t e p ) = f i n a l e t c h t i m e ( f o r t h e l a s t s t e p ) = a c t u a l e t c h t i m e ' a l r e a d y ' g i v e n a t p r e s e n t = e t c h t i m e s t e p = ( e h t m 2 - e h t m l ) / ( n m e h t m - 1 )

( L i k e s u b r e x e x p o ) s u b r e x d v t m m a k e s i t p o s s i b l e t o t r e a t b o t h t h e k i n d s o f t h e e t c h - t i m e - s t m t s ( Z d e v t i m e - s t m t s ) u n i f o r m l y ( i n terms a p h y s i c a l m a c h i n e d i a l - s e t t i n g ) . / e t h p a r / - { F r o m Mike)

l o c a l v a r

Page 59: REPORT THE DESIGN OF A SIMULATOR - EECS at UC Berkeley · Report -- on the Design -- of a Simulator Program ... and if the wafer is to be bak$d how lona, ... for the ztchin? process

J u n 1s 0 1 : 5 & 1 5 7 & F i l e p 2 / t i s t a 2 3 4 o r g P a g e 2 - 48

t e m p = r e a l ( n m e h t m ) , a n d r e a l ( n m e h t m 1 - 1 . 0

i I

H a n d l i n g t h e i n f o r m a t i o n c o m i n g from t h e r e s m o d e l - s t m t .

/ r esmod / { c o n t a i n s r e s i s t model i n f o r m a t i o n f o r b l e a c h i n g

r s l r n b d = t h e w a v e l e n g t h a t w h i c h t h e A , B , C p a r a m e t e r s , a n d

p r t h i c = PR l a y e r t h i c k n e s s p r p a r a = P h o t o r e s i s t p a r a m e t e r A p r p a r b = PR p a r a m e t e r B p r p a r c = PR p a r a m e t e r C

( a n d n o t f o r e t c h i n g ) 1

r e f r a c t i v e i n d e x h a v e b e e n s p e c i f i e d .

/ resmo2/ { C o n t i n u a t i o n o f / r e s m o d / - } p r p a r n = PR r e f r a c t i v e i n d e x p a r a m e t e r n ( t h e r e a l p a r t ) p r p a r k = PR r e f r a c t i v e i n d e x p a r a m e t e r k ( t h e i m a g . p a r t )

No l o c a l ( t e m p ) v a r i a b l e s i n s u b r exrsmo.

s u b r ex 1 a y e

/ l a y s t m / { s h o u l d p u t r n x n l a y , n m l a y e e t c . } { n o t p u t i n . see / c h i p a r / 1

l o c a l v a r s n l a y e t = n u m b e r o f l a y e r s ( t e m p o r a r y )

i t e m p l = d o - l o o p i n d e x ( c o u n t i n g v a r i a b l e f o r n u m b e r o f l a y e r s ) i w v l e n = i n d e x o n w a v e l e n g t h ( a t p r e s e n t i w v l e n = 1 ) i p a r s e = p a r s e r i n d e x ( o n p a r s e m ( 2 5 ) )

i l a y e r = i n d e x o n l a y e r s , ~ r : - 1 . J - A - I 1

n m s t r a = n u m b e r o f s t r a t a ( i . e . s u b s t r a t e , l a y e r l , l a y e r 2 , and P R l a y e r make 3 s t r a t a )

= n m f i l m = number o f f i l m s c ok - , - p., T L c - s l ,3', Z - * -

1.3 J 9,:; 2/ I F - , , - i c ,-. F o r s u b r exdvmo

d e v m o d e l strnt = e t c h r a t e s t m t

/ er pa r a / { D e v m o d e l i n f o r m a t i o n = e t c h r a t e i n f o r m a t i d n } { E t c h r a t e p a r a m e t e r s }

k e r s p e = e t c h r a t e s p e c i f i c a t i o n t y p e = { k e r f u n , o r k e r c u r } k e r f u n = ( c o n s t a n t ) e t c h r a t e i s s p e c i f i e d a s a n a n a l y t i c

k e r c u r = ( c o n s t a n t ) e t c h r a t e i s s p e c i f i e d b y e q u i d i s t a n t

e t c h e l , e t c h e 2 , e t c h e 3 s h o u l d b e i n t h i s common b l o c k b u t a t p r e s e n t t h e y a r e a l s o i n M i k e ' s / e t h p a r / b l o c k . T h e s e a r e t h e E l , E 2 , a n d E3 p a r a m e t e r s f o r e t c h r a t e an a 1 y t i c s p e c i f i c a t i o n

f u n c t i o n = 1

p o i n t s o n a c u r v e

/ er p a r 2 / { c o n t i n u a t i o n o f / e r p a r a / 1 m x n e r d = max num o f e t c h r a t e c u r v e s p e c i f y i n g d i v i s i o n s = 2 0

Page 60: REPORT THE DESIGN OF A SIMULATOR - EECS at UC Berkeley · Report -- on the Design -- of a Simulator Program ... and if the wafer is to be bak$d how lona, ... for the ztchin? process

J u n 19 0 1 : 5 8 1 9 7 8 F i l e p 2 / d a t a 2 3 4 - o r g P a g e 3

nixnerp = max num o f e t c h r a t e p o i n t s = ( m a x n e r d + 1 ) = 211 n e r d i v = ( a c t u a l ) number o f e t c h r a t e d i v i s i o n s n e r p t s = ( a c t u a l ) number o f e t c h r a t e p o i n t s e t c h r a ( r n x n e r p 1 = e t c h r a ( 2 1 )

= e t c h r a t e c u r v e p o i n t s s p e c i f i e d b y t h e user

/ e t h p a r / {From Mike )

l o c a l v a r it'm;iipl = p a r s e m ( 1 ) 1

The common b l o c k / s i m p a r / ( f rom Mike) h a s t h e ' s i m u l a t i o n p r ame te r s ' i . e . t h e d i s c e i z a t i o n p a r a m e t e r s

These a r e t h e d i s c r e t i z a t i o n s t e p s i z e s ( v a r i a b l e s ) ( o r r e1 t e d t o t h e m ) n e c e s s a r y f o r t h e p u r p o s e o f s i m u l a t i a ' n . a c o n t i n u o u s r o c e s s o n a d i g i t a l c o m p u t e r .

The n u m e r i c a l a c c u r a c y o f s i m u l a t i o n ( w . r . t . t h e c o n t i n j o u s m o d e l ) i s d e p e n d e n t o n t h e va6qges o f t h e s e v a r i a b l e s , s o a l s o t h e t o t a l c o m p u t i n g t ime ( a n d h e n c e t h e c o s t ) o f t h e s i m u l a t i o n .

i d

n p r l y r , n p r p t s , n e n d i v , d e l t m , d e l t z

49

Page 61: REPORT THE DESIGN OF A SIMULATOR - EECS at UC Berkeley · Report -- on the Design -- of a Simulator Program ... and if the wafer is to be bak$d how lona, ... for the ztchin? process

J u n 1'; 1 4 : 5 6 1 9 7 8 F i l e p 2 / e r r ! n e s 2 3 4 P a g e 1 50

el E r r o r messacJ,e n u m b e r s f r o m t h e < e x - s t m t - s u b r > s t o i n d i c a t

(macnum = m a c h i n e nurnber ) e r r o r s i n s t n t s f o r m a c h i n e s 2 , 3 , and 4 . I

C Y I :, s u b r o u t i n e , ( m a c n u m , i e r r n m )

p r o d u c e s t h e o u t p u t .

rllacnum = 2

i e r r n m = 1 0 t h e number o f l a y e r s ( z n r n l a y e t ) ( i n c l u d i n g t h e s u b s t r a t e , b u t e x c l u d i n g t h e p h o t o r z s i s t l a y e r d o e s n o t s a t i s f y t h e c o n d i t i o n

( ( 1 . l e . n l a y e t ) . a n d . ( n l a y i t . l e . 3 1 ) { T h e 3 i s n x n l y r - 1 1

c a l l e d f r o m s u b r e x l a y e

i e r r n m = 10 number o f e x p o s u r e s t e p s s p e c i f i e d i n t h e i n d u t ( = nmexpo) i s o u t s i d e t h e l e g a l ranrr,e o f ~

2 < = nmexpo < = mxnmex I

w h e r e mxnrnex = 1 1

~

2 0 t e l l s t h a t t h e c o n d i t i o n ( 0 . 0 <= d o s e 1 < d o s e 2 ) i s n o t v a l i d i n t h e e x p o s u r e - s t m t . ~

macnum = 4

i e r r n m = 10 , 20 a r e s i q i l a r t o m a c h i n e 3 c a s e b u t f o r t h e e t c h i n g m a c h i n e .

t o t a l number o f n u m b e r s i n t h e s t m t i s n o t a s s a i d t o be i n t h e i n p u t f i r s t n u m e r i c a l p a r a m e t e r .

i s o u t s i d e t h e r a n g e

w h e r e rnxne rp = 21

30 e r r o r i n t h e i n p u t f r o m t h e p a r s e r .

40 number o f e t c h r a t e c u r v e s p e c i f i c a t i o n p o i n t s ( n e r p t s )

( ( 2 . l e . n e r p t s ) . a n d . ( n e r p t s . l e . m x n e r p ) )

Page 62: REPORT THE DESIGN OF A SIMULATOR - EECS at UC Berkeley · Report -- on the Design -- of a Simulator Program ... and if the wafer is to be bak$d how lona, ... for the ztchin? process

R

5 1

J u n 15 1 5 : O l 1 9 7 3 File p 2 / p r o ? f s 3 1 P a g e 1

Some f e a t u r e s o f t h e p r o g r a r n

C h a n g e t h e RESVDDEL s tqt ( i n t h e n e x t v e r s i o n ) t o two d i f f e r e n t s t a t e m e n t s s o t h a t t h e g e m e t r i c i n f o r m a t i o n ( P R t h i z k n e s s ) i s s p e c i f i e d i n one o f t h e n , a n d t h e A , B , C , p a r a m e t e r s , t h q r e f r a c t i v e i n d e x ( o n l y t h e r e a l p a r t ) , a n d t h e w a v e l e n g t h a t w h i c h t h e s e v a l u e s h o l d a r e s p e c i f i e d i n a n o t h e r .

Page 63: REPORT THE DESIGN OF A SIMULATOR - EECS at UC Berkeley · Report -- on the Design -- of a Simulator Program ... and if the wafer is to be bak$d how lona, ... for the ztchin? process

Part 3 - -

Implementation Documentation

for t h e Machines and C o m p o n e n t s --

Page 64: REPORT THE DESIGN OF A SIMULATOR - EECS at UC Berkeley · Report -- on the Design -- of a Simulator Program ... and if the wafer is to be bak$d how lona, ... for the ztchin? process
Page 65: REPORT THE DESIGN OF A SIMULATOR - EECS at UC Berkeley · Report -- on the Design -- of a Simulator Program ... and if the wafer is to be bak$d how lona, ... for the ztchin? process

53

p e r f o r m e d ( e . g . o u t p u t o f c e r t a i n v a r i a b l e s , o r c a r d s f o r t h e p l o t t e r e t c .) . These c o n t r o l s w i t c h e s

p u r c h i n g ( f l a g s )

S i n c e a l l t h e p a r a m e t e r s and c o n t r o l s w i t c h e s a r e r e p r e s e n t e d by v a r i a b l e s i n t h e p r o g r a m , t h i s d e f a u l t v a l u e s s p e c i f i c a t i o n i s d o n e i n t h e i n i t i a l i z i n g s u b r o u t i n e s ( o r may b e d o n e w i t h D A T A - s t a t e m e n t s ( i n a BLOCK D A T A s u b p r o - g r a m ) ) . The f o l l o w i n g i s a p a r a p h r a s e o f t h a t i n i t i a l i z a - t i o n .

0 ) M i s c e l l a n e o u s : - The m a t h e m a t i c a l c o n s t a n t p i = 3 . 1 4 1 5 9 2 6 5 3 5 8 9 7 9 . The n o - e r r o r f l a g / e r r l a b / . l n o e r r i s s e t t o . t r u e .

1 ) The d e f a u l t s y s t e m c o n f i g u r a t i o n , c o m p o n e n t s i z e s , and o t h e r v a l u e s : - - -

1 . 1 ) T h e H o r i z o n t a l I m a g e C a l c u l a t i o n : - - - The i l l u m i n a t i o n s p e c t r u m : - Number o f w a v e l e n g t h s : maximum = 5 , d e f a u l t = 1 . The w a v e l e n g t h = 0 . 4 0 4 7 mic rons , w i t h r e l a t i v e i n t e n s i t y = 1.00 ( o b v i o u s l y ) .

T h e o b j e c t ( m a s k ) : I - a l i n e s p a c e p a t t e r n w i t h l i n e w i d t h = s p a c e w i d t h = 1 . 0 m i c r o n s .

Page 66: REPORT THE DESIGN OF A SIMULATOR - EECS at UC Berkeley · Report -- on the Design -- of a Simulator Program ... and if the wafer is to be bak$d how lona, ... for the ztchin? process

54

The i n a g i n g S y s t e m : A p r o j e c t i o n t y p e s y s t e m w i t h N u m e r i c a l A p e r t u r e ( N I A ) = 0 . 1 2 5 and maximum n u m b e r o f w e i g h t f a c t o r s f o r t h e KTF = 2 1 , d e f a u l t = 0 ( i . e . d i f f r a c t i o n l i m i t e d PiTF).

F o r a c o n t a c t t y p e s y s t e m : C 1 = 0 . 2 5 , and C2 = 2 . 0 0 . D i s c r e t i z a t i o n f o r N u m e r i c a l C a l c u l a t i o n s : T h e maximum number o f f r e a u e n c i e s t o b e u s e d i n t h e c o m p u t a -

7

t i o n o f F o u r i e r c o m p o n e n t s o f mask a n d i m a g e = i l ( = d e f a u l t ) . !

F o r t h e h o r i z o n t a l i m a g e r e p r e s e n t a t i o n , t h e x - a x i s g r i d u n i t = l . C m i c r o n s ( t h i s g e t s s u p e r s e d e d i n t h e c o p u t a -

d i v i s i o n s + 1 . D e f a u l t o f t h e number o f g r i d d i v i s i o oi s g r i d a n d and t h e maximum number o f g r i d p o i n t s = max. n o .

t h e g r i d p o i n t s i s 40 ( f o r b o t h ) .

t i o n s ) , m a x i m u m number o f g r i d d i v i s i o n s o n t h e x - a x i s r = 5 0 ,

- - 1 . 2 ) - The S t a n d a r d - B l e a c h i n g C a l c u l a t i o n :

P o s i t i v e P h o t o r e s i s t ( P R ) Model : A t w a v e l e n g t h o f 0 . 4 O T m i c r o n s , t h e p a r a m e t e r s o f t h e

0 . 0 2 ( s q . c m . / m J ) . The r e f r a c t i v e i n d e x = ( n , k ) a c at m p l e x = r e s i s t a r e A = 1 . 0 5 5 ( l / m i c r o n s ) , B = 0 . 0 9 4 ( l / m i c r o n s

number = ( 1 . 7 0 , -0 .02 ) and t h e v a l u e o f k g e t s s u p e r s e d e d by - t h e v a l u e c a l c u l a t e d f r o m t h e A and B p a r a m e t e r s . 4 . = -

T h e C h i p C o n f i g u r a t i o n : Maximum number o f l a y e r s i n t h e c h i p , i n c l u d i n g t h e PR l a y e r and t h e s u b s t r a t e , i s 4 , d e f a u l t = 2 ( f o r t h e PR a n d t h e s u b s t r a t e o n l y ) . The PR l a y e r i s 0 . 8 n i c r o n s t h i c k . The s u b s t r a t e h a s ( n , k ) = ( 5 . 6 1 3 , - 0 . 1 9 ) .

--

D i s c r e t i z a t i o n p a r a m e t e r s : The number o f PR g r i d d i v i s i o n s i n t h e v e r t i c a l d i r e c t i o n , z - a x i s , i s = 50 . The n o . o f g r i d p o i n t s = n o . o f PR d i v i - s i o n s + 1 . The number o f E n e r g y d i v i s i o n s = 15, t h e r e l a - t i v e i n h i b i t o r c o n c e n t r a t i o n M i s d i v i d e d on t h e b a s i s o f ( 0 . 4 / ( n o . o f e n e r g y d i v i s i o n s - 1 ) ) u n i t s t o h a v e a u n i f o r m c o v e r a g e o f t h e e t c h - r a t e s . The g r i d u n i t i n t h e z - d i r e c t i o n = PR l a y e r t h i c k n e s s / ( n o . o f PR d i v i s i o n s ) .

- - 1 . 3 ) A c t u z l E x p o s u r e a n d B l e a c h i n g C a l c u l a t i o n : A s i n g l e e x p o s u r e ( m a x = l l ) , w i t h a d o s e o f 50 m i l l i J o u l e s / ( s q . c m . ) a t t h e m a s k .

- 1 . 4 ) E t c h i n g : T h e d e f a u l t e t c h r a t e i s a n a n a l y t i c f u c t i o n o f M , w i t h t h e p a r a m e t e r s E l = 5 . 6 7 , E2 = 8 . 1 9 , E 3 = - 1 2 . 5 . If c u r v e o f r a t e v s . M i s t o b e s p e c i f i e d t h e n t h e max no . o f e t c h r a t e d i v i s i o n s = 20 ( f o r 2 1 p o i n t s o f M i n [ 0 , 1 ] > , d e f a u l t = 0 . The p r o f i l e s a r e o u t p u t 4 times f r o m 2 0 s e c o n d s t o 80 s e c o n d s .

Page 67: REPORT THE DESIGN OF A SIMULATOR - EECS at UC Berkeley · Report -- on the Design -- of a Simulator Program ... and if the wafer is to be bak$d how lona, ... for the ztchin? process

55

2 ) C o n t r o l s w i t c h e s ( f o r o u t p u t ) : - - Most o f t h e r e l e v a n t i n t e r m e d i a t e v a l u e s a r e a l w a y s d r i n t e d o u t . But some l e n g t h y o u t p u t ( f o r a r r a y s ) i s n o t p r i n t e d o u t b y d e f a u l t . Also, t h e d e f a u l t o p t i o n f o r t h e p u n c h i n g o f c a r d s f o r a p l o t t e r f o r t h e e t c h p r o f i l e s i s n o .

Page 68: REPORT THE DESIGN OF A SIMULATOR - EECS at UC Berkeley · Report -- on the Design -- of a Simulator Program ... and if the wafer is to be bak$d how lona, ... for the ztchin? process

56

o n wave o p t i c s , a n d c a n b e f o u n d i n v a r i o u s t e x t b o o k s j o u r n a l s ( s e e t h e R e f e r e n c e s ) . O n l y t h e r e l e v a n t

D e s c r i p t i o n o f M a c h i n e l : ( H o r i z o n t a l I m a g e F o r m a t i o n ) -

a n d a s s u m p -

i

Model f o r t h e p r o c e s s : ~

i -- M o d u l a t i o n T r a n s f e r F u n c t i o n (MTF) . The i n c i d e n t r a d i a -

t i o n i s a s s u m e d t o b e f u l l y i n c o h e r e n t . The t o p m o s t s u r f a c e -

on t h e c h i p ( i . e . t e u p p e r s u r f a c e o f t h e p h o t o r e s i s t l a y e r ) i s a s s u m e d t o b e a t t h e i m a g e p l a n e .

The i n f o r m a t i o n p r o c e s s i n g o c u r r i n g i n t h e m a c h i n e i s a s f o l l o w s .

The i l l u m i n a t i o n s p e c t r u m is s p e c i f i e d b y t h e n u m b e r o f d i s c r e t e w a v e l e n g t h s i n i t a n d t h e i r r e l a t i v e i n t e n s i t i e s ( s u m t o t a l o f r e l a t i v e i n t e n s i t i e s = 1 . 0 ) .

The p a r a m e t e r s o f t h e i l l u m i n a t i o n s p e c t r u m a r e : W a v e l e n g t h s i n m i c r o n s , R e l a t i v e i n t e n s i t y ( a s f r a c t i o n o f t o t a l i n t e n s i t y ) a t t h a t w a v e l e n g t h . The t o t a l r a d i a t i o n d o s e ( m J / ( s q . c m . > ) a t t h e mapk i s n o t r e l e v a n t h e r e .

The m a s k i s s p e c i f i e d b y i t s l i n e w i d t h a n d / o r s p a c e w i d t h i n m i c r o n s .

I m a g i n g s y s t e m : P r o j e c t i o n T y p e o r C o n t a c t T y p e -- F o r t h e P r o j e c t i o n t y p e i m a g i n g s y s t e m

I

j 1 ) N u m e r i c a l A p e r t u r e , N A 2) MTF f o r d i f f r a c t i o n l i m i t e d , i n c o h e r e n t , I w e l l - f o c u s s e d c a s e : ~

Vc = 2 ( N A ) / ( w a v e l e n g t h ) V = a s p a t i a l f r e q u e n c y ( l / m i c r o n s ) o f m a s k o r i m a g e

Page 69: REPORT THE DESIGN OF A SIMULATOR - EECS at UC Berkeley · Report -- on the Design -- of a Simulator Program ... and if the wafer is to be bak$d how lona, ... for the ztchin? process

57

s = V / V c = n o r m a l i z e d s p a t i a l f r e q u e n c y MTF(s) = ( 2 / p i ) ( a r c c o s ( s ) - s*sqrt( 1 - s * s ) i )

3 1 If t h e a s s u m p t i o n s o f i n c o h e r e n c e , a n d w e l l - f o c l u s s i n g d o n o t h o l d t h e n t h e MTF c a n b e s p e c i f i e d a s w e i g h t f a c - t o r s b y w h i c h t h e a b o v e MTF(s) s h o u l d b e m u l t i p l i e d . T h e s e w e i g h t s a r e s p e c i f i e d a t some e q u i s p a c e d p o i n t s i n t h e r a n g e o f s = [ 0 , 1 3 , a n d t h e p r o g r a m c a l c u l a t e s t h e w e i g h t s a t i n t e r m e d i a t e p o i n t s b y l i n e a r i n t e r p o l a t i o n o f w e i g h t b e t w e e n two n e i g h b o u r i n g p o i n t s , a n d t h e n m u l - t i p l i e s t h e HTF v a l u e c a l c u l a t e d f r o m t h e a b o v e f b r m u l a b y t h i s w e i g h t t o g e t ( a n a p p r o x i m a t i o n o f ) t h e / a c t u a l PiTF a t t h a t f r e q u e n c y s . I

The 1 D ( s p a t i a l ) F o u r i e r T r a n s f o r m o f t h e m a s k u l t i - p l i e d b y t h e NTF g i v e s t h e F o u r i e r t r a n s f o r m o f t h e i m a g e . F o r t h e p e r i o d i c p a t t e r n t h e F o u r i e r t r a n s f o r m become t h e F o r i e r s e r i e s , a n d c a l c u l a t i o n s g e t s i m p l i f i e d . Bu e v e n f o r t h e s i n g l e l i n e o r s i n g l e s p a c e c a s e , b e c a u s e o f t h e c u t o f f f r e q u e n c y o f t h e NTF, t h e p a t t e r n c a n b e a p p r o x i m a t e d b y a p e r i o d i c p a t t e r n o f a r e a s o n a b l y l o n g s p a t i a l p e r i o d s i n c e a t t h e h i g h e r f r e q u e n c i e s t h e c o m p o n e n t s d i m i n i s 1 v e r y f a s t i n a m p l i t u d e . j

The F o u r i e r s e r i e s a m p l i t u d e s a n d f r e q u e n c i e s a r e b y t h e f o l l o w i n g f o r m u l a e : ( B e c a u s e o f t h e s y m m e t r y p a t t e r n a r o u n d t h e a x e s c h o s e n t h e p h a s e i s i . e . o n l y c o s i n e c o m p o n e n t s a r e p r e s e n t )

L = L i n e w i d t h ( m i c r o n s ) S = S p a c e w i d t h ( m i c r o n s ) ( S e e F i g u r e 1 . )

So Vn = F o u r i e r S e r i e s F r e q u e n c i e s a r e

v o = 0 , n - v n - L+s n = 1 , 2 , ...

Where t h e l a s t term i s t h e l a r g e s t term l e s s t h a n t h e c u t o f f f r e q u e n c y Vc o f t h e KTF. The i m a g e i n t e n s i t y d i s t r i b u t i o n a l o n g t h e x - a x i s i s f o u n d b y

T h u s t h e h o r i z o n t a l i n t e n s i t y d i s t r i b u t i o n f o r the1 p r o - j e c t i o n t y p e p r i n t e r s c a n b e c a l c u l a t e d . I

1

F o r t h e c o n t a c t t y p e i m a g i n g s y s t e m :

Mask t o c h i p s e p a r a t i o n = h ( m i c r o n s ) (See F i g u r e 2 )

Page 70: REPORT THE DESIGN OF A SIMULATOR - EECS at UC Berkeley · Report -- on the Design -- of a Simulator Program ... and if the wafer is to be bak$d how lona, ... for the ztchin? process

58

I I f

I

Yask P a t t e r n

L ine Space I I

Norma 1 i z ed X I n t e n s i t y 0 - - I

I x = l o x = o

3 I

p - - - - -

I : ! I I

1 ---- I 1 '* L I-+,-

i I x=o

1 I I I

Fig . 1 S p e c i f i c a t i o n of a Mask

0 I

h

1

No mal i z e d

I x=o

Fig . 2 H o r i z o n t a l Image I n t e n s i t y D i s t r i b u t i o n For a Contac t Type System

Page 71: REPORT THE DESIGN OF A SIMULATOR - EECS at UC Berkeley · Report -- on the Design -- of a Simulator Program ... and if the wafer is to be bak$d how lona, ... for the ztchin? process

59

T h e I n t e q s i k y I ( x ) i s s p p r o x i m a t e d b y

2 \ h I ( x ) = C I e x p ( C s q r t c - ) ) 1 3 2 z

and i s e x t r a p o l a t e d b a c k w a r d s from t h e s h a d o w r e s i o n t i l l i t b e c o m e s e q u a l t o I o ( u n i t s o f m J / ( s q . c r n . P ) .

T h u s f r o m t h e i n p u t i l l u m i n a t i o n s p e c t r u m , n a s k g e o m e t r y , and c h a r a z t e r i s t i c s o f t h e i m a g i n g s y s t e m t h e h o r - i z o n t a l i m a g e i n t e n s i t y d i s t r i b u t i o n i s f o u n d .

N o t e :

1 ) T h e a b i l i t y o f n a c h i n e l s u b r o u t i n e s t o h a n d l e m u l t i p l e w a v e l ? n % t h c a s e i s n o t w e l l m a t c h e d w i t h t h e i n p u t i n t e r f a c e y e t ,

2 ) M i c h a e l O'Toole h a s w r i t t e n a new v e r s i o n D f t h i s m a c h i n e w h i c h t r e a t s p a r t i a l c o h e r e n c e a n d d e f o c u s a n a l y t i c a l l y r a t h e r t h a n u s i n g w e i s h t f a c t o r s . I t w i l l s o o n s u p e r s e d e t h e a b o v e v e r s i o n .

- R e f e r e n c e s : ( f o r m a c h i n e l )

1 ) L e v i , L o o , " A p p l i e d O p t i c s : A G u i d e t o O p t i c a l S y s t e m D e s i g n / v o l . l ' l , J o h n W i l e y % S o n s , 1 9 6 8 , ( p p . F v i i i + 6 2 0 )

2 ) See r e f e r e n c e s i n p a r t 1 o f t h i s r e p o r t .

Page 72: REPORT THE DESIGN OF A SIMULATOR - EECS at UC Berkeley · Report -- on the Design -- of a Simulator Program ... and if the wafer is to be bak$d how lona, ... for the ztchin? process
Page 73: REPORT THE DESIGN OF A SIMULATOR - EECS at UC Berkeley · Report -- on the Design -- of a Simulator Program ... and if the wafer is to be bak$d how lona, ... for the ztchin? process

Source Code -

Page 74: REPORT THE DESIGN OF A SIMULATOR - EECS at UC Berkeley · Report -- on the Design -- of a Simulator Program ... and if the wafer is to be bak$d how lona, ... for the ztchin? process
Page 75: REPORT THE DESIGN OF A SIMULATOR - EECS at UC Berkeley · Report -- on the Design -- of a Simulator Program ... and if the wafer is to be bak$d how lona, ... for the ztchin? process

Jun 20 04:59 1978 F i l e sc-org : Source Code Organ iza t ion Page 1

The Source Code S t o r a g e - ~ -

The s o u r c e code is a r r anged i n t h e Unix l o g i n d i r e c t o r y ir , variouis ( s u b ) d i r e c t o r i e s .

The d i r e c t o r i e s ho ld ing t h e s o u r c e code a re 2s fo l lows :

lex-an - Has 1 ) The s u b r s gca rd , and gchar

p a r s e r - T h e P a r s e r code F rPr - The P r e t t y p r i f i t e r code mac 1 - Has 1 ) The <ex-stmt-subr>s t h a t dea l w i t h machigel,

2 ) The code f o r i n i t i a l i z i n g t h e d e f a u l t v a l u e s

3 ) The code f o r machine1 i t s e l f

2 ) The code f o r t h e L e x i c a l Pna lyze r

f o r mach ine l ,

ifm234 - Has 1 ) The <ex-Etmt-subr>s t h a t d e a l w i t h machines 2 , 3 , 2nd 4 . And a d e f a u l t v e r s i o n o f t h e ' e x t r i a ' s u b r t o e x e c u t e t h e TRIAL-stmt. by doing ' n o t h i n g ' .

2 ) The code f o r i n i t i a l i z i n g machines 2 , ? , & 4 .

2 ) The d i f f u s i o n machine ( = machine51 d i f f u s i o n - Has 1 ) The c u r r e n t ' e x t r i a ' s u b r

I n these d i r e c t o r i e s t h e s o u r c e code i s a r r anged as f o l l o w s (some f i l e s need r ee r r angemen t ) .

Some o f t h e r o u t i n e s t h a t were u s e f u l i n g e t t i n g t h e program up b u t which a re n o t i n t h e fina.1 program code are a l s o g iven below { i n c u r l y b r e c k e t s } . S i m i l e r l y f o r some o t h e r s i m i l a r l y u s e f u l f i l e s . The f i l e s ho ld ing CALIDOSCOPE c o n t r o l c a r d s f o r CDC 6400, and t h e f i l e s ho ld ing s h e l l commands t o un ix ( f o r q u i c k l y p u t t i n g t o g e t h e r t h e r e l e v a n t f i l e s f o r t h a t module) are j u s t a m a t t e r o f convenience i n u s i n g the system and hence n o t g i v e n here. (p rog = progrun, s c b r = s u b r o u t i n e , func = f u n c t i o n )

1 ) Top l e v e l c o n t r o l l e r D i r e c t o r y ifm234

F i l e s subprograms

P P l P S P - Prog p l p s p ( t h e main program 1 s u b r t i t l e - s u b r o u t i t l ( f o r p r i n t i n g t h e t i t l e ) s r u n l a b - r u n l a b ( t h e c o n t r o l l e r (see p a r t 1 , ' f i g . 4 ) )

Now, t h e r o u t i n e s f o r t h e i n p u t i n t e r f a c e .

2 ) The Parser r o u t i n e s D i r e c t o r y parser

6 1

subr-I - s u b r i n i t p a gstmt gflexem

Page 76: REPORT THE DESIGN OF A SIMULATOR - EECS at UC Berkeley · Report -- on the Design -- of a Simulator Program ... and if the wafer is to be bak$d how lona, ... for the ztchin? process

Jun 20 04:59 1978 F i l e sc-org : Source Code C r g a n i z a t i o n Page 2 62

skpstm e r r p a r ( i a r g l , iernum, messap)

subr-2 - s u b r fslmbd f sexpo f s s y s t

subr-j - s u b r f s o b j e fsdvmo f sdv t m fsrsmo f s r u n

subr-4 - s u b r f s l P y e f s t r i 2.

i s t s t p a r - s u b r t s t p a r ] IdeCl - d e c l a r a t i o n s o f d a t 2 - s t r u c t u r e f o r t h e p a r s e r } { p a r d r i v e - program main ( t o t e s t p a r s e r - i t s d r i v e r ) ]

i D i r e c t o r y lex-an I 3 ) The L e x i c a l Analyzer r o u t i n e s

{ d e c l d a t e - d e c l a r a t i o n o f d a t a - s t r u c t u r e f o r lex-an11 lex-I - s u b r e r r l e x ( i e r n u m , i a r g s i , messag)

fkwdvl frmfra 423Ekbd l%?fIIl?Pa f rmin t f rmkwd gca rd gchar glexem gnsep

func i d g v a l ( i a r g c h 1 s u b r i n i t l a func i p c h t y ( j a r g c h )

{ s t s t l e x - s u b r t s t l e x ] { p r o c r d l { l e x d r i v e - prog main 1

4) The P r e t t y p r i n t e r ( f o r stmts) r o u t i n e s D i r e c t o r y p r p r

PP - s u b r p r p r s t { t P P - s u b r t e s t p p }

The f o l l o w i n g a r e t h e f i l e s having t h e <ex-stmt-subr>s, and t h e e r r o r - hand l ing r o u t i n e s , e t c . They ' i n t e r f a c e ' t h e machines t o t h e c o n t r o l l e r .

5 ) For i n t e r f a c i n g machine1 D i r e c t o r y macl

serrm0l - s u b r errmOl(n) s u b r i n t e r 2 - s u b r exlmbd

e x s y s t exob j e

Page 77: REPORT THE DESIGN OF A SIMULATOR - EECS at UC Berkeley · Report -- on the Design -- of a Simulator Program ... and if the wafer is to be bak$d how lona, ... for the ztchin? process

Jun 20 05:07 1978 F i l e sc-org : Source Code Organ iza t ion Page 3

6 ) For i n t e r f a c i n g machines 2 , 2 , and 4 D i r e c t o r y ifm234

s i f c l - s u b r exs t .n t exrun

s i f c 2 - s u b r errm(macnum, ierrnm) exrsmo

sifc? - s u b r exl.eye c x t r i a (The d e f a u l t v e r s i o n . Does n o t h i n g ) exexpo

s i f c 4 - s u b r exdvmo exdvtm

7 ) For i n t e r f a c i n g o t h e r t h i n g s on a t r i a l b a s i s D i r e c t o r y d i f f u s i o n

t r i a l 1 - s u b r e x t r i a (The c u r r e n t l y used v e r s i o n )

I n p a r t 3 of t h i s r e p o r t t h e machines i n t h e core of t h e program are g i v e n . T h e i r o r g a n i z a t i o n i s as f o l l o w s .

The i n i t i a l i z i n g r o u t i n e s ( s h o u l d be made BLOCK DATA subprograms, and hence an i n t e g r a l p a r t o f t h e machines) .

1 ) I n i t i a l i z i n g d e f a u l t v a l u e s f o r t h e machines. D i r e c t o r y macl

s inim0l - s u b r inim0l

D i r e c t o r y ifm234

sinim234 - s u b r inim

The machines themselves :

2 ) machine1 D i r e c t o r y macl

subrimagel - s u b r runmcl subrmtf - func dmtfna(vnbyvc)

s u b r setmtf(ncomp, iwlen) func (icompo, i w l )

subrimage2 - s u b r outmcl

3 ) The machines 2 , 3 , and 4 are i n Mike's d i r e c t o r y .

4 ) Machine5 D i r e c t o r y d i f f u s i o n

63

s u b r l b a t p t - func d f ( r , sigma) s u b r d i f f u s ( s i g m a 1

-----.....-----.....

Page 78: REPORT THE DESIGN OF A SIMULATOR - EECS at UC Berkeley · Report -- on the Design -- of a Simulator Program ... and if the wafer is to be bak$d how lona, ... for the ztchin? process

Jun 20 05:15 1978 F i l e ifm234/pplpsp Page 1 64

1 2 3 4 5 6 7

9 10 1 1 12 13 14

a

progran p l p s p ( i n p u t , o u t p u t , punch, 1 t a p e 5 = i n p u t , t ,ape6=output , tape7=punch)

t h e p h o t o l i t h o g r a p h i c p r o c e s s e s s i m u l a t i o n program. a u t h o r s - sha rad n . nandgaonkar

and o t h e r s michael o- toole

( e r l , eecs , ucb) may 6 , 1978

c a l l o u t i t l c a l l r u n l ~ b s t o p end

Jun 20 05:18 1978 F i l e i f m 2 3 4 / s u b r t i t l e Page 1

1 2

4 5 6 7

9 10 1 1 12 13 14 15 16 17 18 19 20 21 22 23 24 25

2 i

a

s u b r o u t i n e o u t i t l c o u t p u t s t h e heading t i t l e t o t h e o u t p u t of t h e program C

dimension kdash(80) d a t a kdash / l h l , 78*lh-, lhO/

c o u t p u t t h e l i n e s i n t h e o u t p u t heading c t h e o u t p u t i s c e n t e r e d f o r a n 80 column p r i n t o u t -

C

& N w r i t e ( 6 , 9001) kdesh wr i t e ( 6 , 9002) wr i te ( 6 , 9003) w r i t e ( 6 , 9004) wr i t e ( 6 , 9006) wr i te ( 6 , 9001) kdash

+ . C

9001 format( l x , 8 0 a l ) 9002 fo rma t ( l x , 4x, 5h*****, 28x, Shp lpsp , 29x, 5h***** 9003 fo rma t ( l x , 5h*****, 12x,

1 4 6 h p h o t o l i t h o g r a p h i c p r o c e s s e s s imulat ior! program, 2 12x, 5h***** )

9004 fo rma t ( l x , 32x, 1 6 h ( e r l , eecs, ucb) ) 9006 fo rma t ( lhO, 23x, 3 4 h ( v e r s i o n 0.0.0.0 may 6 , 1978) )

C

r e t u r n end

Page 79: REPORT THE DESIGN OF A SIMULATOR - EECS at UC Berkeley · Report -- on the Design -- of a Simulator Program ... and if the wafer is to be bak$d how lona, ... for the ztchin? process

The P r e t t y p r i n t e r f o r s t m t s

Page 80: REPORT THE DESIGN OF A SIMULATOR - EECS at UC Berkeley · Report -- on the Design -- of a Simulator Program ... and if the wafer is to be bak$d how lona, ... for the ztchin? process

Jun 20 05:22 1978 F i l e i fm234/srunlab Page 1 66

1 2 3 4 5 6 7 8 9 10 1 1 12 1 1 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47

49 50 51 52 53 54 55 56

4a

s u b r o u t i n e r u n l a b d r i v e r s u b r o u t i n e f o r running t h e whole l a b ( i . e . machines 1 , 2 , ? , 4 ) o f t h e photol i thographic-processes-s j -mulat ion-program. - ( s n n , e r l , eecs, ucb) may 6 , 1978

common / l e x s c a / i c e i g n , r i c s g n , j r s w d t ( 10 ,161 , kwdarr( 101, nmrswd common /charac/ i p r p t r , i p c h a r , i c t y p e , i p c a r d ( 8 2 ) common /lexsem/ kwdval, rnmval, i n t v a l , f r a v a l , r i n t v l , l x t k t y commcr, / e r r f l a / i e r f l g , i e r s v i , ismesi common /endofx/ noipdk, n o i p r , n o i l r , n o i c s t , n o l o g i

C

common /psrsem/ i s t m t y , i s t k n d , s t n m l s ( 2 5 ) , nmins t , nmpntr common / e c d f l 2 / nos tmt , l xused common / e r r f l 2 / l p a r e r , legstm

C common / e r r l a b / l n o e r r

C C d a t a - s t r u c t u r e f o r machine 1 ( h o r i z o n t a l image machine)

common /math / p i , t 2 b y p i C

common / s p e c t r / mxnlmd, nmlmbd, r lambd(51, r e l i n t ( 5 ) common /objmsk/ m l i n e , mspace, mlnspa, maskty, r l w , rsw common /imgsys/ imspro, imscon, imsy ty , t o s p f r ( 5 1 common /img2pr/ r n a ( 5 , 2 ) , mxnwtf, nmwtfc(51, rmt fwt (5 ,21 ) common /img3co/ sepmtc, c l , c2

C

common / f o u s e r / mxnmfr, nmfrcm, f s f r q a ( l l ) , f a f r q n ( 1 l ) common / fouse2 / fsamsk( 1 1 1, fsaimg( 1 1 I

common / l e n s p a / v c , d l m t f n ( l l ) , a c t m t f ( l 1 ) C

C

common /horimg/ d e l t a x , mxngdv, mxngpt , nmgrdv, nmhpts , h o r i n t ( 5 1

common /resmod/ r s l m b d , p r t h i c , p r p a r a , p r p a r b , p r p a r c common /resmo2/ p r p a r n , p r p a r k common / ch ipa r / mxnlyr , nmlyrs , r i n d e x ( 5 , 4 , 2 , t h i c k ( 4 common /respar/ w l a b c ( 5 , 4 ) common /s impar/ n p r l y r , n p r p t s , nend iv , d e l t m , d e l t z common /exposu/ mxnmex, nmexpo, ncouex, d o s e l , dose2, d o s e , d o s e s t common /dospa r / dos

C

common /erpara/ k e r s p e , k e r f u n , k e r c u r , e tche l , e t c h e 2 , e t c h e ? common / e r p a r 2 / mxnerd, mxnerp, n e r d i v , n e r p t s , e t c h r a ( 2 1 ) common / e thpa r / l a b e l ( 2 0 1 , t o u t , n o u t , e l , e 2 , e 3 common /etchtm/ mxneht, nmehtm, n c o e h t , eh tml , ehtm2, eh tm,ehtmst

C

common / e x p t b l / expos( 2 1 , rmzdos( 5 1 , 2 1 common /mvspos/ rmxz(52,52)

C C

l o g i c a l lnoerr C I

log ica l noipdk, n o i p r , n o i l r , n o i c s t , nologi l C

l o g i c a l nostmt , l xused l o g i c a l l p a r e r , legstm

C

Page 81: REPORT THE DESIGN OF A SIMULATOR - EECS at UC Berkeley · Report -- on the Design -- of a Simulator Program ... and if the wafer is to be bak$d how lona, ... for the ztchin? process

Jun 20 05:22 1978 File ifm234/arunlab Page 2

57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 1 1 1

C

C C

C C C C C

C C C

C C

C C C C C

C

C C

C C C

C C

C C

initielize the keywords array ( with lambda, dose, to, ptoj etc. ) dzta jrswdt i I

1 /lhl, lha, lhm, lhb, lhd, lha, 4*1h , 2 lhd, lho, lhs, lha, 6*lh , 3 lht, lho, 8*lh , 4 lhp, lhr, lho, Ihj, 6*lh , 5 lhc, lho, lhn, lht,, lha, lhc, lht, 3*lh , 6 lhl, lhi, lhn, lhe, 6*lh , 7 lhs, lhp, lha, lhc, lhe, 5*lh , I

8 lhl, lhi, Ihn, lhe, lhs, lhp, lha, lhc, lhe, l$ , 9 lhe, lht, lhc, lhh, lhr, lha., Iht, lhe, 2*1h , 2 lha, lhn, lha, lhl, lhy, lht, lhi, lhc, 2*1h , b lhc, lhu, lhr, lhv, lhe, 5*lh , C lhd, lhe, Ihv, lht, lhi, lhm, lhe, ?*lh , d lhr, lhe, lhs, lhm, lho, lhd, lhe, lhl, 2*lh , e lhr, lhu, lhn, 7*lh , f lhl, lha, lhy, lhe, lhr, lhs, 4*1h , g lht, lhr, lhi, lha, lhl, 5*lh /, nmrswdi/ 16 /

(the calling program should print the fancy title to the output)

initialize the program processes, variables, etc., and a so the defaultable values of the photolithogrephic system to be,simulated 1 first initialize the parser call initpa

initialize the horizontal image machine ( = machine(1))

call inimOl

also initialize the other three machines

----- temporarily only ----- call inim

now process the input statements in an interpreter like fashion.

while the end of input statement stream has not been reached,

get an input statement ... 10 call gstmt

prettyprint it ... call prprst

... and execute it (only if no previous errors occurred, Or if this --- is the end-of-stmts stmt) if (lnoerr .or. ( istmty .eq. 0 1) call exstmt

if (.not. nostmt) goto 10

return end

67

Page 82: REPORT THE DESIGN OF A SIMULATOR - EECS at UC Berkeley · Report -- on the Design -- of a Simulator Program ... and if the wafer is to be bak$d how lona, ... for the ztchin? process

J u n

1 2 3 4 5 6 7 8 9 10 1 1 12 11 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 118 49 50 51 52 53 54 55 56

20 0 5 : 2 9 1978 F i l e pwser/subr- l Page 1

C

C

C

C

C

C

C

C C

C

C

C C

C C

C

C

C

C C C

C

C

C C

C C

C

C

C

C C

s u b r o u t i n e i n i t p a h i t s ( t h e l e x i c a l a n a l y z e r , ) t h e parser , and a l s o t h e system ( i . e . t h e two p h y s i c a l mechines) t o be s i m u l a t e d .

common / e n d f l 2 / nos tmt , l xused common / e r r f l 2 / l p a r e r , legstm

l o g i c a l noa tmt , l xused 1 o g i c a. 1 l p a r e r , legetm

f i r s t i n i t i a l i z e t h e l e x i c a l - a n a l y z e r c a l l i n i t l a

I now i n i t i a l i z e t h e parser ~

now t o cause t h e f irst lexerne t o be r ead i n ( 0-th lexeme 4s used nostmt = . f a l s e .

lxused = . t r u e . l p a r e r . f a l se .

1 - legstm need n o t be i n i t i a l i z e d

no p a r s e r p r o c e s s e s have t o be spawned ( i . e . s t a r t e d ) .

i n i t i a l i z e t h e p h o t o l i t h o g r a p h i c system t o be ana lysed (i. t h e d e f a u l t a b l e v a r i a b l e s ( and t h e i r f l ags e t c . ) ) .

r e t u r n end s u b r o u t i n e gstmt

t h i s ge t s a s t a t e m e n t from t h e i n p u t s t a t e m e n t stream. t h a t is don€ by forming a s e n s i b l e s t a t e m e n t o u t o f t h e lexemes i n t h e i n p u t stream. i n s h o r t t h i s i s t h e p a r s e r .

common /lexsem/ kwdval, rnmval, i n t v a l , f r a v a l , r i n t v l , l x t k t y common /parsem/ i s t m t y , i s t k n d , s t n m l s ( 2 5 ) , nmins t , nmpntr common / e n d f l 2 / nos tmt , l xused common / e r r f l 2 / l p a r e r , legstm

l o g i c a 1 nos tmt , l xused l o g i c a l l p a r e r , l egs tm

legstm = . t r u e . p r e p a r a t i o n t o form a new s t a t e m e n t

i s t m t y = -2 i s t k n d = 0 nminst = 0 nmpntr = 0

get a f resh ( i . e . f irst i n a s t m t and n o t used up by the p r e v i o u s s t m t ) lexeme

c a l l gflexm

68

Page 83: REPORT THE DESIGN OF A SIMULATOR - EECS at UC Berkeley · Report -- on the Design -- of a Simulator Program ... and if the wafer is to be bak$d how lona, ... for the ztchin? process

Jun 20 05:29 1978 F i l e parser/subr-1 Page 2 69

57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82

84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102

104 105 106 107 108 109 110 111 112

a3

103

i f ( l x t k t y .eq . -1) g o t o 2 i f ( l x t k t y .eq. 0 ) g o t o 1 i f ( l x t k t y .eq. 1 ) g o t o 1000 i f ( l x t k t y .eq. 2) g o t o 2000

C

c if none o f t h e above t h e n a program e r r o r c a l l e r r p a r ( 0 , 1, 20hunkncwn It i n gstmt r e t u r n

C 2 c a l l e r rpar ( 0 , 2 , 2 0 h i n v a l i d l x t k t y * g s t m t

c a l l skpstm r e t u r n

1 i s t m t y = 0 c - c a l l f send

re t u r n

C

C c t h i s branch means t h a t a kwd hea.ds t h e s t m t . hence see what i t is . c --- (nmrswd i n / lexsca/ = 16)

1000 i f ( (kwdval .It . 1) . o r . (16 .It. kwdval)) g o t o 1999 C c a g i a n t case-stmt ( w i t h t h e h e l p o f a computed g o t o

g o t o (1010, 1020, 1030, 1040, 1050, 1060, 1070, 1080, 1090, 1100, 1 1110, 1120, 1130, 1140, 1150, 11601, kwdval

C

c kwd = lambda hence a lambda-stmt ( f l a v o u r found la ter1 1010 i s t m t y = 1

c a l l fslmbd r e t u r n

c kwd = dose hence a n exposure s t m t ( f l a v o u r found l a t e r ) 1020 i s t m t y = 2

c a l l f sexpo r e t u r n

1030 i s t m t y = -1 c kwd t o canno t occur as a header kwd

c a l l e r r p a r ( 1, 1030, 2 0 h i l e g l s t m t s t r u c t u r e

c a l l skpstm r e t u r n

1040 i s t m t y = 3 i s t k n d = 1 c a l l f s s y s t r e t u r n

1050 i s t m t y = 3 i s t k n d = 4 c a l l f s s y s t re t u r n

1060 i s t m t y = 4 i s t k n d = 1 c a l l f s o b j e r e t u r n

1070 i s t m t y = 4

c s k i p t h e p r e s e n t i l l e g a l stmt

c kwd = p r o j hence system-stmt ( k i n d 1, 2 , o r 3 )

c kwd = c o n t a c t hence system-stmt ( k i n d 4 , o r 5 )

c kwd = l i n e hence o b j e c t - s t m t ( k i n d = 1)

c kwd = space hence o b j e c t - s t m t ( k i n d = 2 )

I

Page 84: REPORT THE DESIGN OF A SIMULATOR - EECS at UC Berkeley · Report -- on the Design -- of a Simulator Program ... and if the wafer is to be bak$d how lona, ... for the ztchin? process

70 Jun 20 05:29 1978 F i l e parser/subr-1 Page 3

113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168

i s t k n d = 2 c a l l f s o b j e r e t u r n

1080 i s t m t y = 4 i s t k n d = 3 c a l l f s o b j e r e t u r n

1090 i s t m t y = 5 c a l l fsdvmo re t u r n

1100 i s t m t y = -1 c a l l e r r p a r ( 1, 1100, 2 0 h i l e g l s t m t s t r u c t u r e ) c a l l skpstm r e t u r n

1110 i s t m t y = -1 c a l l e r r p a r ( 1, 1110, 2Ohi l eg l s t m t s t r u c t u r e c a l l skpstm r e t u r n

1120 i s t m t y = 6 c a l l fsdvtm r e t u r n

1130 i s t m t y = 7 c a l l fsrsmo r e t u rn

1140 i s t m t y = 8 c a l l f s r u n r e t u r n

1150 istmty = 9 c a l l f s l a y e re t u rn

1160 i s t m t y = 10 c a l l f s t r i a r e t u r n

c kwd = l i n e s p a c e h.ence ob jec t - s tmt ( k i n d = 3 )

c kwd = e t c h r a t e hence devmodel-stmt

c kwd = a n a l y t i c hence e r r o r i n t h e i n p u t from t h e scanne r

c kwd = curve hence e r r o r ( a s above)

c kwd = devtime hence devtime-stmt

c kwd = resmodel hence resmodel-stmt

c kwd = run hence run-stmt

c kwd = l a y e r s hence l a y e r s - s t m t

c kwd = t r i z l hence tr ial-stmt

C

c unexpected kwdva.1 ( n o t p o s s i b l e , . . . y e t ) c t h e v a l u e of -1 f o r unknown kwds w i l l n o t b e encountered here c because a t t h a t time t h e v a l u e of t h e l e x i c a l token w i l l be = -1 c i n d i c a t i n g an e r r o r i n t h e l e x i c a l t oken .

1999 c a l l errpar( 1, 1999, 20hunkwn kwdval-gstmt-- ) c a l l skpstm re t u r n

C

c a number i s n o t expected as a f irst l e x i c a l token o f a s t m t c hence -

2000 c a l l e r r p a r ( 1, 2000, 20hkwd e x p t i n gstmt ) l xused = . fa l se .

c so t h a t t h e number g e t s p r i n t e d i n gs tmt

Page 85: REPORT THE DESIGN OF A SIMULATOR - EECS at UC Berkeley · Report -- on the Design -- of a Simulator Program ... and if the wafer is to be bak$d how lona, ... for the ztchin? process

Jun 20 05:29 1978 F i l e parser/subr-1 Page 4 71

169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 20 0 20 1 202 20 3 204 205 206 207 208 209 210 21 1 212 21 3 214 215 216 217 218 219 220 22 1 222 22 3 224

C C

C C

C C

C

C

C C

C

C

C

C C

C

C

C

c a l l skpstm r e t u rn end s u b r o u t i n e gflexm

g e t s a f r e s h lexeme ( i . e . a lexeme n o t used by t h e p rev ious s t m t - e s p . a f t e r 2 s t m t which h a s a v a r i a b l e l e n g t h ) . t h i s is used i n t h e normal c o u r s e o f a c t i o n s by gstmt when no e r r o r s have been d e t e c t e d . and i f e r r o r s have been d e t e c t e d t h e n t h i s i s used t o ge t t h e n e x t lexeme ( a s i f i t i s glexem).

common /lexsem/ kwdval, rnmval, i n t v a l , f r a v a l , r i n t v l , l x t k t y common / e n d f l 2 / nos tmt , l xused

l o g i c a l nos tmt , l xused

i f ( l x u s e d ) g o t o 10 t h e c u r r e n t lexeme was n o t used i n t h e c o n s t r u c t i o n o f t h e p rev ious stmt. hence do n o t g e t a new lexeme.

l xused = . t r u e . re t u r n

10 c a l l glexem lxused = . t r u e . i f ( ( l x t k t y .It. 0 ) . o r . ( l x t k t y . g t . 2 ) )

r e t u r n end

1 c a l l e r r p a r ( 1 , 10, 2 0 h i l e g l l x t k t y -glexe

s u b r o u t i n e skpstm t h i s s u b r o u t i n e s k i p s t h e p r e s e n t s t a t e m e n t . ca . l led when an e r r o r is d e t e c t e d by t h e p a r s e r i n t h e stmt be ing formed. t h i s s k i p s t o a kwd which c a n head a s t m t .

common / lsxsca/ i c s i g n , r i c s g n , j r s w d t ( l O , l 6 ) , kwdar r ( l01 , nmrswd common /lexsem/ kwdval, rnmval, i n t v a l , f r a v a l , r i n t v l , l x t k t y common / e n d f l 2 / nos tmt , l xused common / e r r f l 2 / l p a r e r , legstm

l o g i c a l nos tmt , l xused l o g i c a l l p a r e r , legstm

write ( 6 , 9 0 0 0 ) 9000 f o r m a t ( l x , 50h--stmt t o be skipped because o f e r r o r ( a t l e v e l 2 ) )

C

legstm = . fa lse . c now s k i p t h e s t m t by s k i p p i n g o v e r t h e l e x i c a l t okens which canno t c form t h e header o f a legal s t m t c -- should p r i n t o u t t h e p rev ious l e x i c a l t okens t o be s k i ped o v e r c - w i t h o u t forming t h e c u r r e n t s t m t . t h e n p r i n t o u t the essage c - s a y i n g t h a t t h e e r r o r was d e t e c t e d here. t h e n t e l l t h t t h e c - rest of t h e l ex - tokens t o be sk ipped are = ( e t c . ) i ~

C 3 i f ( l x t k t y .eq . - 1 ) g o t o 2

i f ( l x t k t y .eq. 0 ) g o t o 1 i f ( l x t k t y .eq. 1 ) g o t o 10 if ( l x t k t y .ey. 2 ) g o t o 20

Page 86: REPORT THE DESIGN OF A SIMULATOR - EECS at UC Berkeley · Report -- on the Design -- of a Simulator Program ... and if the wafer is to be bak$d how lona, ... for the ztchin? process

Jun 20 05:29 1978 File perser/subr-l Page 5 72

225 226 227 228 229 230 23 1 232 233 234 235 236 237 238 239 240 24 1 242 243 244 245 246 247 248 249 250 25 1 252 25 3 254 255 256 257 258 259 260 26 1 262 263 264 265 266 267 268 269 270 27 1 272 27 3 274 275 27 6 277 278 279 280

c t h i s i s n c t p o s s i b l e . . . . y e t c a l l e r r p a r ( 1 , 2 , 20hunknon lx tk ty - skps tm lxused = . t r u e . c a l l gflexm g o t o 3

C c t h e i n v a l i d - l e x i c a l - t o k e n i s encountered

2 write ( 6 , 9005)

lxused = . t r u e . c a l l gflexm g o t o 3

9005 fo rma t ( I x , 33h--the i n v a l i d - l e x i c a l - t o k e n found

C c t h e =end o f i n p u t stmts= token

1 l xused = . fa l se . g o t o 10000

C

c t h e c u r r e n t l e x i c a l token i s a keyword 10 i f ( (kwdval . ea . 1 ) . o r . (kwdval .eq. 2 ) . o r .

1 ( ( 4 . l e . kwdval) .and. (kwdval . l e . 9 ) . o r . 2 ( ( 1 2 . l e . kwdval) .and. (kkvdval . l e . 1 6 ) ) ) g o t o 15

w r i t e ( 6 , 9010) kwdarr 9010 forma. t ( lx , 5 x , 1 0 a l )

l xused = . t r u e . c a l l gflexm g o t o 3

C c 2 p rope r header kwd f o r a s t m t

15 lxused = . fa l se . g o t o 10000

C

c a number has been encoun te red . i t canno t s t a r t a s t m t . 20 wr i t e ( 6 , 9020) rnmval

9020 f o r m a t ( l x , l o x , f15 .5 ) c when t h i s is t h e number a t which e r r o r was de tec ted t h e n t h i s c should n o t g e t thrown o u t twice. hence

lxused = . t r u e . c a l l gflexm g o t o 3

C

10000 wr i t e ( 6 , 10001) 10001 fo rma t ( l x , 2x , 29h=-=-=-= s t m t s k i p p i n g s topped

re t u r n

end s u b r o u t i n e e r r p a r ( i a r g 1 , iernum, messap)

C

c ca l l ed if an e r r o r i n t h e s t a t e m e n t s t r u c t u r e i s encoun te red . c ( i . e . an e r r o r a t l e v e l 2 ) C

common /parsem/ i s t m t y , i s t k n d , s t n m l s ( 2 5 ) , nmins t , nmpt t r common / e r r f l 2 / l p a r e r , legstm

l o g i c a l l p a r e r , l egs tm

i s t m t y = -1

i C

c s e t t h e i n p u t s t m t t y p e t o t h e inva l id - s tmt - type

c

Page 87: REPORT THE DESIGN OF A SIMULATOR - EECS at UC Berkeley · Report -- on the Design -- of a Simulator Program ... and if the wafer is to be bak$d how lona, ... for the ztchin? process

73 Jur, 20 05:29 1978 File parser/subr-1 Page 6

28 1 282 28 3 284 285 286 287 286 289 290

legstm = .false. C c write an error message

write (6, 9000) iargl, iernum, messap 9000 format(//,lx,2h--,40herror in the current statement struciture,

1 lx, 24h(detected by the parser), 1 , 2 1 x , 5 x , 8hlevel = ,i6, 14h, error line*=, i6, 2h, ,220,/)

C re turn end

Page 88: REPORT THE DESIGN OF A SIMULATOR - EECS at UC Berkeley · Report -- on the Design -- of a Simulator Program ... and if the wafer is to be bak$d how lona, ... for the ztchin? process

Jun 20 05:43 1978 F i l e parser/subr-2 Page 1

1 2 3 4 5 6 7 8 9 10 11 12 11 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56

s u b r o u t i n e fslmbd c forms a lambda-stmt C

common /lexsem/ kwdval, rnmval, i n t v a l , f r a v a l , r i n t v l , l x t k t y common /parsem/ i s t m t y , i s t k n d , s t n m l s ( 2 5 ) , nmins t , nmpntr common / e n d f l 2 / nos tmt , l xused common / e r r f l 2 / l p a r e r , legstm

l o g i c a l nos tmt , l xused l o g i c a l l p a r e r , legstm

C

C c i s t m t y = 1 (because o f t h e c o n t e x t o f t h e c a l l ) . . . y e t C

i f ( i s t m t y .eq . 1 ) g o t o 1 c a l l e r r p a r ( 0, 0 , 2 0 h e r r o r i n lambda s t m t ) l xused = . f a l s e . c a l l skpstm r e t u r n

C c a l e g a l lambda-stmt heade r

c a number is expected 1 c a l l glexem

i f ( l x t k t y .eq. 2) g o t o 2 c a l l e r r p a r ( 1, 2 , 20hnumr e x p t i n fslmbd lxused = . fa lse . c a l l skpstm r e t u r n

c nminst and nmpntr were se t t o 0 i n s u b r gstmt 3 nmpntr = nmpntr + 1

s t n m l s ( nmpntr ) = rnmval

c a l l glexem i f ( l x t k t y . eq . 2 ) g o t o 5

i s t k n d = 1 l xused = . fa l se .

c nminst = nmpntr = 1 nminst = nmpntr r e t u r n

C

c so t h i s is a lambda-stmt o f t h e first k ind

C

c now we have a lambda-stmt o f t h e second kind 5 i s t k n d = 2

nmpntr = nmpntr + 1 s tnmls( nmpntr ) = rnmval

C c now l o o k f o r more number p a i r s ( lambdas and we igh t s )

10 c a l l glexem i f ( l x t k t y .ne. 2) g o t o 30

nmpntr = nmpntr + 1

i f (nmpntr . l e . 1 9 ) g o t o 20 c a l l e r r p a r ( 2 , 15, 20htoo many nums-fslmbd c a l l skpstm r e t u r n

c a number hence a number p a i r should f o l l o w

c o n l y a max o f 10 number p a i r s i s al lowed

C

74

Page 89: REPORT THE DESIGN OF A SIMULATOR - EECS at UC Berkeley · Report -- on the Design -- of a Simulator Program ... and if the wafer is to be bak$d how lona, ... for the ztchin? process

Jun 20 05:43 1978 F i l e parser/subr-2 Page 2 75

57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 10 1 102 103 104 105 106 107 7 08 109 110 111 112

20 stnmls( nmpntr ) = rnmval C

c now one more number i s expected t o form a number p a i r c a l l glexem i f ( l x t k t y .eq. 2 ) g o t o 27

c n o t a number, hence e r r o r c a l l e r r p a r ( 1 , 27, 20hnum e x p t by f s lmbd lxused = . f a l s e . c a l l skps tm r e t u r n

C c pu t t h i s second number i n t h e stmt-num-list

27 nmpntr = nmpntr + 1 s t n m l s ( nmpntr 1 = rnmval

C

C

C

C

C

C

C

C

C C

C

C

C

C

g o t o 10

n o t a number. hence

nminst = nmpntr r e t u rn end s u b r o u t i n e fsexpo

30 lxused = . fa lse .

forms t h e exposure-stmt

common /lexsem/ kwdval, rnmval, i n t v a l , f r a v a l , r i n t v l , l x t k t y common /parsem/ i s t m t y , i s t k n d , s t n m l s ( 2 5 ) , nmins t , nmpntr common / e n d f l 2 / nos tmt , l xused common / e r r f l 2 / l p a r e r , legstm

l o g i c a l nos tmt , l xused l o g i c a l l p a r e r , legstm

i s t m t y = 2 (because o f t h e c o n t e x t o f t h e c a l l ) . . . y e t i f ( i s t m t y .eq . 2) g o t o 1 c a l l e r r p a r ( 0, 0 , 2 0 h e r r o r i n exposu-stmt 1 l xused = . f a l s e . c a l l skpstm r e t u r n

a lega l exposure-stmt header

i f ( l x t k t y .eq. 2 ) g o t o 3 ca.11 e r r p a r ( 1, 1 , 20hnum e x p t i n f sexpo lxused = . f a l s e . c a l l skpstm r e t u r n

1 c a l l glexem

3 nmpntr = nmpntr + 1 s tnmls(nmpntr) = rnmval

c a l l g l e x e n if ( l x t k t y .eq . 1) g o t o 5

i f ( l x t k t y .ne . 0 ) g o t o 4 if end of d a t a repchcd ( e o f lex- token) t h e n r e t u r n

I (end-the-run lex- token (hence stmt i s complete , t o o ) )

Page 90: REPORT THE DESIGN OF A SIMULATOR - EECS at UC Berkeley · Report -- on the Design -- of a Simulator Program ... and if the wafer is to be bak$d how lona, ... for the ztchin? process

Jun 20 05:43 1978 F i l e parser/subr-2 Page 3

113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 126 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168

l xused = . f a l s e . nminst = nmpntr re t u r n

C

c so a number i s p r e s e n t here ( a n e r r o r ) . hence 4 c a l l e r r p a r ( 1 , 2 , 20hkwd *to* exptd--fsex

lxused = . f a l s e . c a l l skpstm r e t u r n

C c e i t h e r t h e khrd = t o = is p r e s e n t o r a new stmt s t a r t s h e r e

5 i f (kwdval .eq. 3 ) g o t o 7 i s t k n d = 1 l xused = . fa l se . nminst = nmpntr r e t u r n

7 i s t k n d = 2 C

C do 10 i t empl = 1, 2 c a l l glexem i f ( l x t k t y .eq. 2) g o t o 9 c a l l e r r p a r ( 1, 7 , 20hnum e x p t i n glexem lxused = . fa lse . c e l l skpstm r e t u r n

76

C I

9 nmpntr = nmpntr + 1 s t n m l s ( nmpntr = rnmval

C

10 c o n t i n u e C

c so t h e exposure-stmt h a s been p r o p e r l y formed nminst = nmpntr r e t u r n end s u b r o u t i n e f s s y s t

c forms t h e ats tem-stmt (header = p r o j , o r c o n t a c t ) C

common /lexsem/ kwdval, rnmval, intva.1, f r a v a l , r i n t v l , l x t k t y common /parsem/ i s t m t y , i s t k n d , s t n m l s ( 2 5 ) , n m i n s t , nmpntr common / e n d f l 2 / nos tmt , l xused common / e r r f l 2 / l p a r e r , legstm

l o g i c a l nos tmt , l xused l o g i c a l l p a r e r , l egs tm

C

C

c i s t m t y = 3 (from t h e c o n t e x t o f t h e c a l l ) . . . y e t i f ( i s t m t y .eq . 3) g o t o 1 c a l l e r r p a r ( 0, 0 , 2 0 h e r r o r i n ststem-stmt ) lxused = . fa l se . c a l l skpstm r e t u r n

C

c a l e g i t i m a t e ststem-stmt heade r ( p r o j o r c o n t a c t ) .. c i s t k n d = 1, o r 4

Page 91: REPORT THE DESIGN OF A SIMULATOR - EECS at UC Berkeley · Report -- on the Design -- of a Simulator Program ... and if the wafer is to be bak$d how lona, ... for the ztchin? process

Jun 20 05:43 1978 F i l e parser/subr-2 Page 4

169 170 171 172 171 174 175

177 178 179 180 181 182 183 184 185 186 187 168 189 190 19 1 192 193 194 195 196 197 198 199 200 20 1 202 20 3 204 205 20 6 207 208 209 210 21 1 212 213 214 215 216 217 218 219 220 22 1 222 22 3 224

176

77

1 i f ( i s t k n d .eq . 4 ) g o t o 100 c t h e header kwd is p r o j (and i s t k n d = 1 ( , o r 2 , o r 3 ) )

call glexem if ( l x t k t y .eq . 2 ) g o t o 3 c a l l e r r p a r ( 1 , 2 , 20hnum e x p t i n f s s y s t l xused = . fa l se . c a l l skpstm r e t u r n

c .. fol lowed by t h e f i r s t number

s tnmls (nmpnt r ) = rnmval

c a l l glexem if ( l x t k t y .eq . 2) g o t o 5 lxused = . fa l se . nminst = nmpr,tr r e t u r n

5 i s t k n d = 2

3 nmpntr = nmpntr + 1

C

c .. fol lowed by second number

nmpntr = nmpntr + 1 s tnmls ( nmpntr) = rnmval

c a l l glexem i f ( l x t k t y .eq . 2 ) g o t o 7 lxused = . fa lse . nminst = nmpntr r e t u r n

C

C

c .. fol lowed by t h i r d and f o u r t h numbers 7 i s t k n d = 3

nmpntr = nmpntr + 1 s tnmls(nmpntr) z rnmval

i templ = s tnmls ( 3) i f ( ( 0 . l e . i t e m p l ) .and. ( i t empl . l e . 2 0 ) ) g o t o 8 c a l l e r r p a r ( 1, 8 , 20hnum o f nums o u t o f r 1 l xused = . fa l se . c a l l skpstm r e t u r n

C

c t o t a l l y 1 number f o r f r e q - l i m i t , and i templ number o f numbers 2 s c mtf-weights are expec ted . hence

8 i templ = i templ + 1 C

do 10 i temp2 = 1 , i templ c a l l glexem i f ( l x t k t y .eq . 2 ) g o t o 9 c a l l e r r p a r ( 1 , 8 , 20hnum e x p t i n f s s y s t l xused = . fa lse . c a l l skpstm r e t u r n

C

9 nmpntr = nmpntr + 1 s tnmls ( nmpntr ) = rnmval

10 c o n t i n u e C

c so a l l t h e numbers have been o b t a i n e d

Page 92: REPORT THE DESIGN OF A SIMULATOR - EECS at UC Berkeley · Report -- on the Design -- of a Simulator Program ... and if the wafer is to be bak$d how lona, ... for the ztchin? process

Jun 20 05:43 1978 F i l e parser/subr-2 Page 5 78

225 226 227 228 229 230 23 1 232 233 234 235 236 237 238 239 240 24 1 242 243 244 245 246 247 248 249 250 25 1 252 253 254 255 256 257 258 259 260 26 1 262 263 264

nminst = nmpntr re t u r n

C c t h e heade r is = c o n t a c t = ( i s t k n d = 4 ( , o r 5)) 100

C

103

C

C

C

c a l l glexem i f ( l x t k t y .eq . 2) g o t o 103 c a l l e r r p a r ( 1 , 101, 20hnum e x p t i n f s s y s t l xused = . f a l s e . c a l l skpstm r e t u r n

nmpntr = nmpntr + 1 s tnmls(nmpntr) = rnmval

c a l l glexem if ( l x t k t y .eq. 2) g o t o 105

l xused = . f a l s e . nmins t = nmpntr r e t u r n

c two more numbers expected ( i s t k n d = 5) 105 i s t k n d = 5

nmpntr = nmpntr + 1 s t n m l s ( nmpntr ) = rnmval

c a l l glexem i f ( l x t k t y .eq . 2) g o t o 107 c e l l e r r p a r ( 1 , 106, 20hnum e x p t i n f s s y s t l xused = . fa l se . c a l l skpstm r e t u r n

C

C c so t h i s is t h e t h i r d number

stnmls( nmpntr ) = rnmval

nminst = nmpntr r e t u r n end

107 nmpntr = nmpntr + 1

C

Page 93: REPORT THE DESIGN OF A SIMULATOR - EECS at UC Berkeley · Report -- on the Design -- of a Simulator Program ... and if the wafer is to be bak$d how lona, ... for the ztchin? process

Jun

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56

20 05:54 1978 F i l e p a r s e r / s u b r A Page 1

C

C

C

C

C

C C

C

C

C

C

C

C

s u b r o u t i n e f s o b j e forms t h e o b j e c t - s t m t

common /lexsem/ kwdval, rnmval, i n t v a l , f r a v a l , r i n t v l , l x t k t y common /parsem/ i s t m t y , i s t k n d , s t n m l s ( 2 5 ) , nmins t , nmpntr common / e n d f l 2 / nos tmt , l xused common / e r r f l 2 / l p a r e r , legstm

l o g i c a l nos tmt , l xused l o g i c a 1 l p a r e r , legstm

t h i s time assume t h a t t h e c o n t e x t o f c a l l is c o r r e c t , and i s t m t y = 3 , and i s t k n d = 1, o r 2 , o r 3

c a l l glexem i f ( l x t k t y .eq. 2 ) g o t o 1 c a l l e r r p a r ( 1, 11, 20hnum expt i n f s c b j e lxused = . fa l se . c a l l skpstm r e t u r n

1 nmpntr = nmpntr + 1 stnmls( nmpntr = rnmval

now depending on whether ( l i n e , s p a c e ) , o r ( l i n e s p a c e ) is t h e h e a d e r , no more o r one more number expected

g o t o ( 1 0 , 10, 201, i s t k n d

r e t u r n 10 nminst = nmpntr

20 c a l l glexem i f ( l x t k t y .eq. 2 ) g o t o 25 c a l l e r r p a r ( 1 , 2 1 , 20hnm e x p t i n f s o b j e lxused = . f a l s e . c a l l skpstm ret urn

C

25 nmpntr = nmpntr + 1 s t n m l s ( m p n t r ) = rnmval

nminst = nmpntr r e t u r n end s u b r o u t i n e fsdvmo

forms t h e devmodel-stmt

common /lexsem/ kwdval, rnmval, i n t v a l , f r a v a l , r i n t v l , l x t k t y common /parsem/ i s t m t y , i s t k n d , s t n m l s ( 2 5 ) , nmins t , nmpntr common / e n d f l 2 / nos tmt , l xused common / e r r f l 2 / l p a r e r , legstm

l o g i c a l nos tmt , l xused l o g i c a l l p a r e r , legstm

( i s t m t y = 4) assumed t o be c o r r e c t because o f t h e c o n t e x t of t h e

79

Page 94: REPORT THE DESIGN OF A SIMULATOR - EECS at UC Berkeley · Report -- on the Design -- of a Simulator Program ... and if the wafer is to be bak$d how lona, ... for the ztchin? process

Jun 20 05:54 1978 F i l e p a r s e r / s u b r A Page 2 80

57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86

88 89 90 91 92 93 94 95 96 97 98 99 100 10 1 102 103 104 105 106 107 108 109 110 111 112

a7

c call. hence no need t o check f o r an e r r o r C

c a l l glexem i f ( l x t k t y . eq . 1 ) g o t o 1 c a l l e r r p a r ( 1 , 0 , 20hkwd e x p t i n fsdvmo ) l xused = . f a l s e . c a l l skpstm r e t u r n

C

1 i f (kwdval .eq. 10) g o t o 10 i f (kwdval . eq . 1 1 ) g o t o 20

c a l l e r r p a r ( 1 , 1 , 20himpro kwd i n fsdvmo lxused = . f a l s e . c e l l skpstm r e t u r n

C

C

c e t c h r a t e a n a l y t i c ... s t m t 10 i s t k n d = 1

C

do 15 i t empl = 1 , 3 c a l l glexem i f ( l x t k t y .eq. 2 ) g o t o 12 c a l l e r r p a r ( 1 , 1 1 , 20hnum e x p t i n fsdvmo lxused = . fa l se . c a l l skpstm r e t u r n

C

12 nmpntr = nmpntr + 1

15 c o n t i n u e stnmls(runpntr) = rnmval

C nminst = nmpntr r e t u r n

C c e t c h r a t e cu rve ... s t m t

20 i s t k n d = 2 C

c now t h e first number t e l l s how many numbers f o l l o w . so t a k e i t s c i n t e g e r v a l u e ( = / l e x s e m / . i n t v a l ( i t should be an i n t e g e r ... ) ) c and t r y t o read t h a t many numbers a f t e r t h a t . t h i s i s s l i g h t l y c d i f f e r e n t from a g e n e r a l p a r s e r d e s i g n b u t l e t u s a l l o w i t as an c e x c e p t i o n .

c a l l glexem i f ( l x t k t y .eq . 2 ) g o t o 25 c a l l e r r p a r ( 1 , 21 , 20hint-num expt*fsdvmo ) l xused = . fa lse . c a l l skpstm r e t u r n

C 25 nmpntr = nmpntr + 1

s tnmls (nmpnt r ) = rnmval

i temp2 rnmval

i f ( ( 0 . l e . i temp2) .and. ( i t emp2 . l e . 2 1 ) ) g o t o 27

C

C

Page 95: REPORT THE DESIGN OF A SIMULATOR - EECS at UC Berkeley · Report -- on the Design -- of a Simulator Program ... and if the wafer is to be bak$d how lona, ... for the ztchin? process

Jun 20 05:54 1978 F i l e pa.rser/subr> Page 3 81

113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 1 'lo 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168

c a l l errpar( 1 , 26 , 20hnum o u t o f range*dvm ) l xused = . f a l s e . c a l l skps tm r e t u r n

C

27 c o n t i n u e C

do 29 i t e m p l = 1 , i temp2 c a l l glexem i f ( l x t k t y .eq . 2 ) g o t o 28 c a l l e r r p a r ( 1 , 27 , 20hnum e x p t i n fsdvmo ) l xused = . f a l s e . c211 skps tm r e t u r n

C

28 nmpntr = nmpntr + 1 s tnmls (nmpnt r ) = rnmval

C

29 c o n t i n u e C

C C

C

C

C C

C

C C

C

C

C C

C

nminst = nmpntr r e t u r n end s u b r o u t i n e fsdvtm

forms t h e devtime-stmt

common /lexsem/ kwdval, rnmval, i n t v a l , f r a v a l , r i n t v l , l x t k t y common /parsem/ i s t m t y , i s t k n d , s t n m l s ( 2 5 ) , nmins t , nmpntr common / e n d f l 2 / nos tmt , l xused common / e r r f l 2 / l p a r e r , legstm

l o g i c a l nos tmt , l xused l o g i c a l l p a r e r , legstm

( i s t m t y = 6 ) . b u t t h i s has t h e same s t r u c t u r e as t h e expQsure-stmt hence l e t us use t h a t s u b r o u t i n e ( f s e x p o ) p re t end ing t h i s t o be a s t m t o f t h a t t y p e . . . .. . and c a l l f sexpo ... ... ( a bad t echn ique -- i f an e r r o r i s de tec ted by f sexpo) ----- ... and t h e n s a y t h a t i t i s a devtime-stmt

i s t m t y = 2

c a l l f sexpo

i s t m t y = 6

re t u rn end s u b r o u t i n e fsrsmo

forms t h e resmodel-stmt

common /lexsem/ kwdval, rnmval, i n t v a l , f r a v a l , r i n t v l , l x t k t y common /parsem/ i s t m t y , i s t k n d , stnmls(251, nmins t , nmpi t r common / e n d f l 2 / noztmt, l xused common / e r r f l2 / l pa re r , legstm

l o g i c a l nos tmt , l xused l o g i c a l l pa re r , legstm

Page 96: REPORT THE DESIGN OF A SIMULATOR - EECS at UC Berkeley · Report -- on the Design -- of a Simulator Program ... and if the wafer is to be bak$d how lona, ... for the ztchin? process

Jun 20 05:54 1978 F i l e p a r s e r / s u b r 3 Page 4 82

169 170 171 172 173 174 175 176 177 178 179 180 181 182 183. 184 185 186 187 188 189 190 19 1 192 193 194 195 196 197 198 199 200 20 1 202 20 3 204 205 20 6 207 208 209 210 21 1 212 213 214 215 216 217 218 219 220 22 1

C

C C

C

C

C C C C

C C

C

C

C

C

c i s t m t y = 7 because o f t h e c o n t e x t o f t h e c a l l c expects seven numbers t o follow t h e kwd ( r e s m o d e l ) C

do 10 i t empl = 1 , 7 c a l l glexem i f ( l x t k t y . eq . 2) g o t o 5 c a l l e r r p a r ( 1, 4 , 20hnum e x p t i n fsrsmo ) l x u s e d = . f a l s e . c a l l skpstm r e t u r n

C 5 nmpntr = nmpntr + 1

s t n m l s ( nmpntr = rnmval C

10 c o n t i n u e

nminst = nmpntr r e t u r n end s u b r o u t i n e f s r u n

forms t h e run-stmt

common /lexsem/ kwdval, rnmval , i n t v a l , f r a v a l , r i n t v l , l x t k t y common /parsem/ i s t m t y , i s t k n d , s t n m l s ( 2 5 ) , nmins'i, nmpntr common / e n d f l 2 / n o s t m t , l x u s e d common / e r r f l 2 / l p a r e r , legstm

l o g i c a l n o s t m t , l x u s e d l o g i c a i l p a r e r , legstm

t h e commcn / e r r f l 2 / and i ts l o g i c a l d e c l a r a t i o n a re n o t needed

i s t m t y = 8 ( ( f r o m t h e c o n t e x t o f t h e c a l l ) a s s u m d c o r r e c t )

f o r t h e user two d i f f e r e n t k i n d s o f t h i s s t m t a re p r e s e n t . b u t fcr t h e parser b o t h get c o n v e r t e d t o t h e same i n t e r n a l form.

c a l l glexem i f ( l x t k t y . e a . 2) g o t o 100

l x u s e d = . f a l s e . s t n m l s ( 1 ) = 0.0 nminst = 1 r e t u r n

no number f o l l o w i n g t h e kwd =run= hence

a number f o l l o w s hence 100 nmpntr = nmpntr + 1

s tnmls (nmpnt r ) = rnmval

nminst = nmpntr r e t u r n

end

C

C

Page 97: REPORT THE DESIGN OF A SIMULATOR - EECS at UC Berkeley · Report -- on the Design -- of a Simulator Program ... and if the wafer is to be bak$d how lona, ... for the ztchin? process

Jun 21 02:42 1978 F i l e p a r s e r / s u b r 4 Page 1

1 2 3 4 5 6 7 8 9 10 1 1 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56

C

C

C

C C C C

C

C C

C

C

C

C C

s u b r o u t i n e f s l a y e forms t h e layers-stmt

common /lexsem/ kwdval , rnmval, i n t v a l , f r a v a l , r i n t v l , I l x tk ty common /parsem/ i s t m t y , i s t k n d , s t n m l s ( 2 5 ) , nmins t , nmpMtr common / e n d f l 2 / nostmt, l xused common / e r r f l 2 / l p a r e r , legstm

l o g i c a l nostmt, l xused l o g i c a1 l p a r e r , legstm

( i s t m t y = 9 ) assumed c o r r e c t . hence no e r ro r - check ing on t h a t .

a

8

10

c a l l glexem

do 10 i t empl = 1 , 2 i f ( l x t k t y .eq. 2 ) g o t o 8

number was expected bu t n o t o b t a i n e d hence c a l l e r r p a r ( 1 , 7 , 20hnum exp t by f s l a y e nminst = nmpntr l xused = . fa l se . c a l l skpstm re t u rn

nmpntr = nmpntr + 1 stnmls( nmpntr 1 = rnmval

c a l l glexem c o n t i n u e

if ( l x t k t y .eq. 2 ) g o t o 15 lxused = . fa lse . nminst = nmpntr re t u r n

now a se r ies o f t r i p l e s o f numbers is expected C

15

C

c a

C

18

C

20 C

do 20 i templ = 1 , 3 i f ( l x t k t y .eq. 2 ) g o t o 18

number was expected b u t n o t o b t a i n e d hence c a l l errpar( 1 , 17, 20hnum e x p t by f s l a y e nminst = nmpntr l xused = .false. c a l l skpstm r e t u r n

nmpntr = nmpntr + 1 stnmls( nmpntr 1 = rnmval

c a l l glexem c o n t i n u e

c i f t h e p r e s e n t l e x i c a l token is a number t h e n one more t r i p l e of

Page 98: REPORT THE DESIGN OF A SIMULATOR - EECS at UC Berkeley · Report -- on the Design -- of a Simulator Program ... and if the wafer is to be bak$d how lona, ... for the ztchin? process

Jun 21 02:42 1978 F i l e parser/subr-4 Page 2 84

57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94

C

C

C

C C

C

C

C C

C

C

numbers ( i n c l u d i n g t h a t number) is e x p e c t e d , s o go back t P g e t t h e t r i p l e

i f ( l x t k t y .eq. 2 ) g o t o 15

10

l xused = . fa l se . nminst = nmpntr r e t u r n end s u b r o u t i n e f s t r i a

forms t h e tr ial-stmt

common /lexsem/ kwdval, rnmval, i n t v a l , f r a v a l , r i n t v l , , l x t k t y common /parsem/ i s t m t y , i s t k n d , s t n m l s ( 2 5 ) , n m i n s t , nmpbtr common / e n d f l 2 / nos tmt , l xused common / e r r f l2 / lparer , legstm

l o g i c a l nos tmt , l x u s e d l o g i c a l l p a r e r , legstm

( i s t m t y = 10) assumed c o r r e c t . hence no e r ro r - check ing a

call glexem i f ( l x t k t y .eq. 2 ) g o t o 10 c a l l e r r p a r ( 1 , 0 , 20hnum e x p t by f s t r i a 1 nminst = nmpntr l xused = . fa lse . c a l l skpstm r e t u r n

nmpntr = nmpntr + 1 s t n m l s ( nmpntr = rnmval c a l l glexem i f ( l x t k t y .eq . 2) g o t o 10

lxused = . fa lse . nminst = nmpntr r e t u r n end

%

Page 99: REPORT THE DESIGN OF A SIMULATOR - EECS at UC Berkeley · Report -- on the Design -- of a Simulator Program ... and if the wafer is to be bak$d how lona, ... for the ztchin? process

Jun 21 02:50 1978 File parserlststpar Page 1 85

1 2 3 4 5 6 7 8 9 10 1 1 12 13 I4 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56

C C C C

C

C

C

C C

C C C C

subroutine tstpar driver subroutine for testing the parser of the photolithographic-processes-simulation-program. - (snn, erl, eecs, ucb) february 26, 1978

common /lexsca/ icsign, ricsgn, jrswdt( 10,161, kwdarr( lo), nmrswd common /charac/ iprptr, ipchar, ictype, ipcard(82) common /lexsem/ kwdval, rnmval, intval, fraval, rintvl, Ixtkty common /errfla/ ierflg, iersvi, ismesi common /endofx/ noipdk, noipr, noilr, noicst, nologi

common /parsem/ istmty, istknd, stnmls(25), nminst, nmpntr common /endfl2/ nostmt, lxused common /errfl2/ lparer, legstm

logical noipdk, noipr, noilr, noicst, nologi

logical nostmt, lxused logical lparer, legstm

initialize the keywords array ( with lambda, dose, to, proj etc. data j rswdt

1 /lhl, lha, lhm, Ihb, lhd, lha, 4*1h , 2 lhd, lho, lhs, lhe, 6%lh , 3 lht, lho, 8*lh , 4 lhp, lhr, lho, Ihj, 6*lh , 5 Ihc, lho, lhn, lht, lha, lhc, lht, 3*lh , 6 lhl, lhi, lhn, lhe, 6*lh , 7 lhs, Ihp, lha, lhc, lhe, 5*1h , 8 Ihl, lhi, lhn, lhe, lhs, lhp, lha, lhc, lhe, lh , 9 lhe, lht, lhc, Ihh, lhr, lha, lht, lhe, 2*1h , a lha, lhn, lha, lhl, lhy, Iht, lhi, lhc, 2*lh , b lhc, lhu, lhr, lhv, lhe, 5*1h , C lhd, lhe, lhv, lht, lhi, lhm, lhe, 3*lh , d lhr, lhe, lhs, lhm, lho, lhd, lhe, Ihl, 2*1h , e lhr, lhu, Ihn, 7*lh , f lhl, Iha, lhy, Ihe, lhr, lhs, 4*1h , g Iht, lhr, lhi, lha, lhl, 5h*lh /, nmrswd / 16 /

(the calling program should print the fancy title to the output) this routine should print out the fact that it is only testing the parser write (6, 9000)

9000 format( lx, 5h*-*-*, /, lx, 5h-*-*-, 2x, 1 24hdriver subroutine tstpar, /, lx, 5hG-*-* 9 2x9 2 18hto test the parser, /, lx, 5h-*-*-

C c initialize the program processes, variables, etc., and als the c defaultable values of the photolithographic system to be s'mulated C 1

call initpa C c now process the input cards in an interpreter like fashion.

c while the end of input statement stream has not been reached, C

Page 100: REPORT THE DESIGN OF A SIMULATOR - EECS at UC Berkeley · Report -- on the Design -- of a Simulator Program ... and if the wafer is to be bak$d how lona, ... for the ztchin? process

Jun 21 02:50 1978 F i l e p a r s e r / s t s t p a r Page 2 86

57 58 59 60 61 62 63 6 4 65 66 67 68 69 70 71 72 73

c g e t an i n p u t s t a t e m e n t ... 10 c a l l gstmt

C c p r e t t y p r i n t it ...

c a l l p r p r s t

c ... and execu te i t . C c a l l exstmt

C

C C

i f ( . n o t . nos tmt ) g o t o 10 C

c C c a l l endjob

re t u rn end

end of t he i n p u t s t a t e m e n t stream was reached , hence pack /up.

C I

I i

Jun 21 02:55 1978 F i l e parser/decl Page 1

1 C

2 common /lexsem/ kwdval, rnmval, i n t v a l , f r a v a l , r i n t v l , l x t k t y 3 common /parsem/ i s t m t y , i s t k n d , s t n m l s ( 2 5 ) , nmins t , nmpntr 4 common / e n d f l 2 / nos tmt , l xused 5 common / e r r f l 2 / l p a r e r , l egs tm 6 C 7 l o g i c a l nos tmt , l xused 8 l o g i c a l l p a r e r , legstm 9 C

Jun 21 02:58 1978 F i l e p a r s e r / p a r d r i v e Page 1

program m a i n ( i n p u t , o u t p u t , t a p e 5 = i n p u t , t a p e 6 = o u t p u t ) c a l l o u t i t l c a l l t s tpa r s t o p end

Page 101: REPORT THE DESIGN OF A SIMULATOR - EECS at UC Berkeley · Report -- on the Design -- of a Simulator Program ... and if the wafer is to be bak$d how lona, ... for the ztchin? process

Jun 21 03:02 1978 File lex-addecldata Page 1 87

1 2 3 4 5 6 7 8 9 10 1 1 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29

~

c (snn, erl, eecs, ucb) march 6, 1978 C

common /lexsca/ icsign, ricsgn, jrswdt(l0,16), kwdarr( lob, nmrswd common /charac/ iprptr, ipchar, ictype, ipcard(82) common /lexsem/ kwdval, rnmval, intval, fraval, rintvl, Pxtkty common /errfla/ ierflg, iersvi, ismesi common /endofx/ noipdk, noipr, noilr, noicst, nologi

logical noipdk, noipr, noilr, noicst, nologi i

C I

C

c initialize the keywords array ( with lambda, dose, to, pro! etc. ) data jrswdt

1 /lhl, lha, lhm, lhb, lhd, lha, 4*lh , ~

2 lhd, lho, lhs, lhe, 6*lh , 3 lht, lho,

5 lhc, lho, lhn, lht, lha, lhc, lht, 3*lh , 6 lhl, lhi, lhn, lhe, 6*lh , 7 lhs, lhp, lha, lhc, lhe, 5*lh , 8 lhl, lhi, lhn, lhe, lhs, lhp, lha, lhc, lhe, lh 9 lhe, lht, lhc, lhh, lhr, lha, lht, lhe, 2*1h , a lha, lhn, lha, lhl, lhy, lht, lhi, lhc, 2*1h , b lhc, lhu, lhr, lhv, lhe, 5*lh , C lhd, lhe, lhv, lht, lhi, lhm, lhe, 3*lh , d lhr, lhe, lhs, lhm, lho, lhd, lhe, lhl, 2*lh , e lhr, lhu, lhn, 7*lh , f lhl, lha, lhy, lhe, lhr, lhs, 4*lh , g lht, lhr, lhi, lha, lhl, 5*lh /, nmrswd / 16 /

8*ih , I

4 lhp, lhr, lho, lhj, 6*lh , I

I

,

C

Page 102: REPORT THE DESIGN OF A SIMULATOR - EECS at UC Berkeley · Report -- on the Design -- of a Simulator Program ... and if the wafer is to be bak$d how lona, ... for the ztchin? process

Jun 21 03:05 1978 F i l e lex-an/lex-l Page 1 88

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56

s u b r o u t i n e e r r l e x ( iernum, i a r g s i , messag ) I

c C t h i s r o u t i n e a b o r t s , o r c o n t i n u e s . , c i a r g s i = i n t argument ( f o r ) s e v e r i t y index

depending on e r r o r s e v e r i t y and accumulated e r r o r - s e v e r i t y f i n d e x

C common /lexsem/ kwdval, rnmval , i n t v a l , f r a v a l , r i n t v l , l x t k t y common / e r r f l a / i e r f l g , i e r s v i , ismesi

C c s e t up t h e l e x i c a l token t y p e t o i n v a l i d - l e x i c a l - t o k e n typ$

C ~

l x t k t y = -1

ismesi = ismesi + i a rgs i I write ( 6 , 100) messag, i a r g s i , i e r s v i , ismesi, iernum

100 fo rma t ( / / , l x , 19h-error i n t h e i n p u t , / , 2x, 1 38h(detected by t h e l e x i c a l a n a l y z e r ) -- ,a20 , / , 2 2 x , B h i a r g s i =, i 5 , 10h, i e r s v i =, i 5 , 3 10h, ismesi = , i 5 , IOh, iernum = , i 5 1 if (iernum .ge. 100) s t o p if (ismesi .ge. 10 s t o p r e t u r n end s u b r o u t i n e fkwdvl

c fe tches t h e keyword v a l u e

common / l e x s c a / i c s i g n , common /lexsem/ kwdval ,

C

C

( and p u t s i t i n / lexsca / .kwdval 1

r i c s g n , j r s w d t ( l O , l 6 ) , kwdarr(101, nmrswd rnmval , i n t v a l , f r a v a l , r i n t v l , l x t k t y

do 200 i templ = 1 , nmrswd

do 100 itemp2 = 1 , 10 i f ( kwdarr( i temp2) .ne . j r s w d t ( i temp2, i t e m p l g o t o 200

C

100 con t inue c normal e x i t => keyword found i n t a b l e C

i temp? = i templ g o t o 300

200 c o n t i n u e c normal e x i t => word n o t found i n t h e t ab le C

goo0

C

300

kwdval -1 wri te ( 6 , 9000) kwdarr fo rma t ( /, l x , 33h-the i n p u t has a n unknown word = , 10al c a l l e r r l e x ( - 1 , 1 , 20hunknown kwd found*sf) re t urn

kwdval = i temp3 r e t u r n end s u b r o u t i n e frmfra

c forms t h e f r a c t i o n a l p a r t o f a real number c no e r ro r - check ing is expec ted ( o r r e q u i r e d ) . C

i

common / cha rac / i p r p t r , i p c h a r , i c t y p e , i p c a r d ( 8 2 ) I

common /lexsem/ kwdval, rnmval , i n t v a l , f r a v a l , r i n t v l , l x t k t y

f r a v a l = 0.0 C

Page 103: REPORT THE DESIGN OF A SIMULATOR - EECS at UC Berkeley · Report -- on the Design -- of a Simulator Program ... and if the wafer is to be bak$d how lona, ... for the ztchin? process

Jun 21 03:05 1978 F i l e lex-an/lex-l Page 2 89

57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112

n t e n p r = 0 10 i f ( i c t y p e .ne . 2 ) g o t o 100

n t e n p r = n t e n p r + 1 i d i g v l = i d g v a l ( i p c h a r t d i g v l = i d i g v l

do 20 i templ = 1 , n t e n p r t d i g v l = t d i g v l * 0.1

C

20 c o n t i n u e C

f r a v a l = f r a v a l + t d i g v l c a l l g c h a r g o t o 10

100 r e t u r n end s u b r o u t i n e f r m i n t

forms t h e integer p a r t of a rea l number I

common / cha rac / i p r p t r , i p c h a r , i c t y p e , i p c a r d ( 8 2 ) I

1 common /lexsem/ kwdval , rnmval , i n t v a l , f r a v a l , r i n t v l ,I l x t k t y

i n t v a l = 0 i f ( i c t y p e .eq. 2 ) g o t o 10 c a l l e r r l e x ( -1, +1 , 20hd ig i t - exp td - f r m i n t r e t u r n

i n t v a l = 10 * i n t v a l + i d i g v l c a l l g c h a r i f ( i c t y p e .eq. 2 ) g o t o 10 r e t u r n end s u b r o u t i n e frmkwd

10 i d i g v l = i d g v a l ( i p c h a r

forms keywords from t h e i n p u t c h a r a c t e r strevn

common /lexsca/ i c s i g n , r i c sgn , j r s w d t ( l O , l 6 ) , kwdar r ( lO) , nmrswd common / cha rac / i p r p t r , i p c h a r , i c t y p e , i p c a r d ( 8 2 ) common /lexsem/ kwdval, rnmval, i n t v a l , f r a v a l , r i n t v l , l x t k t y

keywords are n o t allowed t o be more t h a n 10 c h a r a c t e r s l ong . no e r ro r - check ing expected ( o r r e q u i r e d

do 50 i t empl = 1 , 10 kwdarr( i templ = l h

50 c o n t i n u e C

C do 100 i t empl = 1 , 10 kwdarr( i t empl = i p c h a r c a l l g c h a r i f ( i c t y p e .ne . 1 1 g o t o 200

100 c o n t i n u e C i c normal e x i t means t h a t t h e l e t t e r - s e q u e n c e i s more t h a n l b c c h a r a c t e r s l ong . hence e r r o r C

c a l l e r r l e x ( -1, 1 , 20hkwd-longr,10 l e t t e r s

Page 104: REPORT THE DESIGN OF A SIMULATOR - EECS at UC Berkeley · Report -- on the Design -- of a Simulator Program ... and if the wafer is to be bak$d how lona, ... for the ztchin? process

Jun 21 03:05 1978 F i l e lex-an/lex-l Page 3 90

113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168

r e t urn 200 c a l l fkwdvl

r e t u r n end

s u b r o u t i n e g c a r d llistj

c g e t s a c a r d from t h e i n p u t deck C

common / cha rac / i p r p t r , i p c h a r , i c t y p e , i p c a r d ( 8 2 ) common /endofx/ noipdk, n o i p r , n o i l r , n o i c s t , n o l o g i

C

l o g i c a l noipdk, n o i p r , n o i l r , n o i c s t , n o l o g i l o g i c a l eo f

i f (no ipdk) c a l l err lex( -1, +1, 20hmore-cards-expected+

read ( 5 , 10) ( i p c a r d ( i t e m p l ) , i templ = 1 , 80)

C

C I 10 fo rma t ( 80a l ) I

C

write ( 6 , 20) ( i p c a r d ( i t e m p l ) , i t empl = 1 , 80 ) 20 fo rma t ( /, l x , 12hinput c a r d = , 80a1, lh$

C

i p c a r d ( 8 1 ) = l h i p c a r d ( 8 2 ) = l h i p r p t r = 1 i f ( e O f ( 5 ) 1 g o t o 100 r e t u r n

C 100 noipdk = . t rue .

n o i c s t = . t r u e . re t u r n end

s u b r o u t i n e g c h a r [nolistl

c g e t a c h a r a c t e r from t h e i n p u t deck C

common / cha rac / i p r p t r , i p c h a r , i c t y p e , i p c a r d ( 8 2 ) common /endofx/ noipdk, n o i p r , n o i l r , n o i c s t , n o l o g i

l o g i c a l noipdk, n o i p r , n o i l r , n o i c s t , n o l o g i

i f ( n o l o g i g o t o 300 i f ( n o i c s t 1 g o t o 200 i f ( i p r p t r .It. 82 1 g o t o 100

c a l l g c a r d 100 i p c h a r = i p c a r d ( i p r p t r )

i p r p t r = i p r p t r + 1 i c t y p e = i p c h t y ( i p c h a r r e t u r n

200 i p c h a r = lh$

C

C

C

C

i c t y p e = i p c h t y ( i p c h a r ) n o l o g i = . t r u e . ret u r n

300 c a l l e r r l e x ( - 1 , +1, 2 0 h t r i e d t o g e t x t r a i p )

Page 105: REPORT THE DESIGN OF A SIMULATOR - EECS at UC Berkeley · Report -- on the Design -- of a Simulator Program ... and if the wafer is to be bak$d how lona, ... for the ztchin? process

Jun 21 03:05 1978 F i l e lex-an/lex-l Page 4 97

169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 19 1 192 193 194 195 196 197 198 199 200 20 1 202 20 3 204 205 206 207 208 209 210 21 1 212 213 214 215 216 217 218 21 9 220 22 1 222 223 224

r e t u r n I

end I s u b r o u t i n e glexem

c ge ts t h e n e x t lexeme and p u t s i t s t y p e i n l x t k t y ( = l e x i c a l token c t y p e ) , and i t s =value= i n kwdval, o r rnmval. c t h e pa i r ( l x t k t y , l xmva l (= kwdval, o r rnmval) is a lexeme. C

common /lexsca/ i c s i g n , r i c s g n , j r s w d t ( l 0 , 1 6 ) , k w d a r r ( l 0 ) , nmrswd common / cha rac / i p r p t r , i p c h a r , i c t y p e , i p c a r d ( 8 2 ) common /lexsem/ kwdval, rnmval, i n t v a l , f r a v a l , r i n t v l , l x t k t y

c a l l gnsep

i c s i g n = +1 tmpsgn = i c s i g n

c a g i a n t case-stmt

c g e t a non-separator c h a r a c t e r from t h e i n p u t char-s t ream

C

3 i f ( i c t y p e .eq. 3 g o t o 30 i f ( i c t y p e .eq . 0 ) g o t o 1 i f ( i c t y p e .eq. 1 1 g o t o 10

2 i f ( i c t y p e .eq. 2 g o t o 20 i f ( i c t y p e .eq. 4 ) g o t o 40

i f ( i c t y p e .eq. 5 g o t o 50 i f ( i c t y p e .eq. 6 g o t o 60 i f ( i c t y p e .eq. 7 1 g o t o 70

c i c t y p e = 5 is n o t p o s s i b l e h e r e ( non-separator 1, . . . y e t

c a l l e r r l e x ( - 1 , + 1 , 20hunxpd-ictype-in glxm - - C

c r i g h t pad l ex ica l token 1 l x t k t y = 0

r e t u r n C c a keyword i s t o be formed as a l ex ica l token

10 l x t k t y = 1 c a l l frmkwd r e t u r n

C

c a rea l number i s t o be formed as a l ex ica l token 20 l x t k t y = 2

c a l l f r m i n t rnmval = i n t v a l i f ( i c t y p e .eq . 4 ) g o t o 25 rnmval = rnmval*tmpsgn r e t u r n

25 c a l l g c h a r 26 c a l l frmfra

rnmval = rnmval + f r a v a l rnmval = rnmval tmpsgn r e t u r n

30 l x t k t y = 2 C

i f ( i p c h a r .eq. lh+) i c s i g n = +1 i f ( i p c h a r .eq. lh-) i c s i g n = -1 tmpsgn = i c s i g n c a l l g c h a r c a l l gnsep if ( ( i c t y p e .eq . 2 ) . o r . ( i c t y p e .eq. 4 ) ) g o t o 35

Page 106: REPORT THE DESIGN OF A SIMULATOR - EECS at UC Berkeley · Report -- on the Design -- of a Simulator Program ... and if the wafer is to be bak$d how lona, ... for the ztchin? process

Jun 21 03:05 1978 F i l e lex-an/lex-1 Page 5 92

225 226 227 228 229 230 23 1 232 233 234 235 236 237 238 239 240 24 1 242 243 244 245 246 247 248 249 250 25 1 252 25 3 254 255 256 257 258 259 260 26 1 262 263 264 265 266 267 268 269 270 27 1 272 27 3 27 4 27 5 276 277 27 8 279 280

c a l l e r r l e x ( - 1 , + 1 , 20hnumbr exp td a f t r sgn ) r e t u r n

C

35 g o t o 2 40 l x t k t y = 2

rnmval = 0 c a l l g c h a r i f ( i c t y p e . eq . 2 ) g o t o 45 c a l l e r r l e x ( -1, + 1 , 2 0 h d i g i t exp td i n glxm r e t u r n

C c now i t i s similar t o a n o r d i n a r y number case, hence -- I

45 g o t o 26

50 c a l l e r r lex( - 1 , + 1 , 2 0 h s e p r t r prohib-glexem c

r e t u r n C

c a t p r e s e n t s t a r t - symbol ( * ) , and cont inuat ion-symbol ( / ) f o r c a r d s c have no meaning r - ) ‘ I

<, A - - -- - r--- _-.__ --

< J T , - .... i 60 c a l l gnsep 7--

70 c a l l g n s e p - - - 7 ) . - J .

1- -

- i o t b - 3 - - 1

.=

- ! g o t o 3 end s u b r o u t i n e gnsep

c ge t a non-separator c h a r a c t e r from t h e i n p u t c h a r stream C

common / cha rac / i p r p t r , i p c h a r , i c t y p e , i p c a r d ( 8 2 ) C

10 i f ( i c t y p e . ne . 5 1 g o t o 20 c a l l g c h a r g o t o 10

20 r e t u r n end f u n c t i o n i d g v a l ( i a r g c h 1

t h e argument i s n o t used d i r e c t l y . g i v e s t h e v a l u e of a digi t -character assumes t h a t i p c h a r ( = i a r g c h ) is a d i g i t - c h a r a c t e r

(because of t h e c a l l i n g c o n t e x t )

common / cha rac / i p r p t r , i p c h a r , i c t y p e , i p c a r d ( 8 2 )

a g i a n t case-stmt

i t empl = -10000 i f ( i p c h a r .eq. i f ( i p c h a r .eq. i f ( i p c h a r . eq . i f ( i p c h a r . eq . i f ( i p c h a r . eq . i f ( i p c h a r . eq . i f ( i p c h a r . eq . i f ( i p c h a r .eq. i f ( i p c h a r .eq. i f ( i p c h a r . eq . i d g v a l = i templ

1hO) l h l ) l h2 ) l h3 ) l h4 ) l h 5 ) l h6 ) l h 7 )

lh9 1 i h8 )

i templ = 0 i templ = 1 i templ = 2 i templ = 3 i templ = 4 i t empl = 5 i t empl = 6 i templ = 7 i templ = 8 i templ = 9

Page 107: REPORT THE DESIGN OF A SIMULATOR - EECS at UC Berkeley · Report -- on the Design -- of a Simulator Program ... and if the wafer is to be bak$d how lona, ... for the ztchin? process

Jun 21 03:05 1978 F i l e lex-an/lex-l Page 6 93

28 1 282 28 3 284 285 286 287 288 289 290 29 1 29 2 293 294 295 296 297 298 299 300 30 1 302 30 3 304 305 30 6 307 308 309 310 31 1 312 313 314 315 316 317 318 319 320 32 1 322 323 324 325 326 327 328 32 9 330 33 1 332 333 334 335 336

C

C C

C

C

C C

C C

C

C C

C

C C C

C C C

C

C

C

C C

C C

r e t u r n end s u b r o u t i n e i n i t l a

i n i t s t h e l e x i c a l a n a l y s i s system, as wel l a s t h e system t o be s i m u l a t e d .

common / lexsca/ i c s i g n , r i c s g n , j r s w d t ( l O , l 6 ) , kwdar r ( l01 , nmrswd common / cha rac / i p r p t r , i p c h a r , i c t y p e , i p c a r d ( 8 2 ) common /lexsem/ kwdval, rnmval, i n t v a l , f r a v a l , r i n t v l , l x t k t y common /e r r f la / i e r f l g , i e r s v i , ismesi common /endofx/ noipdk, n o i p r , n o i l r , n o i c s t , n o l o g i

l o g i c a l noipdk, n o i p r , n o i l r , n o i c s t , n o l o g i

first i n i t i a l i z e t h e program v a r i a b l e s e tc .

( i n i t i a l i z a t i o n s o f v a r i a b l e s i e r f l g = -1 i e r s v i = -1 ismesi = 0

noipdk = . fa lse . n o i p r = . fa lse . n o i l r = . fa lse . n o i c s t = . fa lse . n o l o q i = . false.

( ( i n i t i a l i z a t i o n o f p r o c e s s e s ) ( ( p r o c e s s v a r i a b l e s 1 ) c a l l g c a r d c a l l g c h a r c a l l gnsep

i n i t i a l i z e t h e p h o t o l i t h o g r a p h i c system t o be ana lysed ( i . e . t h e d e f a u l t a b l e v a r i a b l e s ( and t h e i r f lags e t c . ) 1.

r e t u r n end f u n c t i o n i p c h t y ( j a r g c h

t e l l s t h e t y p e o f t h e i n p u t c h a r a c t e r 0 => $ ( l a s t c h a r ) , 1 => l e t t e r , 2 => d i g i t - c h a r , 3 => s ign -cha r , 4 => p e r i o d , 5 => s e p a r a t o r 6 => * ( s t a r t symb), 7 => / ( c o n t i n u a t i o n symb -1 < i p c h t y < 8

t h e dummy argument is n o t used i n t h i s f u n c t i o n common / c h a r a c / i p r p t r , i p c h a r , i c t y p e , i p c a r d ( 8 2 )

a g i a n t case-stmt i f ( i p c h a r .eq. lh$ ) g o t o 1 i f ( ( l h a .le. i p c h a r ) .and. ( i p c h a r .le. l h z ) i f ( (1hO . l e . i p c h a r ) .and. ( i p c h a r . l e . l h 9 ) g o t o 20 i f ( ( i p c h a r .eq. l h+) . o r . ( i p c h a r . eq . lh - ) g o t o 30 i f ( i p c h a r .eq. l h . ) g o t o 40 i f ( ( i p c h a r .eq. l h ) . o r . ( i p c h a r . eq . l h , ) . o r .

goto 10

Page 108: REPORT THE DESIGN OF A SIMULATOR - EECS at UC Berkeley · Report -- on the Design -- of a Simulator Program ... and if the wafer is to be bak$d how lona, ... for the ztchin? process

Jun 21 03:05 1978 F i l e lex-an/lex-l Page 7

337 338 339 340 34 1 342 343 344 345 346 347 348 349 350 35 1 352 353 354 355 356 357 358 359 360

C

C 1

10

20

30

40

50

60

70

1 ( i p c h a r . eq . I h O . o r . ( i p c h a r . eq . l h ) ) ) g o t o 50 i f ( i p c h a r .eq. Ih* g o t o 60 i f ( i p c h a r . eq . Ih/ g o t o 70

i p c h t y = -1 r e t u rn

i p c h t y 0 r e t u r n i p c h t y 1 r e t u rn i p c h t y = 2 r e t u r n i p c h t y = 3 r e t u r n i p c h t y = 4 r e t u r n i p c h t y = 5 r e t u r n i p c h t y = 6 re t u rn i p c h t y = 7 r e t u r n end

94

Page 109: REPORT THE DESIGN OF A SIMULATOR - EECS at UC Berkeley · Report -- on the Design -- of a Simulator Program ... and if the wafer is to be bak$d how lona, ... for the ztchin? process

Jun

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56

21 03:21 1978 File lex-an/ststlex Page 1

C C C C

C

C C

C C C C

C C C C

C

C C C

C C C

C

j /nolistj subroutine tstlex

driver subroutine for testing the lexical-analyzer ( = scanher) of the photolithographic-processes-simulation-program. (snn, erl, eecs, ucb) february 26, 1978

common /lexsca/ icsign, ricsgn, jrswdt( 10,161, kwdarr(lO), nmrswd common /charac/ iprptr, ipchar, ictype, ipcard(82) common /lexsem/ kwdval, rnmval, intval, fraval, rintvl, common /errfla/ ierflg, iersvi, ismesi common /endofx/ noipdk, noipr, noilr, noicst, noloqi

rxtkty logical noipdk, noipr, noilr, noicst, nologi

initialize the keywords array ( with lambda, dose, to, prob etc.

~

data jrswdt 1 /lhl, lha, lhm, lhb, lhd, lha, 4*lh , 2 lhd, lho, lhs, lhe, 6*lh , 3 lht, lho, 8*lh , 4 lhp, lhr, lho, lhj, 6*lh , 5 lhc, lho, lhn, lht, lha, lhc, lht, 3*lh , 6 lhl, lhi, lhn, lhe, 6*lh , 7 lhs, lhp, lha, lhc, lhe, 5*lh , 8 lhl, lhi, lhn, lhe, lhs, lhp, lha, lhc, lhe, lh , 9 lhe, lht, lhc, lhh, lhr, lha, lht, lhe, 2*1h , a lha, lhn, lha, lhl, lhy, lht, lhi, lhc, 2*lh , b lhc, lhu, lhr, lhv, lhe, 5*1h , C lhd, lhe, lhv, lht, lhi, lhm, lhe, 3*lh , d lhr, lhe, lhs, lhm, lho, lhd, lhe, lhl, 2*lh , e lhr, lhu, lhn, 7*lh , f lhl, lha, lhy, lhe, lhr, lhs, 4*lh , g lht, lhr, lhi, lha, lhl, 5*lh /, nmrswd / 16 /

initialize the program processes, variables, etc., and also the . -

defaultable values of

call initla

now process the input ---(for the present -

the photolithographic system to be simulated

cards in an interpreter like fashion just fake the processing, for test purposes

call procrd

return end subroutine procrd

processes the input cards in an inetrpreter like fashion. ---( at present just fake the processing for test purposes

common /lexsca/ icsign, ricsgn, jrswdt(l0,16), kwdarr( lo), nmrswd common /lexsem/ kwdval, rnmval, intval, fraval, rintvl, lxtkty

(only the meaning of lexemes is relevant at this level)

get the next lexeme. 10 call glexem

95

Page 110: REPORT THE DESIGN OF A SIMULATOR - EECS at UC Berkeley · Report -- on the Design -- of a Simulator Program ... and if the wafer is to be bak$d how lona, ... for the ztchin? process

Jun 21 03:21 1978 File lex-an/ststlex Page 2 96

57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80

C if (lxtkty .eq. 0) goto 100 if (lxtkty .eq. 1) goto 50 if (lxtkty .eq. 2) goto 60

write (6, 9000) lxtkty call errlex( -1, +1, 20hwhat lexeme is this return

C

C 50 write (6, 9010) lxtkty, kwdarr

60 write (6, 9020) lxtkty, rnmval goto 10

goto 10 C 100 write (6, 9030)

9000 format(lx, 30hunknown lxtkty-out-of-range-= , 15) 9010 format(lx, 8hlxtkty =, 13, 5x, lOhkeyword is , 5x, 10al 9020 format(lx, 8hlxtkty =, i3, 5x, 10hnumber is=, f15.5 9030 format(lx, 12hend-of-input

C

C ret urn

Jun 21 03:27 1978 File lex-an/lexdrive Page 1

1 2 call tstlex

program main(input, output, tape5=input, taped=output)

3 4

stop end

Page 111: REPORT THE DESIGN OF A SIMULATOR - EECS at UC Berkeley · Report -- on the Design -- of a Simulator Program ... and if the wafer is to be bak$d how lona, ... for the ztchin? process

Jun 21 03:30 1978 F i l e prpr /pp Page 1 97

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56

s u b r o u t i n e p r p r s t c c from its abstract syn tax ( a s ob ta ined from /parsem/) C

t h i s s u b r o u t i n e p r e t t y - p r i n t s t he c u r r e n t l y parsed (formed! s t m t

common /parsem/ i s t m t y , i s t k n d , s tnmls (251 , nmins t , nmpntr C c s i n c e because of t he e x t e n s i v e e r ror -checking by t h e p a r s e , and c s t m t sk ipp ing on e r r o r , on ly a c o r r e c t ( s t m t - s t r u c t u r e w i s i n p u t c s t m t w i l l be r e t u r n e d by the p a r s e r . hence no e r r o r check ng is c r e q u i r e d i n t h i s r o u t i n e . C 1

c a g i a n t case-stmt wi th t h e h e l p o f if-stmts, and a compute1 g o t o

1

i

i f ( i s t m t y .eq. -1) go to 20 I

i f ( i s t m t y .eq. 0) go to 10

g o t o (100 , 200, 300, 400, 500, 600, 700, 800, 900, 1000) i s t m t y C

c c a r e necessa ry f o r each s t m t

c t h e end-of-input-stmts s t m t

because o f t h e s i m p l i c i t y o f p r e t t y - p r i n t i n g no s e p a r a t e p ocedures

~

C

C

10 write ( 6 , 11) 11 f o r m a t ( / / , l x , 10( lh*) , 5x , 18hend o f l a b s e s s i o n ,

1 5x , l O ( l h * ) , /, I x , 48(1h-) ) r e t u r n

C c a n e r roneous( = i n v a l i d ) - s t m t

20 write ( 6 , 21) 21 f o r m a t ( / / , l x , 5h*****, l x ,

1 3 l h t h a t was an er roneous s t a t e m e n t , l x , 5h*****) r e t u r n

C

c a lambda s t m t ( 2 k i n d s ) 100 write ( 6 , 101) 101 f o r m a t ( / / , l x , 18ha lambda-statement )

C g o t o (110 , 1201, i s t k n d

C c a s i n g l e wavelength i n t h e lambda-stmt

110 write ( 6 , 112) stnmls( 1 1 112 f o r m a t ( l x , 5x , 30hs ing le wavelength i l l u m i n a t i o n ,

l x , 12hat lambda = , f10.5, l x , 7hmicrons I 1 ret urn

I I

C c m u l t i p l e wavelengths i n t h e spectrum ,

i

2 l x , 25hand r e l a t i v e i n t e n s i t i e s , I

120 write ( 6 , 122) ( s t n m l s ( i t e m p l ) , i t empl = 1 , nmins t ) 122 f o r m a t ( l x , 5x , 32hmul t ip le wavelength i l l u m i n a t i o n ,

l x , 4 lha t t he fo l lowing wavelengths ( i n micro s), 1 1

3 ( / , l x , OX, l h ( , f10.5, 5x , f10 .5 , l h ) , I

ret urn C

c a n exposure s t a t emen t ( 2 k i n d s ) 200 write ( 6 , 201) 201 f o r m a t ( / / , l x , 2 lhan exposure s t a t e m e n t )

C

Page 112: REPORT THE DESIGN OF A SIMULATOR - EECS at UC Berkeley · Report -- on the Design -- of a Simulator Program ... and if the wafer is to be bak$d how lona, ... for the ztchin? process

98

Jun 21 03:30 1978 File prpr/pp Page 2

57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110

113

goto (210, 2201, istknd C c only one exposure 210 write (6, 212) stnmls(1) 212 format(lx, 5x, 36hsingle exposure at the intensity of , f10.5,

1 5x, 30hmillijoules per sq. centimeter ret urn

c a series of exposures 220 itempl = stnmls(3)

222 format(lx, 5x, 13hin the range , f10.5, 2x, 3hto , f10.5, 2x, write (6, 222) stnmls( 1 1 , stnmls(21, itempl

1 llhmj/(sq.cm.), 2x, 3hat , 15, 2x, 16huniformly spaced 2 10h intervals ret urn

C

~

c a system-stmt (5 kinds) 300 write (6, 301) 301 format(//, lx, 2lhthe imaging system is

I C goto (310, 320, 330, 340, 3401, istknd

C c a projection type system (istknd = 1) 310 write (6, 311) stnmls(1) 311 format(lx, 5x, 35ha projection type system with na = , f10.5

return C c a projection type system (istknd = 2) 320 write (6, 321) stnmls(l1, stnmls(2) 321 format(lx, 5x, 35ha projection type system with na = f10.5, 2x,

1 12hat lambda = , f10.5, 2x, 7hmicrons return

C c a projection type system (istknd = 3) 330 itempl = stnmls(3)

itempi! = itempl + 4 write (6, 331) stnmls(l), stnmls(2), itempl, (stnmls(itemp3),

1 itemp3 = 4, itemp2) 331 format(lx, 5x, 35ha projection type system with na = , f10.5, 2x,

1 12hat lambda = , f10.5, lx, 7hmicrons, 1 , 2 lx, 5x, 22hand with the following, 15, 2x, llhweights for, 3 lx, 7hthe mtf, /, 4 5 lx,lOx, 5x, (10f10.5))

lx,lOx, 2lhin the range of 0 to , f10.5, 1

return C c a contact type system (istknd = 4 (and 5)) 340 write (6, 341) stnmls(1) 341 format(lx, 5x, 40ha contact type system with mask

1 13hseparation = , f10.5, 2x, 7hm if (istknd .eq. 4) return

C c .. a contact type system (istknd = 5 (only)) 350 write (6, 351 stnmls(2), stnmls(3)

h( 1 /microns) ,/ ,

crons

i 351 format(lx, 5x, 29hand the coefficients ci being, 2x, 5hcl = ,

f10.5, 2x, 9hand c2 = , f10.5 1 ret urn 1

Page 113: REPORT THE DESIGN OF A SIMULATOR - EECS at UC Berkeley · Report -- on the Design -- of a Simulator Program ... and if the wafer is to be bak$d how lona, ... for the ztchin? process

Jun 21 03:30 1978 F i l e p r p r l p p Page 3 99

113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168

C C c an o b j e c t ( o r mask)-stmt ( 3 k i n d s )

400 write ( 6 , 401) 401 f o r m a t ( / / , l x , 19han o b j e c t statement

C go to (410 , 420, 4301, i s t k n d

C c a l i n e ( i s t k n d = 1 )

410 write ( 6 , 411) s tnmls (1 ) 411 f o r m a t ( l x , 5x, 26hthe mask h a s o n l y a l i n e , f10 .5 ,

1 14h microns wide r e t u r n

C 420 wri te ( 6 , 421) s tnmls (1 ) 421 f o r m a t ( l x , 5x , 27hthe mask h a s o n l y a space , f10 .5 ,

1 14h microns wide ret urn

C 430 write ( 6 , 431 1 s tnmls( 1 1 , s t n m l s ( 2 ) 431 f o r m a t ( l x , 5x, 45hthe mask is a grat ing w i t h a p e r i o d i c p a t t e r n ,

1 l x , 15hof l i n e / s p a c e , 2f10.5, l4h microns wide r e t u r n

C C c a devmodel s t m t ( 2 k inds ) 500 write ( 6 , 501) 501 f o r m a t ( / / , l x , 20ha devmodel statement

C goto (510 , 5201, i s t k n d

C c e t c h r a t e a n a l y t i c ... s t m t ( i s t k n d = 1 )

510 write ( 6 , 51 1 ) s t n m l s ( l 1 , s tnmls (21 , s tnmls (3 ) 511 fo rma t ( lx ,5x ,48h the e t c h r a t e is g i v e n by t h e a n a l y t i c e x p r e s s i o n ,

1 / , l l x , 17hthe ra te r = e x p ( , f10.5, 2h +, f10 .5 , 4h*m +, 2 f10 .5 , 5h*m*m) )

r e t u r n C c e t c h r a t e curve ... stmt ( i s t k n d = 2 )

520 write ( 6 , 521) ( s t n m l s ( i t e m p l ) , i t empl = 2 , nminst ) 521 fo rma t ( lx ,5x ,47h the e t c h r a t e i s g iven by t h e cu rve of r v s m as,

ret urn 1 /, ( l l x , f10 .5) 1

C C

c a devtime-stmt ( 2 k i n d s ) 600 write ( 6 , 601) 60 1

C

C c a

610 61 1

f o r m a t ( / / , l x , 19ha devt ime s t a t e m e n t

g o t o (610, 620) , i s t k n d

s ing le development time ( i s t k n d = 1 ) ~

write ( 6 , 611) s tnmls (1 ) f o r m a t ( l x , 5x, 32hthe c h i p is t o be developed f o r , f10 .5 , 2x,

r e t u r n 7hseconds

Page 114: REPORT THE DESIGN OF A SIMULATOR - EECS at UC Berkeley · Report -- on the Design -- of a Simulator Program ... and if the wafer is to be bak$d how lona, ... for the ztchin? process

Jun 21 03:30 1978 F i l e prpr /pp Page 4 !

100

169 170 17 1 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 19 1 192 193 194 195 196 197 198 199 200 20 1 202 203 204 205 206 207 208 209 210 21 1 212 21 3 214 215 216 217 21 8 219 220 22 1 222 223 224

~

C c a series o f development times ( i s t k n d = 2 )

620 i templ = s tnmls (3 )

621 f o r m a t ( l x , 5x, 33hthe c h i p is t o be developed from , f10 .5 , 2x , write ( 6 , 621) stnmls( 1 1 , s t n m l s ( 2 ) , i t empl

1 l l h seconds t o , f10 .5 , 2x , l l h seconds i n , i 5 , 2x , 2 5 h s t e p s

r e t u r n C C

c a resmodel statement ( o n l y one k ind ) 700 wri te ( 6 , 701) 701 f o r m a t ( / / , l x , 20ha resmodel statement )

1 c (710) on ly one kind o f s t m t write ( 6 , 711) ( s t n m l s ( i t e m p l 1 , i t empl = 1 , 7 ) 1

711 f o r m a t ( l x , 5x, 12hat lambda = , f10 .5 , l x , 7hmicrons, 2x , 1 25hthe res i s t parameters are, 1 , l x , lox, 2 4ha = , f10.5, 18h ( l / m i c r o n s ) , b = , f10 .5 , 3 23h ( l / m i c r o n s ) , and c = , f10 .5 , 4 20h ( s q . c m ) / m i l l i j o u l e s , 5 /, l x , l ox , 23ha refract ive index o f ( , 6 f10 .5 , l h , , f10 .5 , l h ) , 5x, 3hand, /, l l x , 7 17hthe t h i c k n e s s is , f10 .5 , l x , 7hmicrons re t urn

C C c a run stmt ( o n l y one internal form)

c f o r t h e user t h i s s t m t h a s two forms. b u t t h e p a r s e r c o n v e r t s bo th c o f them t o t h e same i n t e r n a l form. c a l s o t h i s i s t h e on ly s t m t where t h e v a l u e o f a parameter i n t h e c s t m t d e c i d e s t h e c o n t r o l f low i n t h e p r e t t y p r i n t e r

C

800 i templ = s t n m l s ( 1 ) i f ((0 . l e . i t e m p l ) .and. ( i t empl . le. 4 ) ) g o t o 805

write ( 6 , 802)

r e t u r n

C

802 f o r m a t ( / / , l x , 41ha run-statement w i t h an i n v a l i d parameter )

C 805 i f ( i t e m p l .ne. 0) g o t o 809

c hence t h e first kind o f run-stmt ( r u n ( = r u n 0)). so run , a l l

807 f o r m a t ( / / , l x , 27hrun t h e whole system t o g e t , / , l x , f, write ( 6 , 807)

1 48h l ) t h e normalized h o r i z o n t a l energy d i s t r i b t i o n , / , g x , 2 39hin t h e image of t h e mask r e s u l t i n g from, /, 9x, 3 41ha uniform i l l u m i n a t i o n on t h e mask wi th a , /, 9x , 4 l g h t o t a l o f 1.0 mj/cm2, /, 6x, 5 37h2) t h e s t a n d a r d b l each ing o f t h e c h i p , / , 6x, 6 35h3) t h e actual b l each ing o f t h e c h i p , /, 6x , 7 46h4) t h e e t ched o u t c o n t o u r s o f t h e p h o t o r e s i s t r e t urn

C

c now p r i n t o u t t h e proper o u t p u t f o r each o f t h e p a r t s o f t h e system c t h a t is t o be run

809 go to (810 , 820, 830, 8401, i t empl C

Page 115: REPORT THE DESIGN OF A SIMULATOR - EECS at UC Berkeley · Report -- on the Design -- of a Simulator Program ... and if the wafer is to be bak$d how lona, ... for the ztchin? process

Jun 21 03:30 1978 F i l e prpr /pp Page 5 101

225 226 227 228 229 230 23 1 232 233 234 235 236 237 238 239 240 24 1 242 243 244 245 246 247 248 249 250 25 1 252 25 3 254 255 256 257 258 259 260 26 1 262 26 3 264 265 266

810 write ( 6 , 811) 811 f o r m a t ( / / , l x , 32hrun t h e imaging subsystem t o g e t , 1, x ,

1 2 39hin t h e image o f t h e mask r e s u l t i n g from, L , 6x , 3 4 l h a uniform i l l u m i n a t i o n on t h e mask w i t h a i 1 , 6x , 4 1 9 h t o t a l of 1 .0 mj/cm2

45hthe normalized h o r i z o n t a l energy d i s t r i b u 4 i o n , / , 6 x ,

r e t u r n I C

821 f o r m a t ( / / , l x , 40hrun t h e s t a n d a r d b l each ing subsystem f r , 820 write ( 6 , 821) 4

d

1 21h f u r t h e r computat ions 1 I r e t u r n

I C I

831 f o r m a t ( / / , lx , 4 l h f i n d o u t t he a c t u a l b l each ing i n t h e h i p 830 write ( 6 , 831) 1 r e t u r n

C

841 format ( I / , l x , 45hfind o u t t h e e tch-contours o f t h e ph t o r e s i s t ) 840 write ( 6 , 841)

C

ret urn C C c a l aye r s - s tmt ( o n l y one k ind )

900 write ( 6 , 901) 901 f o r m a t ( / / , l x , 35hthe c h i p h a s t h e fo l lowing l a y e r s - )

c (910) on ly one kind write ( 6 , 911) ( s t n m l s ( i t e m p l 1 , i t empl = 1 , nminst 1

911 f o r m a t ( l x , 5x , 38ha s u b s t r a t e w i t h r e f r a c t i v e index o f ( , 1 f10 .5 , 2h , , f10.5, l h ) , / , 1x,18x, 2 2lhand o t h e r l a y e r s w i t h , /, l x , 22x, 3 1 6 h r e f r a c t i v e index , 8x , 20h th ickness i n micPons, /, 4 ( l x , 18x, l h ( , f10.5, l h , , f10 .5 , l h ) , 8x , f10 .5)

r e t u r n C

C c a trial-stmt

1000 write ( 6 , 1001) ( s t n m l s ( i t e m p l ) , i t empl = 1 , nmins t ) 1001 f o r m a t ( / / , l x , 37ha t r i a l - s t a t e m e n t w i t h t he parameters ,

1 1, ( 6 x , 10f10.5) 1 r e t u r n end

Page 116: REPORT THE DESIGN OF A SIMULATOR - EECS at UC Berkeley · Report -- on the Design -- of a Simulator Program ... and if the wafer is to be bak$d how lona, ... for the ztchin? process

Jun 21 03:43 1978 F i l e p r p r l t p p Page 1 102

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56

C

C

C C

C

C C C

C C

C

C C

C

C

C

C

C C C

C

-1 s u b r o u t i n e t e s t p p

a d r i v e r t o tes t t h e p r e t t y - p r i n t e r s u b r o u t i n e by s i m u l a t i n g ( i . e . f a k i n g ) t h e i n p u t t o i t ( r a the r , by s i m u l a t i n g the c a l l i n g environment f o r i t ) . 4- - 1 e x c e ; t Fay t r ~ i - ~ t n - t , ~ w - l

~ v v 3 k - e e o u r - 5 t w t . j e r e

common /parsem/ i s t m t y , i s t k n d , s t n m l s ( 2 5 ) , nmins t , nmpntr

dimension i s t f l ( 10) t h i s i s t f l ( l 0 ) a r r a y h o l d s t h e number o f d i f f e r e n t f l a v o u r s t h a t a s t a t e m e n t o f t ype i s t m t y can have as i s t f l ( i s t m t y 1 i n s h o r t i s t f l ( i s t m t y ) is t h e number o f d i f f e r e n t k inds o f stmts o f type i s t m t y .

data i s t f l / 2 , 2 , 5 , 3, 2 , 2 , 1 , 1 , 1 , 1 / ~

2 nminst is used on ly i n stmts ( i s t m t y . i s t k n d = ) 1.2, and 5. hence f o r t h i s t e s t i t could be set t o , s a y , 14.

nminst = 14 I

do 10 i templ = 1 , 25 r i t m p l = i templ s tnmls( i temp1) = r i tmp l

10 con t inue

do 20 i s t m t y = 1 , 10 i templ = istf l( i s t m t y )

do 15 i s t k n d = 1 , i t empl

on ly i n t h e devmodel s t m t ( e t c h r a t e cu rve ... w i l l t h e v a l u e o f stnmls(1) w i l l have a n immediate effect . hence f o r t h a t stmt , ( i s t m t y . i s t k n d = ) 5.2, we need -

i f ( ( i s t m t y .eq. 5 ) .and. ( i s t k n d .eq. 2 ) ) stnmls(1) = 14. c a l l p r p r s t

15 con t inue 20 con t inue

C C c f o r t h e run-stmt a s p e c i a l t r e a t m e n t is t o be g iven because it h a s c a p r e t t y p r i n t e d form depending on t h e v a l u e o f t h e parameter g iven c i n i t . hence these s p e c i a l s t a t e m e n t s

i s t m t y = 8 s t n m l s ( 1 ) = -1 .o c a l l p r p r s t stnmls(1) = 0.0 ca l l p r p r s t stnmls(1) = 1.0 ca l l p r p r s t s t n m l s ( 1 ) = 2.0 c a l l p r p r s t s t m d i ) = 3.0 ca l l p r p r s t s t n m l s ( 1 ) = 4.0 c a l l p r p r s t

Page 117: REPORT THE DESIGN OF A SIMULATOR - EECS at UC Berkeley · Report -- on the Design -- of a Simulator Program ... and if the wafer is to be bak$d how lona, ... for the ztchin? process

Jun 21 03:43 1978 F i l e p r p r / t p p Page 2

57 58 59 60 61 62 63 64 65 66

C C c and f i n a l l y t h e end-of-input s t a t e m e n t .

i s t m t y = 0 i s t k n d = 1 ca l l p r p r s t

r e t u r n end

C

ml

103

Page 118: REPORT THE DESIGN OF A SIMULATOR - EECS at UC Berkeley · Report -- on the Design -- of a Simulator Program ... and if the wafer is to be bak$d how lona, ... for the ztchin? process

Jun 21 03:50 1978 F i l e macl/serrmOl Page 1

1 2 3 4 5 6 7 8 9 10 11 12 13 14

s u b r o u t i n e errmOl( n c f o r handl ing e r r o r s i n machine 1 c w r i t e s an error-message and r e t u r n s C

common /errlab/ l n o e r r

l o g i c a l l n o e r r

l n o e r r = .false.

wri te (6, 9000) n

r e t u r n end

C

C

C

9000 f o r m a t ( / / , l x , gh***-+-***, l ox , 20he r ro r i n machine( l )=b i5

104

Page 119: REPORT THE DESIGN OF A SIMULATOR - EECS at UC Berkeley · Report -- on the Design -- of a Simulator Program ... and if the wafer is to be bak$d how lona, ... for the ztchin? process

Jun

1 2 3 4 5 6 7 8 9 10 1 1 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56

21 03:52 1978 F i l e mac l / sub r in t e r2 Page 1

s u b r o u t i n e exlmbd c e x e c u t e s t h e lambda-stmt C

common /parsem/ i s t m t y , i s t k n d , s t n m l s ( 2 5 ) , nmins t , nmpntr

common / s p e c t r / mxnlmd, nmlmbd, r l ambd(5 ) , r e l i n t ( 5 ) C

C c ( i s t m t y = 1 ) assumed c o r r e c t from t h e c o n t e x t o f t h e cal c two k inds . 1 ) monochromatic, 2 ) multi-wavelength i l l u m i n

g o t o (100 , 2001, i s t k n d C c i s t k n d = 1 monochromatic

100 nmlmbd = 1 r l ambd(1 ) = stnmls(1) r e l i n t ( 1 ) = 1.0 r e t u r n

C c i s t k n d = 2 multi-wavelength c sub r fslmbd e n s u r e s t h a t <= 10 wavelengths are p r e s e n t

200 nmlambd = nminst/2 sumtmp = 0 .O

C c put t h e v a l u e s o f wavelengths , and t h e r e l a t i v e i n t e n s i t i e c t h e i n p u t i n t o t he proper place C

do 210 i templ = 1 , nmlmbd itemp2 = 2'itempl - 1 rlambd( i templ = stnmls( itemp2 r e l i n t ( i templ ) = stnmls( itemp2 + 1 1 sumtmp = sumtmp + r e l i n t ( i templ 1

210 con t inue C c now normal ize t he r e l a t i v e i n t e n s i t i e s C

do 220 i templ = 1 , nmlmbd r e l i n t ( i templ ) = r e l i n t ( i t empl )/sumtmp

220 con t inue C

re t u r n

end s u b r o u t i n e e x s y s t

c e x e c u t e s t he system-stmt

C

C

L i t i o n

s from

I

i common /parsem/ i s t m t y , i s t k n d , s t n m l s ( 2 5 ) , nminst , nmPn/tr

t o s p f r ( 1 common /img2pr/ r n a ( 5 , 2 ) , mxnwtf, nmwtfc(51, rmt fwt (5 ,2 common /imgsys/ imspro, imscon, imsyty ,

common /img3co/ sepmtc, c l , c2 t C

i C c branch accord ing t o t h e kind o f t h e i n p u t s t m t

g o t o (100, 200, 300, 400, 5001, i s t k n d C c a p r o j e c t i o n type imaging system ( k i n d = i s t k n d = 1 , 2 , 3)

100 imsyty = imspro r n a ( l , 1 ) = s t n m l s ( 1 )

105

Page 120: REPORT THE DESIGN OF A SIMULATOR - EECS at UC Berkeley · Report -- on the Design -- of a Simulator Program ... and if the wafer is to be bak$d how lona, ... for the ztchin? process

Jun 21 03:52 1978 F i l e mac l / sub r in t e r2 Page 2 106

57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112

nmwtfc (1 ) = 0 t o s p f r ( 1 ) = -1 r e t u r n

C

200 imsyty = imspro r n a ( 1 , l ) = stnmls(1)

nmwtfc(1) = 0 t o s p f r ( 1 ) = -1 r e t u r n

c s t n m l s ( 2 ) = wavelength ----- ignored i n t h i s v e r s i o n

C 300 imsyty = imspro

r n a ( 1 , l ) = stnmls(1)

nmwtfc(1) = s t n m l s ( 3 ) t o s p f r ( 1 ) = s t n m l s ( 4 )

c s t n m l s ( 2 ) = wavelength ----- ignored i n t h i s v e r s i o n

C

c now set up the m t f weight f a c t o r s acco rd ing t o t h e i n p u t i temp2 = nmwtfc(1) i f ( ( 0 .It. i temp2) .and. ( i temp2 . le . mxnwtf)) go to 305 ca l l errmOl( 70 1

C 305 do 310 i t e m p l = 1 , i temp2

310 con t inue rmtfwt( I , i t empl = stnmls( i templ + 4 1

C re t urn

C c a c o n t a c t t ype imaging system

400 imsyty = imscon sepmtc = stnmls(1)

r e t u r n c c l , and c2 are n o t d i s t u r b e d i f n o t s p e c i f i e d

C 500 imsyty = imscon

sepmtc = stnmls(1) cl = s t n m l s ( 2 ) c2 = a tnml3(3) r e t urn end s u b r o u t i n e exob je

c e x e c u t e s t h e ob jec t - s tmt C

C common /parsem/ i s t m t y , i s t k n d , s t n m l s ( 2 5 ) , nmins t , nmpntr

common /objmsk/ mline , mspace, mlnspa, maskty, r l w , r s w C

C c branch acco rd ing t o t he k ind o f t h e i n p u t s t m t

g o t o (100 , 200, 3001, i s t k n d C

c a l i n e 100 maskty = mline

r l w = s t n m l s ( 1 ) r e t u r n

C

Page 121: REPORT THE DESIGN OF A SIMULATOR - EECS at UC Berkeley · Report -- on the Design -- of a Simulator Program ... and if the wafer is to be bak$d how lona, ... for the ztchin? process

107

Jun 21 03:52 1978 File macl/subrinter2 Page 3

113 114 115 116 117 118 119 120 121 122

200 maskty = mspace rsw = stnmls(1) ret urn

C 300 maskty = mlnspa

rlw = stnmls(1) rsw = stnmls(2) ret urn

end C

Page 122: REPORT THE DESIGN OF A SIMULATOR - EECS at UC Berkeley · Report -- on the Design -- of a Simulator Program ... and if the wafer is to be bak$d how lona, ... for the ztchin? process

Jun 21 04:OO 1978 F i l e i fm234 / s i f c l Page 1 108

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56

C C C C C

C

C

C

C C

C

C C

s u b r o u t i n e exs tmt t h i s s u b r execu te s t h e c u r r e n t l y recognized i n p u t s t a t e m e n t by c a l l i n g the a p p r o p r i a t e r o u t i n e . because o f t h e e x t e n s i v e e r ror -checking by the p a r s e r s y n t a c t i c e r r o r s are n o t expected and hence no t cons ide red h e r e

common /parsem/ i s t m t y , common / e n d f l 2 / nos tmt ,

l o g i c a l nostmt , common /errlab/ l n o e r r

l o g i c a l l n o e r r

i s t k n d , s t n m l s ( 2 5 ) , nmins t , nmpntlr lxused

lxused

a g i a n t case-stmt w i t h t h e h e l p o f if-stmts, and a computed go to i f ( i s t m t y .eq. -1) go to 2 i f ( i s t m t y .eq. 0) go to 1

g o t o (100 , 200, 300, 400, 500, 600, 700, 800, 900, 1000) i s t m t y

t h e i n v a l i d - s t m t . s imple hence executed here 2 l n o e r r = .false.

write ( 6 , 9000) 9000 format ( l x , 5x , 33hhence execu t ion o f t h e fo l lowing ,

1 24hs ta tements is suppres sed , 1 , l x , 2 5(1Oh*****----- 1)

r e t u r n C c t he end-of-input-stmt-stream s t m t . s imple hence executed here

1 nostmt = . t r u e . r e t u r n

C

C c a lambda-stmt

100 ca l l exlmbd r e t u r n

200 cal l exexpo ret urn

c a system-stmt 300 c a l l exsyst

r e t u r n c an ob jec t - s tmt

400 c a l l exobje r e t u r n

c a devmodel-stmt 500 ca l l exdvmo

ret urn c a devtime-stmt

600 ca l l exdvtm r e t u r n

c a resmodel-stmt 700 c a l l exrsmo

r e t u r n

c a n exposure-stmt

c a run-stmt

Page 123: REPORT THE DESIGN OF A SIMULATOR - EECS at UC Berkeley · Report -- on the Design -- of a Simulator Program ... and if the wafer is to be bak$d how lona, ... for the ztchin? process

Jun 21 04:OO 1978 F i l e if’m234/sifcl Page 2

57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101

800 c a l l exrun r e t u r n

c a l aye r s - s tmt 900 c a l l ex l aye

r e t u r n

1000 c a l l e x t r i a r e t u r n

c a trial-stmt

end s u b r o u t i n e exrun

e x e c u t e s t he run-stmt i .e . r u n s a l l t he machines, or r u n s mcl , or mc2, o r mc3, of. mc4 s e p a r a t e l y I

common /parsem/ i s t m t y , i s t k n d , s t n m l s ( 2 5 ) , nmins t , nmpnkr

!

I

i t empl = stnmls(1) i f ( i t empl .ne. 0) g o t o 10

cal l runmcl ca l l runmc2 c a l l runmc3 c a l l runmc4 r e t u r n

10 i f ( ( 1 . le. i t e m p l ) .and. ( i t empl . l e . 4 ) ) g o t o 20 c a l l e r rmol( 30 ) r e t u r n

20

100 C

C 200

C

300

C 400

g o t o (100, 200, 300, 4001, i t empl

c a l l runmcl r e t u r n

c a l l runmc2 r e t u r n

c a l l runmc3 r e t urn

c a l l runmc4 r e t u r n

C end

Page 124: REPORT THE DESIGN OF A SIMULATOR - EECS at UC Berkeley · Report -- on the Design -- of a Simulator Program ... and if the wafer is to be bak$d how lona, ... for the ztchin? process

Jun 21 04:05 1978 F i l e if’m234/sifc2 Page 1 110

1 2 3 4 5 6 7 0 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25

27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51

26

s u b r o u t i n e errm( macnum, ie r rnm ) c f o r handl ing e r r o r s i n t h e machines c sets up a f l ag , writes an error-message, and r e t u r n s C

common /errlab/ l n o e r r

l o g i c a l l n o e r r

l n o e r r = . fa lse .

write ( 6 , 9000) macnum, ierrnm

C

C

C

9000 f o r m a t ( / / , lx, gh***-+-***, l o x , 17he r ro r i n machine( , i 2 ,

C

C

C

C

C C

C

C C C

C

C

C

C

1 4h I = , i 5 1 r e t u r n end s u b r o u t i n e exrsmo

execu te s t h e r emode l - s tmt

common /parsem/ i s t m t y , i s t k n d , s t n m l s ( 2 5 ) , nminst , nmpndr

common /resmod/ r s lmbd , p r t h i c , p r p a r a , p rpa rb , p r p a r c common /resmo2/ p rpa rn , p rpa rk common / c h i p a r / mxnlyr, nmlyrs , r i n d e x ( 5 , 4 , 2 ) , t h i c k ( 4 ) common / r e s p a r / wlabc(5 ,4)

( i s t m t y = 7 ) assumed c o r r e c t from the c o n t e x t o f t h e c a l l on ly one k ind a t p r e s e n t

rslmbd = stnmls( 1 p r p a r a = stnmls( 2 1 prpa rb = stnmls( 3 p r p a r c = s tnmls ( 4 1 prpa rn = stnmls( 5 1 prpa rk = stnmls( 6 1 p r t h i c = stnmls( 7

put t h i s i n fo rma t ion i n t h e o p e r a t i o n a l parameters o f t h e machines. ----- on ly one wavelength a t p r e s e n t ----- t h i c k ( 1 ) = p r t h i c

wlabc(1 , 1) = rslmbd

wlabc(1 , 2 ) = prpa ra wlabc(1 , 3 ) = prparb wlabc(1 , 4 ) = p r p a r c

----- t e m p o r a r i l y on ly -----

r e t u r n end

Page 125: REPORT THE DESIGN OF A SIMULATOR - EECS at UC Berkeley · Report -- on the Design -- of a Simulator Program ... and if the wafer is to be bak$d how lona, ... for the ztchin? process

Jun 21 04:Og 1978 F i l e i fm234/s i fc3 Page 1 111

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56

C C

C

C C

C C

C C

C C

C C C C

s u b r o u t i n e ex laye e x e c u t e s t h e l aye r s - s tmt

common /parsem/ i s t m t y , i s t k n d , s t n m l s ( 2 5 ) , nmins t , nmpntr

common / c h i p a r / mxnlyr , nmlyrs , r index( 5 , 4 , 2 ) , t h i c k ( 4

( i s t m t y = 9) n l a y e t = (nmins t /3) + 1

so n l a y e t = number of l a y e r s i n c l u d i n g t h e s u b s t r a t e bu t e p l u d i n g t h e p h o t o r e s i s t l a y e r now. nmlyrs = t o t a l number o f l a y e r s ( i n c l u d i n g t h e p r - l aye r anid t h e

assumed c o r r e c t from t h e c o n t e x t of t h e c a l l

s u b s t r a t e ) nmlyrs = n l a y e t + 1

a t l eas t t h e s u b s t r a t e should be s p e c i f i e d if ( ( 1 . l e . n l a y e t ) .and. ( n l a y e t . l e . (mxnlyr -1) ) ) gotc ca l l e r rm(2 , 10) r e t u r n

set up t h e v a r i o u s q u a n t i t i e s

t he s u b s t r a t e is a l s o d i s t i n g u i s h e d by a -ve t h i c k n e s s 100 t h i c k ( nmlyrs = -1.0

r index( 1 , nmlyrs , 1 ) = stnmls( 1 r i n d e x ( 1 , nmlyrs , 2) = stnmls( 2

100

if no l a y e r o t h e r t han the s u b s t r a t e (and t h e p r - l aye r ) then r e t u r n i f ( n l a y e t .eq. 1 ) r e t u r n

now there i s a t least one l a y e r , o t h e r t h a n the s u b s t r a t e ( and the p r - l a y e r ) , p r e s e n t on t h e c h i p

iwvlen = 1 -- - i p a r s e = ( 3"nlayet - 1 )

do 190 i t e m p l : = 2 , n l a y e t - i-%ap--.h+er- ----I- .-

_, c - J -

- < _. * - - * ) ' * , , \_-

I - . . . -

iparse = iparse - 3 r index( iwvlen , i l aye r , 1 ) = stnmls( iparse + 1 r index( iwvlen , i l a y e r , 2 ) = stnmls( i p a r s e + 2 t h i c k ( i l a y e r ) = s tnmls( i p a r s e + 3

190 con t inue C

ret urn end s u b r o u t i n e e x t r i a

c e x e c u t e s t he trial-stmt C

common /parsem/ i s t m t y , i s t k n d , s t n m l s ( 2 5 ) , nmins t , nmpnkr C

c c o n l y one k ind

9000 f o r m a t ( / , lx, 33hnow, what is t o be done w i t h t h i s

( i s t m t y = 10) assumed c o r r e c t from t h e c o n t e x t o f t h e calli

write ( 6 , 9000)

Page 126: REPORT THE DESIGN OF A SIMULATOR - EECS at UC Berkeley · Report -- on the Design -- of a Simulator Program ... and if the wafer is to be bak$d how lona, ... for the ztchin? process

Jun 21 04:09 1978 F i l e i fm234/s i fc3 Page 2 112

57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104

200

C 210

C

220

C

1 16h t r i a l - s t a t e m e n t , 1, l x , 5(10h* ....-.... ) )

r e t u r n end s u b r o u t i n e exexpo

common /parsem/ i s t m t y , i s t k n d , s t n m l s ( 2 5 ) , nmins t , nmpntr e x e c u t e s t h e expo sure- s t m t

common / e x p o s 4 mxnmex, nmexpo, ncouex, dose l , dose2 , do common /dospar / dos

( i s t m t y = 2 ) assumed c o r r e c t from t h e c o n t e x t o f t h e c a l l two k inds . 1 ) s i n g l e exposure , 2 ) a series o f exposures

g o t o (100, 2001, i s t k n d

( i s t k n d = 1 ) a s i n g l e exposure

3e , d o s e s t

100 nmexpo = 1 ncouex = 0 dose l = stnmls( 1 1 dose = dose l

dose2 = dose l d o s e s t = dose l

dos = dose ret urn

c f o r t h e sake of un i fo rmi ty of t r e a t m e n t

C

C c ( i s t k n d = 2 ) a series of exposures

nmexpo = s tnmls ( 3 1 if ( ( 2 . l e . nmexpo) .and. (nmexpo . l e . mxnmex)) g o t o 210 ca l l e r rm(3 , 10) r e t u r n

dose l = s tnmls ( 1 dose2 = stnmls( 2 ) if ( ( 0.0 . l e . dose l 1 .and. ( dose .It. dose2 1) g o t o 220 c a l l e r rm(3 , 20) r e t u r n

temp = nmexpo temp = temp - 1 .O d o s e s t = (dose2 - d o s e l ) / temp dose = dose l ncouex = 0

dos = dose r e t urn end

Page 127: REPORT THE DESIGN OF A SIMULATOR - EECS at UC Berkeley · Report -- on the Design -- of a Simulator Program ... and if the wafer is to be bak$d how lona, ... for the ztchin? process

Jun 21 04:14 1976 F i l e i fm234 / s i f c4 Page 1

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47

49 50 51 52 53 54 55 56

48

s u b r o u t i n e exdvmo

common /parsem/ i s t m t y , i s t k n d , s t n m l s ( 2 5 ) , nmins t , nmpnkr

common / e r p a r a / k e r s p e , k e r f u n , k e r c u r , e t c h e l , e t c h e 2 , e t che3 common / e r p a r 2 / common / e t h p a r / l a b e l ( 2 0 1 , t o u t , nou t , e l , e 2 , e3

c e x e c u t e s t h e devmodel(=etchmodel=etchrate)-stmt C

C

mxnerd, mxnerp, n e r d i v , n e r p t s , e t c h r a ( 2 1 )

C c ( i s t m t y = 5 ) assumed c o r r e c t because o f t h e c o n t e x t o f t he c two k inds . 1 ) a n a l y t i c f u n c t i o n , 2 ) curve (numer ica l valu c e q u i d i s t a n t p o i n t s )

g o t o (100, 200) , i s t k n d C c an a n a l y t i c f u n c t i o n

e t c h e l = stnmls( 1 e t che2 = stnmls( 2 e t c h e 3 = stnmls( 3

100 kerspe = kerfun

C c ----- f o r t h e i n t e r f a c e , a t p r e s e n t -----

e l = etchel e2 = e tche2 e3 = e tche3 r e t u r n

C c a cu rve s p e c i f i c a t i o n

200 ke r spe = kercu r i templ = stnmls( 1 1 n e r p t s = ( nminst - 1 1 n e r d i v = n e r p t s - 1

i f ( n e r p t s .eq. i t e m p l ) g o t o 210 c a l l e r rm(4 , 30) r e t u r n

C

C

c a l l 3s a t

210 i f ( ( 2 .le. n e r p t s ) .and. ( n e r p t s . le. mxnerp)) g o t o 220 c a l l e r rm(4 , 40) re t u r n

C 220 do 230 i t e m p l = 1 , n e r p t s

230 con t inue e t c h r a ( i t empl ) = stnmls( i templ + 1

C re t urn end s u b r o u t i n e exdvtm

c e x e c u t e s t h e devtime-stmt c ( v e r y s i m i l a r t o t he exposure-stmt i .e. timer d i a l settings) C

common /parsem/ i s t m t y , i s t k n d , s t n m l s ( 2 5 ) , nmins t , nmpntr

common / e t h p a r / l a b e l ( 2 0 1 , t o u t , n o u t , e l , e 2 , e3 common /etchtm/ mxneht, nmehtm, ncoeh t , e h t m l , ehtm2, eh tm,eh tms t

C

C

c ( i s t m t y = 6 ) assumed c o r r e c t from the c o n t e x t o f t h e c a l l

Page 128: REPORT THE DESIGN OF A SIMULATOR - EECS at UC Berkeley · Report -- on the Design -- of a Simulator Program ... and if the wafer is to be bak$d how lona, ... for the ztchin? process

114 Jun 21 04:14 1978 F i l e i fm234/sifc4 Page 2

57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97

f c two k inds . 1 ) s i n g l e t ime, 2 ) a se r ies o f ( e t c h i n g ) time

C I c ( i s t k n d = 1 ) a s i n g l e e tch time h a s been s p e c i f i e d

go to (100 , 2001, i s t k n d

100 nmehtm = 1 ncoeht = 0 ehtml = stnmls( 1 ehtm = ehtml ehtmst = 0.0

t o u t = ehtm nout = nmehtm r e t urn

C

C c ( i s t k n d = 2 ) a series o f e t c h i n g p r o f i l e s wanted

200 nmehtm = stnmls( 3 ) i f ( ( 2 . le . nmehtm) .and. (nmehtm .le. mxneht)) go to 210 c a l l e r rm(4 , 10) r e t u r n

C 210 ehtml = stnmls( 1

ehtm2 = stnmls( 2 i f ( ( 0 . 0 . le . eh tml) .and. (ehtml .It. ehtm2)) go to 220 c a l l errm(4, 20) r e t u r n

C

220 temp = nmehtm temp = temp - 1 .O ehtmst = (ehtm2 - ehtml) / temp ehtm = ehtml ncoeht = 0

C

c ----- t emporar i ly on ly ----- c ----- a t p resen t on ly -two parameter con t ro l - is implemented c ----- i n s t e a d of t h e three parameter c o n t r o l by (ehtml, ehtm2, c ----- ehtmst) . t h e two parameters used p r e s e n t l y are t o u t = ehtml c ----- and nout = (ehtm2 - ehtml) /eh tmst + 1

t o u t = ehtml nout = nmehtm r e t u r n end

Page 129: REPORT THE DESIGN OF A SIMULATOR - EECS at UC Berkeley · Report -- on the Design -- of a Simulator Program ... and if the wafer is to be bak$d how lona, ... for the ztchin? process

Jun 21 04:20 1978 F i l e d i f f u s i o n / t r i a l l Page 1

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56

C C

C C

C C C C

C C

C C C C C C

C C C C C C

C

C C

sub rou t ine e x t r i a execu te s t h e trial-stmt. t h i s is a mul t ipurpose , growing r o u t i n e a t p r e s e n t t h e first argument t e l l s (argl = 1 ) run d i f f u s i o n machine w i t h sigma = arg2 ( a r g l = 2 ) s e t t h e f lags f o r ou tput o p t i o n s on machine4 (e tch mc)

arg2 = m4flgl = no. o f s t r i n g p t s e t c . and chkr p t s t o t a l a rg3 = m4flg2 = cards f o r etch p l o t arg4 = m4flg3 = calcomp p l o t f o r e t c h p r o f i l e

(m4flg3 has no (implem) e f f e c t a t l p r e s e n t ) (a rg l = 3 ) set t h e output o p t i o n s o f machines 1 , 2 , and 3

arg2 = mlf lg l = i n t e n s i t y p a t t e r n ( b u t see mlf lg3) arg3 = mlflg2 = m t f p a t t e r n ( b u t see mlf lg3) arg4 = mlf lg3 = cards ( c a r d s w i l l be punched only f o r t h e

p a t t e r n s reques ted) a rg5 = m2flgl = m vs . energy and z a r r a y a rg6 = m3flgl = m vs . x and z a r r a y

( f o r a l l t h e f l a g s 0 means no , and 1 means yes) (argl = 4 ) tamper w i t h t h e m-d i sc re t i za t ion etc.

a rg2 = nendiv arg3 = xxxxx (which is somehow r e l a t e d t o t h e m-spacings,

t h a t somehow is del tm = xxxxx/ ( f loa t (nendiv) - 1.0)

common /parsem/ i s t m t y , i s t k n d , s tnmls (25) , nminst , nmpntr common /flaga / mlf lg l , mlf lg2 , mlflg3, m2flg1, m3flgl common / f l a g b / m4flg1, m4flg2, m4flg3 common /simpar/ n p r l y r , n p r p t s , nendiv, de l tm, d e l t z

i f ( iargl = 1 ) ca l l t h e d i f f u s i o n program i f ( i a r g l .ne. 1 1 goto 2 sigma = s tnmls(2) write ( 6 , 9001) sigma

9001 f o r m a t ( / / , l x , 25h th i s t r i a l s t m t f i n d s t h e , 1, l x , 5x, 1 26hm-values a f t e r a d i f f u s i o n , /, l x , 5x, 2 13hwith sigma = , f10.5, 8h microns) ca l l d i f f u s ( sigma ret urn

C c if ( a r g l = 2 ) se t t he output o p t i o n s o f machine 4 (etch machine)

2 i f ( i a r g l .ne. 2 ) go to 3 m4flgl = s tnmls (2 ) m4flg2 = stnmls(3) m4flg3 = stnmls(4) write ( 6 , 9002) m4flg1, m4flg2, m4flg3

1 9hm4flgl = , i 3 , 1 , 6x, 9002 f o r m a t ( / / , l x , 30h th i s trial-stmt sets t h e f l a g s , /, 6x,

2 9hm4flg2 = , 13 , /, 6x, 3 9hm4flg3 = , i 3

r e t u r n C c (iargl = 3 ) set the output o p t i o n s o f machines 1 , 2 , and

3 i f ( ia rg l .ne. 3 ) go to 4 mlflgl = s tnmls (2 ) mlflg2 = s tnmls (3 )

3

Page 130: REPORT THE DESIGN OF A SIMULATOR - EECS at UC Berkeley · Report -- on the Design -- of a Simulator Program ... and if the wafer is to be bak$d how lona, ... for the ztchin? process

116

Jun 21 04:20 1978 File diffusion/triall Page 2

57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85

mlflg3 = stnmls(4) m2flgl = stnmls(5) m3flgl = stnmls(6) write (6, 9003) mlflgl, mlflg2, mlflg3, m2flg1, m3flgl

9003 format(//, lx, 30hthis trial-stmt sets the flags, /, 6x, 1 9hmlflgl = , 13, 5h, , 9hmlflg2 = , i3, 5h, 7

2 ghmlflg3 = , i3, /, 6x, 3 9hm2figi = , i3, /, 6x, 4 9hm3flgl = , i3) return

C c (iargl = 4) tamper with the m-discretization etc.

4 if (iargl .ne. 4 ) goto 5 nendiv = stnmls(2)

deltm = xxxxx / (float( nendiv ) - 1.0 write (6, 9004) nendiv, xxxxx, deltm

xxxxx = stnmls(3)

9004 format(//, lx, 28hthis trial-stmt tampers with, /, 6x, 1 43hm-discretization (in common block /simpar/ 2 ghnendiv = , 15, 5h, , 8hxxxxx = , f10.5, 3 44hhence deltm = xxxxx/(float(nendiv) - 1.0) return

C c if no match in the above then

5 write (6, 9010) iargl 9010 format(//, lx, 4Ohno action is defined for the trial-stmt, /, 6x,

return end

1 16hfor arguementl = , i5)

Page 131: REPORT THE DESIGN OF A SIMULATOR - EECS at UC Berkeley · Report -- on the Design -- of a Simulator Program ... and if the wafer is to be bak$d how lona, ... for the ztchin? process

117

Source Code

for

t he Simulated Machines ( i . e . t h e Core of t h e Program)

Page 132: REPORT THE DESIGN OF A SIMULATOR - EECS at UC Berkeley · Report -- on the Design -- of a Simulator Program ... and if the wafer is to be bak$d how lona, ... for the ztchin? process

Jun 21 04:27 1978 File macl/sinimOl Page 1 118

1 2 3 4 5 6 7 8 9 10 1 1 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56

C C

C

C

C

C

C

C C C

C

C

C

C

C C C

C

C C

subroutine inim0l this initializes machine( 1) the horiz. inten. finding mabhine

common /errlab/

common /math /

common /spectr/ common /objmsk/ common /imgsys/ common /img2pr/ common /img3CO/

common /fouser/ common /fouse2/ common /lenspa/

common /horimg/

logical

lnoerr

pi, t2bypi

mxnlmd, nmlmbd, rlambd(5) , relint(5) mline, mspace, mlnspa, maskty, rlw, raw imspro, imscon, imsyty, tospfr ( 5 1 rna(5,2), mxnwtf, nmwtfc(5), rmtfwt(5,21) sepmtc, cl, c2

mxnmfr, nmfrcm, fsfrqa(ll), fsfrqn(l1) fsamsk(ll), fsaimg(l1)

vc, dlmtfn( 11 ) , actmtf ( 1 1 I ~

j deltax, mxngdv, mxngpt, nmgrdv, nmhpts,h&rint(51)

lnoerr

initializes the various constants of the system ----- temporarily only ----- lnoerr = .true.

pi = 3.14 159265358979 t2bypi = 2.0 / pi

mxnlmd = 5 nmlmbd = 1 rlambd(1) = 0.4047 relint(1) = 1.0

mline = 1 mspace = 2 mlnspa = 3 maskty = mlnspa rlw = 1 .O rsw = 1 .O

imspro = 1 imscon = 2 imsyty = imspro rna(1, 1) = 0.125 mxnwtf = 21 nmwtfc(1) = 0

- A 1 I , ' hence rmtfwt( lo', 11 ),,need not be initialized. for the contact type system we have to initialize - cl = 0.25 c2 = 2.00

mxnmfr = 1 1 nmfrcm = 1 1

vc need not be initialized

Page 133: REPORT THE DESIGN OF A SIMULATOR - EECS at UC Berkeley · Report -- on the Design -- of a Simulator Program ... and if the wafer is to be bak$d how lona, ... for the ztchin? process

Jun 21 04:27 1978 F i l e macl/sinimOl Page 2

57 58 59 60 61 62 63 64 65 66

C C d e l t a x = 0.1

mxngdv = 50 mxngpt = mxngdv + 1 nmgrdv = 40

c since t h e g r i d p o i n t s are t o be a t t h e midpoin ts of t h e dJ c a t p r e s e n t , nmhpts = nmgrdv

nmhpts = nmgrdv

r e t u r n C

67 end

v i s ions

Page 134: REPORT THE DESIGN OF A SIMULATOR - EECS at UC Berkeley · Report -- on the Design -- of a Simulator Program ... and if the wafer is to be bak$d how lona, ... for the ztchin? process

Jun

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56

21 04:32 1978 F i l e ifm234/sinim234 Page 1 120

C C C C

C

C

C

C C C C C

C

C

C C

C

C

C

C

C C

C

C

s u b r o u t i n e in im i n i t i a l i z e s machines 2 , 3 , and 4 ----- a t p r e s e n t adapted from mike-s r o u t i n e s ----- f o r t h i s v e r s i o n on ly -----

common /resmod/ rs lmbd, p r t h i c , p r p a r a , p r p a r b , p r p a r c common /resmo2/ p rpa rn , p rpa rk common / c h i p a r / mxnlyr, nmlyrs , r i n d e x ( 5 , 4 , 2 ) , t h i c k ( 4 ) common / r e s p a r / wlabc( 5 , 4 ) common /s impar/ n p r l y r , n p r p t s , nendiv , de l tm , d e l t z common /exposu/ mxnmex, nmexpo, ncouex, d o s e l , dose2, d o s e , d o s e s t common /dospar / dos

common / e r p a r a / k e r s p e , k e r f u n , k e r c u r , e t c h e l , e t c h e 2 , e t che3 common / e rpa r2 / mxnerd, mxnerp, n e r d i v , n e r p t s , e t c h r a ( 2 1 ) common / e t h p a r / l a b e l ( 2 0 ) , t o u t , n o u t , e l , e 2 , e3 common /etchtm/ mxneht, nmehtm, ncoeh t , eh tml , ehtm2, ehtm,ehtmst

common / c o n t r l / mxnmfr, icase, sigma, dflmbd common /flaga / m l f l g l , m l f l g 2 , m l f l g 3 , m2flg1, m3flgl common / f l a g b / m4flgl , m4flg2, m4flg3

d a t a l a b e l / 10h .........., 19*10h /

----- n o t a l l q u a n t i t i e s i n i t i a l i z e d h e r e need be i n i t i a l i z e d ----- ----- adapted from mike-s program ----- /resmod/ -

rslmbd = 0.4047 p r t h i c = 0.80 p r p a r a = 1.055 p rpa rb = 0.094 p r p a r c = 0.02

/resmo2/ - - prpa rk can be l e f t u n i n i t (because i t is c a l c u l a t e d from t h e - a and b parameters o f t h e p r ) bu t ...

prpa rn = 1.70

p rpa rk = -0.02

/ c h i p a r / - mxnlyr = 4 nmlyrs = 2

r index( 1 , 1 , 1 ) = prparn r i n d e x ( 1 , 1 , 2 ) = prpark r i n d e x ( l , 2 , 1 ) = 5.613 r i n d e x ( l , 2 , 2 ) = -0.19

t h i c k ( 1 ) = p r t h i c - t h i c k ( 2 ) is t h e s u b s t r a t e t h i c k n e s s i n t h i s d e f a u l t i - ch ip -conf igu ra t ion . hence i t may be l e f t u n i n i t , b u t .I. t h i c k ( 2 ) = -1.0

/ r e s p a r / - w l a b c ( 1 , l ) = rslmbd

Page 135: REPORT THE DESIGN OF A SIMULATOR - EECS at UC Berkeley · Report -- on the Design -- of a Simulator Program ... and if the wafer is to be bak$d how lona, ... for the ztchin? process

121 J un

57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112

21 04:32 1978 F i l e ifm234/sinim234 Page 2

C C

C

C

C C

C C C C

C C

C

C C

C

C

C C

/s impar/ - n p r l y r = 50 n p r p t s = n p r l y r + 1 nendiv = 15 temp = nendiv del tm = O.4/(temp - 1 .O) temp = n p r l y r d e l t z = t h i c k ( 1 ) / temp

/ e x p o s 4 - mxnmex = 11 nmexpo = 1 dose l = 50.0 dose2 = dose l dose = dose l d o s e s t = dose l

/dospar / - dosmax g e t s decided i n machine 2 from /s impar / . (nendiv and del tm) e tc .

dos = dose

/erpara/ - ker fun = 1 k e r c u r = 2 ke r spe = kerfun e t c h e l = 5.27 e t che2 = 8.19 e t che3 = -12.5

/ e rpa r2 / - mxnerd = 20 mxnerp = mxnerd + 1 n e r d i v = 0 n e r p t s = nerd iv + 1 e t c h r a ( 1 ) = -1.0

/ e t h p a r / - ----- l a b e l ( 2 0 ) is i n i t i a l i z e d by a d a t a s t a t emen t t o u t = 20.0

a c t u a l l y t o u t = /etchtm/.ehtml nout = 4

a c t u a l l y nout = /etchtm/ .nmehtm e l = e t c h e l e2 = e tche2 e3 = e tche3

/e tchtm/ - mxneht = 21 nmehtm = 4 ehtml = 20.0 ehtm2 = 4.0 ehtml

Page 136: REPORT THE DESIGN OF A SIMULATOR - EECS at UC Berkeley · Report -- on the Design -- of a Simulator Program ... and if the wafer is to be bak$d how lona, ... for the ztchin? process

122

Jun 21 04:32 1978 F i l e ifm234/sinim234 Page 3

113 114 C 115 C

116 C 117 C 118 C

119 120 121 122 123 C 124 C 125 126 127 128 129 130 C 131 C

132 133 134 135 136

ehtm = ehtml

/horimg/ - is i n i t i a l i z e d i n s u b r inim0l

mike-s new common b locks e tc . (march 1 1 , 1978) / c o n t r l / -

mxnmfr = 21 _ - , I

icase = 2 sigma = 0.8 dflmbd 0.5

/ f l a g a / - m l f l g l = 0 mlf lg2 = 0 ml f lg3 = 0 m2flg1 = 0 m3flgl = 0

/ f l a g b / - m4flgl = 0 m4flg2 = 0 m4flg3 = 0 r e t u r n end

Page 137: REPORT THE DESIGN OF A SIMULATOR - EECS at UC Berkeley · Report -- on the Design -- of a Simulator Program ... and if the wafer is to be bak$d how lona, ... for the ztchin? process

Jun

1 2 3 4 5 6 7 8 9 10 1 1 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56

21 04:39 1978 F i l e macl/subrimagel Page 1

C

C C C C

C C

C

C

C

C

C

C C C

s u b r o u t i n e runmcl r u n s machine1 i . e . t h e h o r i z o n t a l image machine ~

t h e p r i n c i p a l o u t p u t o f t h i s machine is ( 1 ) t h e h o r i z o n t a l image p r o f i l e f o r u n i t i l l u m i n a t i o n on + a s k , ( 2 ) t h e i n p u t v a r i a b l e s , and ( 3 ) t h e i n t e r m e d i a t e s t a t e - v a r i a b l e s o f i n t e r e s t t o t h e u s on ly ( 1 ) and ( 2 ) need be preserved f o r t h e res t o f t h e pro

common /e r r lab / l n o e r r

common /math / p i , t 2byp i I

common / s p e c t r / mxnlmd, nmlmbd, r l ambd(5 ) , r e l i n t ( 5 ) common /objmsk/ ml ine , mspace, mlnspa, maskty, r l w , rsw common /imgsys/ imspro, imscon, imsyty , t o s p f r ( 5 ) common /img2pr/ r n a ( 5 , 2 ) , mxnwtf, nmwtfc(5) I rmtfwt(5 ,21) common /img3co/ sepmtc, cl , c2

common / fouse r / mxnmfr, nmfrcm, f s f r q a ( l l ) , f s f r q n ( l 1 ) common /fouse2/ fsamsk( 1 1 ) , fsaimg( 1 1 ) common / l enspa / v c , d lmtfn( 11 1 , actmtf ( 11

common /horimg/ d e l t a x , mxngdv, mxngpt, nmgrdv, nmhpts ,hor in t (51)

l o g i c a l l n o e r r

first clear the h o r i z o n t a l image

do 10 i g p t = 1 , mxngpt h o r i n t ( i g p t = 0.0

10 con t inue C c now f o r each wavelength accumulate t h e h o r i z o n t a l image i n t e n s i t y c i n h o r i n t a r r a y c f o r t h a t b ranch accord ing t o t h e imaging system

i f ( imsy ty .eq. imspro) g o t o 1000 i f ( imsyty .eq. imscon) go to 5000

C c a l l errmOl( 40 ) r e t u r n

C c a p r o j e c t i o n type system

1000 do 2000 iwvlen = 1 , nmlmbd C

vc = 2,0*rna( iwvlen , l ) / r l ambd( iwv len )

i f (maskty .eq. m l i n e ) g o t o 1020 i f (maskty .eq. mspace) g o t o 1040 i f (maskty .eq. mlnspa) g o t o 1060

ca l l errmOl ( 50 ) r e t u r n

C c mask is a l i n e

c branch accord ing t o mask type (and t h e n merge af ter f i n d i n g fsamsk)

C

1020 r s w = 5.0 / vc - r l w i f ( r s w .It. r l w ) r s w = r l w

Page 138: REPORT THE DESIGN OF A SIMULATOR - EECS at UC Berkeley · Report -- on the Design -- of a Simulator Program ... and if the wafer is to be bak$d how lona, ... for the ztchin? process

Jun 21 04:39 1978 F i l e macl/subrimagel Page 2 124

57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112

c f i n d the fundamental f requency

c now compute t h e f o u r i e r ser ies component ampl i tudes f o r t h i s mask

c fsamsk(1) = 1.0 - r l w / ( r l w + r s w )

C

1060 v l = 1.0 / ( r l w + rsw )

amp10 = r l w v l

fsmsk(1) = 1.0 - amp10 - r r * f r o - ( - -

do 1030 icomp = 1 , -EP r r < ? J - -

ricomp = icomp fsamsk(icomp + 1 ) = - ( t2bypi / r icomp) s in ( r i comp * p i amplo)

1030 con t inue c merge

go to 1080 C c mask is a space

1040 r l w = 5.0 / v c - rsw i f ( r l w .It. r s w ) rlw = rsw

vl = 1.0 / ( r l w + rsw C

C c z e r o f requency component ampl i tude

amp10 = r s w v l fsamsk( 1 ) = amp10

C tr r -- - w * C h - - l - i. do 1050 icomp = 1 , %wx&= r c \ ~ A - ricomp = icomp fsamsk(icomp + 1 ) = ( t2byp i / r i comp)*s in ( ricomp * p i amp10

1050 con t inue C

c merge c c parameters

so now t h e mask is comple te ly c h a r a c t e r i z e d by these f o u r i e r series

C c n o t a l l t h e f o u r i e r c o e f f s ( ampl i tudes ) c a l c u l a t e d above w i l l be c u s e f u l . hence l e t u s f i n d o u t how many are r e a l l y needed C c number of f o u r i e r series components o f t he mask = nmfrcm t r u n c a t e d c v a l u e ( n o t rounded o f f ) is r e q u i r e d below as vn .It. vc c nmfrcm = vc / vl

1080 nmfrcm = vc * ( r l w + r s w ) i f (nmfrcm .ge. mxnmfr) nmfrcm = mxnmfr - 1

C c c a l c u l a t e t he vn-s ( spa t ia l f r e q u e n c i e s i n c l u d i n g t h e ze ro f rq) c f i n d t h e a c t u a l v a l u e s vn, and a l s o t he i r normalized v a l u e s vn/vc C

nmcomp = nmfrcm + 1 v l n = vl / vc

c v l , v2 e tc . are m u l t i p l e s o f v l C

do 1100 icomp = 1 , nmcomp ricomp = ( icomp - 1 f s f r q a ( icomp ) = ricomp v l f s f r q n ( icomp 1 = ricomp v l n

1 100 con t inue C c compute t h e d e f a u l t ( = d i f f r a c t i o n l i m i t e d ) m t f a t t h o s e spa t ia l

Page 139: REPORT THE DESIGN OF A SIMULATOR - EECS at UC Berkeley · Report -- on the Design -- of a Simulator Program ... and if the wafer is to be bak$d how lona, ... for the ztchin? process

125 Jun 21 04:39 1978 F i l e macl/subrimagel Page 3

113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168

c f r e q u e n c i e s of t h e image ( s t a r t i n g wi th t h e ze ro f requencd) I C

do 1120 icomp = 1 , nmcomp dlmtfn( icomp ) = dmtfna( f s f r q n ( icomp

1120 cont inue C C C

C

C C C C C C

C

C C

C

C

C

C

C

se t up t h e a c t u a l m t f ( t h e f requency component index ran4es from 0 t o nmfrcm ) I

c a l l setmtf( nmcomp, iwvlen ) I

I now c a l c u l a t e t h e c o n t r i b u t i o n t o t h e t o t a l i l l u m i n a t i o n ob t h e c h i p by t h i s wavelength i n t h e i l l u m i n a t i n g spectrum

----- a t p r e s e n t d e l t a x is a d j u s t e d t o give nmgrdv d i v i s i o s (hence ----- nmhpts p o i n t s ) i n t h e h a l f pe r iod . ----- h o r i n t ( i g p t ) is found f o r t h e midpoin ts o f t h e in te rha ls

I c templ = nmgrdv d e l t a x = ( ( r l w + r s w / 2.0 ) / temp1 delxb2 = de l t ax /2 .0

now compute t h e normalized i n t e n s i t i e s a t a l l t h e g r i d p o i n t s t 2 p i v l = 2.0 * p i v l

do 1200 i g p t = 1 , nmhpts v i g p t = ( i g p t - 1 h o r i z i = 0.0

do 1190 icomp = 1 , nmcomp vicomp = (icomp - 1 1

templ = fsamsk( icomp ) * actmtf( icomp x d i s t = v i g p t d e l t a x + delxb2

temp2 = templ * cos( t 2 p i v l * vicomp x d i s t

templ = four ie r series ampl i tude o f t h e image

temp2 = c o n t r i b u t i o n t o t h e i n t e n s i t y a t t h i s wavelength fkom templ

h o r i z i = h o r i z i + temp2 1190 con t inue

C

c now t h e i l l u m i n a t i o n a t t h i s wavelength ( iwvlen) is added t o t h e c t o t a l h o r i z o n t a l i n t e n s i t y wi th t h e proper weight

h o r i n t ( i g p t = h o r i n t ( i g p t + r e l i n t ( iwvlen h o r i z i 1200 con t inue

C

c o u t p u t t h i s h o r i z o n t a l i n t e n s i t y ( though it may be p a r t i a l C

c a l l outmcl C

2000 con t inue C c c t h e wavelengths f o r a p r o j e c t i o n type system

t h u s t h e h o r i z o n t a l i n t e n s i t y i s computed, and o u t p u t t e d fi.r a l l

re turn C

C

c a c o n t a c t t ype system

Page 140: REPORT THE DESIGN OF A SIMULATOR - EECS at UC Berkeley · Report -- on the Design -- of a Simulator Program ... and if the wafer is to be bak$d how lona, ... for the ztchin? process

126

Jun 21 04:39 1978 F i l e macl/subrimagel Page 4

169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 20 1 20 2 20 3 204 205 206 207 208 20 9 210 21 1 212 213 214 215 216 217 218

5000 do 6000 iwvlen = 1 , nmlmbd C c branch acco rd ing t o t h e t y p e o f t h e mask

i f (maskty .eq. ml ine) g o t o 5020 i f (maskty .eq. mspace) g o t o 5040 i f (maskty .eq. mlnspa) g o t o 5060

c a l l errmOl ( 60 ) re t urn

C

C 5020 rsw = 4.0 r l w

g o t o 5080

5040 r l w = 4.0 * rsw g o t o 5080

5060 g o t o 5080

5080 templ = nmgrdv

C

C

C

d e l t a x = ( ( r l w + r sw) /2 .0) / templ delxb2 = d e l t a x / 2.0

t 2 b y l l = 2.0 / ( sepmtc rlambd( iwvlen ) ) s 2 b y l l = s q r t ( t 2 b y l l )

x c l i p = ( rsw/2.0) + ( a l o g ( c 1 ) ) / ( c 2 * s 2 b y l l )

do 5200 i g p t = 1 , nmhpts v i g p t = ( i g p t - 1 x d i s t = v i g p t d e l t a x + delxb2

h o r i z i = 1.0 i f ( x d i s t . g t . x c l i p )

C

C

C

C

1 h o r i z i = c l * exp( -c2 * ( x d i s t - rsw/2.0) s 2 b y l l ) C

C h o r i n t ( i g p t = h o r i n t ( i g p t ) + h o r i z i * r e l i n t ( iwvlen

5200 con t inue C c t h u s t h e h o r i n t ( i g p t ) is known f o r a l l g r i d p o i n t s C

c a l l outmcl C

6000 con t inue C c t h u s t h e h o r i z o n t a l i n t e n s i t y is computed and o u t p u t t e d f o r a l l c wavenlengths f o r a c o n t a c t t ype system C

r e t u r n l end

I

Page 141: REPORT THE DESIGN OF A SIMULATOR - EECS at UC Berkeley · Report -- on the Design -- of a Simulator Program ... and if the wafer is to be bak$d how lona, ... for the ztchin? process

Jun 21 05:07 1978 F i l e macl/subrmtf Page 1 127

1 2 3 4 5 6 7 8 9 10 1 1 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47

49 50 51 52 53 54 55 56

48

f u n c t i o n dmtfna( vnbyvc c m t f = modulat ion t r a n s f e r f u n c t i o n I

c dmtf = d i f f r a c t i o n l i m i t e d m t f ( d e f a u l t v a l u e ) c dmtfna = dmtf w i t h normalized argument vn/vc c vnbyvc = vn/vc where vc = c u t o f f ( s p a t i a l ) freq fol) t h e l e n s C

common /math/ p i , t 2byp i

if (vnbyvc . g t . 1.0) cal l errmOl( 10 i f (vnbyvc .It. -0.00001) c a l l errmOl( 20 if (vnbyvc . g t . 0.00001) goto 100

dmtfna = 1.0 r e t u r n

C

C

C 100 templ = sqrt( 1 .O - vnbyvc vnbyvc )

C C C C C

C C C C

C

C

C

C C

C

C

C C C

temp2 = a t a n ( templ/vnbyvc) - vnbyvc * templ dmtfna = t 2byp i temp2 r e t u r n end s u b r o u t i n e setmtf( ncomp, iwlen

sets up the a c t u a l m t f from the d i f f r a c t i o n l i m i t e d m t f , r m t f w t ( i s p f r , iwlen ) a r r a y i . e . se t s up v a l u e s o f actmtf(ifsacm, iwlen) f o r ifsacm = t h e arguments are as f o l l o w s

,nd t h e

1 ,ncomp

mask ( o r -

( 1 ) ncomp = number of s p a t i a l f requency components o f t h e

( 2 ) iwlen -- s p e c i f i e s t h e wavelength ( i ts index) a t which t h e m t f

----- ( a t p r e s e n t o n l y one wavelength w i l l be g iven though) -----

image) i n c l u d i n g the z e r o frequency

is t o be set

common /imgsys/ imspro, imscon, imsyty , common /img2pr/ common / l enspa / v c , d lmtfn( 11 ) , actmtf ( 11

t o s p f r ( 5 1 ma( 5 , 2 ) , mxnwtf, nmwtfc(51, rmtfwt(5 ,21)

nwf = nmwtfc( iwlen

i f (nwf .ne. 0) g o t o 100

no weight f a c t o r s . hence a c t u a l m t f = d i f f - l i m mtf

do 10 icomp = 1 , ncomp actmtf( icomp ) = dlmtfn( icomp

10 con t inue

r e t u r n

now t h e case where weight f a c t o r s are p r e s e n t

100 do 110 icomp = 1 , ncomp

110 con t inue actmtf( icomp ) = dlmtfn( icomp ) w t f m t f ( icomp, iwle4

C r e t u r n end f u n c t i o n w t f ’ m t f ( icompo, i w l 1

Page 142: REPORT THE DESIGN OF A SIMULATOR - EECS at UC Berkeley · Report -- on the Design -- of a Simulator Program ... and if the wafer is to be bak$d how lona, ... for the ztchin? process

128

Jun 21 05:07 1978 F i l e macl/subrmtf Page 2

57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97

C

C C

C

C C C C C C

C

C

C

g i v e s t h e l i n e r a l y i n t e r p o l a t e d v a l u e o f t h e weight f a c t o f o r a g iven spa t i a l f requency (no rma l i zed ) . t h e f requency is g t ven by its index t h e arguments are ( 1 ) icompo = index o f s p a t i a l f r e q comp o f mask (and image) ( 2 ) i w l = index o f t h e wavelength

t h i s f u n c t i o n assumes t h a t t h e weight f a c t o r s are p r e s e n t , hence does n o t check f o r t h e i r absence ( i . e . f o r t e d e f a u l t c a s e )

common /img2pr/ r n a ( 5 , 2 ) , mxnwtf, nmwtfc(5) , rmt fwt (5 , common / f o u s e r / mxnmfr, nmfrcm, f s f r q a ( 11 1, f s f r q n ( 1 1 1 common / l enspa / v c , d l m t f n ( l l ) , actmtf(l1)

s p f r n = f s f r q n ( icompo ) nwf = nmwtfc( i w l 1

i f (0.00001 . l e . s p f r n ) g o t o 100 w t f m t f = rmtfwt( i w l , 1 ) r e t urn

100 i f ( s p f r n .le. 0.99999) g o t o 200 w t f m t f = r m t f w t ( i w l , nwf ) re t urn

C c now l i n e a r i n t e r p o l a t i o n can be done wi thout any boundary c w o r r i e s

200 rnwf = nwf rnwfdv = rnwf - 1.0 frdvwf = 1.0 / rnwfdv v i d x i t = s p f r n / frdvwf indexv = v i d x i t rv indx = indexv d e l f r n = s p f r n - rv indx frdvwf indexv = indexv + 1 w t f m t f = r m t f w t ( i w l , indexv +

1 )

p o i n t

1 ( ( ( r m t f w t ( i w 1 , indexv + 1 ) - r m t f w t ( i w 1 , indexv) 2 / frdvwf ) * d e l f r n

C

r e t u r n end

Page 143: REPORT THE DESIGN OF A SIMULATOR - EECS at UC Berkeley · Report -- on the Design -- of a Simulator Program ... and if the wafer is to be bak$d how lona, ... for the ztchin? process

Jun 21 05:12 1978 F i l e macl/subrimage2 Page 1 129

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47

49 50 51 52 53 54 55 56

4a

s u b r o u t i n e outmcl c o u t p u t s t h e ou tpu t o f machinel . (mcl) ( = m01 + .) C I

common / s p e c t r / mxnlmd, nmlmbd, r l ambd(5 ) , r e l i n t ( 5 ) common /objmsk/ mline, mspace, mlnspa, maskty, r l w , r s w common /imgsys/ imspro, imscon, imsyty , t o s p f r ( 5 1 common /img2pr/ r n a ( 5 , 2 ) , mxnwtf, nmwtfc(51, rmt fwt (5 ,21 ) common / i m g 3 C O / sepmtc, c l , c2

common / f o u s e r / mxnmfr, nmfrcm, f s f r q a ( 11 1, f s f r q n ( 11 ) common / fouse2/ fsamsk( 11 1, fsaimg( 11 common / l enspa / vc , d l m t f n ( l l 1 , a c t m t f ( l 1 )

common /horimg/ d e l t a x , mxngdv, mxngpt, nmgrdv, nmhpt s ,ho r in t (51 )

C

C

C

C write ( 6 , 10)

10 format ( l h l , 27hhor i zon ta l i n t e n s i t y o u t p u t , /, 1 1 I X , 27h---------- --------- ------

C write ( 6 , 20) nmlmbd, ( r l a m b d ( i l ) , 11 = 1 , nmlmbd )

20 format ( lhO, 10hthere are , 13, 12h wavelengths , /, 1 ( l x , 5x, 10f10.5) 1

C , i f (maskty .eq. m l i n e ) g o t o 30 i f (maskty .eq. mspace) g o t o 40 i f (maskty .eq. mlnspa) g o t o 50

I

I

I C

30 write ( 6 , 31) r l w , r s w 31 f o r m a t ( / , lhO, 20hthe mask h a s a l i n e , f10.5, 8h microns, /, l x ,

1 5x, 29hand an e f f e c t i v e space width , f10 .5 , 8h microns) C

go to 60 C

40 write ( 6 , 41) r s w , r l w 41 fo rma t ( / , l hO, 2 l h t h e mask has a space , f10.5, 8h microns, 1, l x ,

1 5x, 28hand an effective l i n e width , f10 .5 , 8h microns C

g o t o 60 C

50 write ( 6 , 51) r l w , r s w 51 format(/ , lhO, 34hthe mask h a s a p e r i o d i c p a t t e r n o f , /, l x , 5x,

1 f10.5, 19h microns l i n e , and , f10 .5 , 2 14h microns space

C 1 C c g o t o t h e proper o u t p u t statements f o r t h e imaging system 1

I 60 i f ( imsyty .eq. imspro) go to 1000 i f ( imsyty .eq. imscon) g o t o 2000

I I C

I 1000 write ( 6 , 1001) 1001 format ( /, lhO, 32ha p r o j e c t i o n type imaging system )

write ( 6 , 1010) vc , ( r n a ( i 1 , 1 1 , 1 1 = 1 , nmlmbd ) C

1010 format( lhO, 5x, 34hthe l e n s c u t o f f f r e q ( s p a t i a l ) is , f10 .5 , 1 12h ( l / m i c r o n s ) , /, l x , l ox ,

Page 144: REPORT THE DESIGN OF A SIMULATOR - EECS at UC Berkeley · Report -- on the Design -- of a Simulator Program ... and if the wafer is to be bak$d how lona, ... for the ztchin? process

Jun 21 05:12 1978 F i l e macl/subrimage2 Page 2

57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112

2 39hand t h e na f o r t h e above wavelengths is , (1pf10 .5) C

I nmcomp = nmfrcm + 1 write ( 6 , 1020) ( f s a m s k ( i l ) , i l = 1 , nmcomp )

1020 format ( lh0 ,5x ,45hthe f o u r i e r series ampl i tudes o f t h e mask a re , 1 /, ( l x , l o x , 10f10.5)

C

write ( 6 , 1030) ( f s f r q a ( i l 1 , 1 1 = 1 , nmcomp) 1030 format ( lhO, 5x , 42hthe f o u r i e r series s p a t i a l - f r e q u e n c i e s are ,

1 1, ( l x , l ox , 10f10.5) 1 C

w r i t e ( 6 , 1040) ( f s f rqn( i .11 , i l = 1 , nmcomp 1 1040 fo rma t ( lhO, 5x, 3 4 h s p a t i a l f r e q u e n c i e s normalized are , 1 ,

1 ( l x , lox, 10f10.5) 1 C

write ( 6 , 1050) ( d l m t f n ( i l 1 , 11 = 1 , nmcomp 1050 format ( lhO, 5x, 30hthe d i f f r a c t i o n l i m i t e d m t f is , I ,

1 ( l x , lox , 10f10.5) C

c write ( 6 , 1060) ( ( rmt fwt ( iwave1 , ifsacm), ifsacm = 1 , nmcomp), C iwavel = 1 , nmlanbd) C

write ( 6 , 1070) ( a c t m t f ( i f s a c m ) , ifsacm = 1 , nmcomp) 1070 format ( lhO, 5x, 42hthe actual m t f f o r t h e above components i s ,

1 /, ( l x , l ox , lOf l0 .5) C c write ( 6 , 1080) ( f s a i m g ( i f s a c m ) , ifsacm = 1 , nmcomp)

c now p r i n t t h e h o r i z o n t a l i n t e n s i t y C

g o t o 3000 C

C 2000 write ( 6 , 2001) 2001 format ( / , lhO, 29ha contact t y p e imaging system

C write ( 6 , 2010) sepmtc, c l , c2

2010 format(lh0, 5x, 3lhthe mask to chip separation is , f10.5, 1 12h microns and , /, l x , 5x , 2 5hcl = , f10 .5 , l l h and c2 = , f10.5

c ----- write o u t t h e i r u n i t s ----- C

C c now p r i n t t h e h o r i z o n t a l i n t e n s i t y

3000 write ( 6 , 3001) nmgrdv, nmhpts, d e l t a x 3001 format ( / , lhO, 10h the re are , i 4 , 17h x-gr id d i v i s i o n s ,

1 5h and , 1 4 , 12h g r i d - p o i n t s , /, l x , 5x, 2 28hand t h e x-axis g r i d u n i t is , f10 .5 , 8h microns

C wri te ( 6 , 3011) ( h o r i n t ( i l 1 , 1 1 = 1 , nmhpts)

3011 fo rma t ( lhO, 1 58hthe h o r i z o n t a l image i n t e n s i t y p r o f i l e ( a t g r i d p a i n t s ) is, 2 /, ( l x , 5x, 10f10.5) 1

C c now j u s t t o go t o t h e t o p of next page

write ( 6 , 9000) 9000 format ( l h l

Page 145: REPORT THE DESIGN OF A SIMULATOR - EECS at UC Berkeley · Report -- on the Design -- of a Simulator Program ... and if the wafer is to be bak$d how lona, ... for the ztchin? process

Jun 21 05:12 1978 F i l e macl/subrimage2 Page 3

113 C 114 C 115 r e t u r n 116 end

Page 146: REPORT THE DESIGN OF A SIMULATOR - EECS at UC Berkeley · Report -- on the Design -- of a Simulator Program ... and if the wafer is to be bak$d how lona, ... for the ztchin? process

Jun 21 05:21 1978 F i l e d i f f u s i o n / s u b r l b a t p t Page 1 132

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56

C

C

C C

C

C

C C

C C C C C

C C C C

C C C

C C

C

C

f u n c t i o n d f ( r , sigma) t h i s is t h e s o l u t i o n t o t h e impulse s o u r c e i n two dimensians

dfxx = sigma * sigma * 2.0 df = ( exp( - r*r /dfxx ) / ( 3.14159265 * dfxx r e t u r n end s u b r o u t i n e d i f fus ( s igma1

rewri t ten by snn from p r o f . wgo-s o r i g i n a l program

dimension tempm(52,52) dimension wate(15,15)

common /mvspos/ rmxz(52,52) common /s impar/ n p r l y r , n p r p t s , nend iv , de l tm , d e l t z

I

common /horimg/ d e l t x , mxngdv, mxngpt, nmgrdv, nmhpts, h

se t up l o c a l v a r i a b l e s us ing t h e common v a r i a b l e s

imax = nmhpts + 2 j m a x = n p r l y r + 2 d e l x = d e l t x d e l y = d e l t z - sigma = sigma

i n i t i a l i z e tempm( , I a r r a y ----- (check i f i m a x , j m a x are w i t h i n l i m i t s ) ----- do 1 i = 1 , i m a x do 2 j = 1 , jmax tempm(i , j> = 0.0

2 con t inue 1 con t inue

compute t h e 3sigma range of d i f f u s i o n i n u n i t s of s t e p - s i z e t h e range on t h e c h i p is ( (O , i s ig ) , ( 0 , j s i g ) )

i s i g = i f i x ( 3.0 sigma / d e l x 1 + 1 j s i g = i f i x ( 3.0 sigma d e l y ) + 1

compute and t a b u l a t e a l l t h e r e q u i r e d v a l u e s o f t h e weight ing func ( i s i g + l ) and ( j s i g + l ) should n o t exceed t h e a r r a y s i z e ( f o r wate( , I

i f ( ( i s i g . le. 14) .and. ( j s i g . l e . 14) 1 go to 5 wri te ( 6 , 4 ) sigma, d e l x , d e l y , i s i g , j s i g

4 f o r m a t ( / / , l x , 34h***** e r r o r i n d i f fus ( s igma1 *****, /, 1 3x, 8hsigma = , f10 .5 , /, 3x, 2 7hdelx = , f10 .5 , 10h, d e l y = , f10 .5 , /, 3x, 3 13hhence i s i g = , i 5 , 14h, and j s i g = , i 5 , / / ) r e t urn

( t a b u l a t e t h e impulse response (we igh t ing f u n c t i o n ) ) r ange ( 0 t o i s i g ) is s t o r e d i n ( 1 t o i l i m ( = i s i g + l )

5 i l i m = i s i g + 1 jlim = j s i g + 1 de lxy = d e l x * d e l y

Page 147: REPORT THE DESIGN OF A SIMULATOR - EECS at UC Berkeley · Report -- on the Design -- of a Simulator Program ... and if the wafer is to be bak$d how lona, ... for the ztchin? process

133

Jun 21 05:21 1978 F i l e d i f f u s i o n / s u b r l b a t p t Page 2

57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 10 1 102 103 104 105 106 107 108 109 110 111 112

do 8 iwate = 1 , 15 do 7 jwate = 1 , 15 w a t e ( i w a t e , jwa te ) = 0.0

7 con t inue 8 con t inue

C

do 10 iwate = 1 , i l i m iwval = iwate - 1

do 9 jwate = 1 , j l i m

r = sqrt( ( d e l x * f l o a t ( i w v a l ) ) * * 2 + ( d e l y f l o a t ( j w a l ) ) * * 2 ) jwval = jwate - 1

wate( iwate, jwate = d f ( r , sigma ) de lxy

C

~

9 con t inue 10 con t inue I

C

write ( 6 , 9000) imax, j m a x , i s i g , j s i g , i l i m , j l i m

1 l x , 7 h i s i g = , 15, 10h, j s i g = , 15, 1 , 2 l x , 13hhence i l i m = , 15, 10h, j l i m = , i 5 ) I

9000 f o r m a t ( l h 1 , 7himax = , i 5 , 10h, jmax = , 15, /,

C

c o u t p u t t h e table o f impulse response write (6, 9010) ( ( w a t e ( i , j > , j=1,15 1, i=1,15 1 ~

9010 f o r m a t ( / / , l x , 38hthe 2d impulse resopnse ( i l i m , j l i m ) isl, /, 1 ( l x , 15f8.5) 1

C C C

C

C

C

C C C

C

C

C

C C

C C C C

C

C

C

now perform t h e two dimensional convo lu t ion

do 110 j = 1 , jmax do 100 i = 1 , imax

sum t h e sou rce f u n c t i o n f o r a l l p o i n t s w i t h i n 3 sigma. here, t h e computat ion i s performed t o de te rmine how much does t h e q from the nearby p o i n t s d i f f u s e s t o t h e p o i n t ( i , j ) under c o n s i d e r a t i o n ( so t h a t t h e i r c o n t r i b u t i o n s are summed 1

first de termine t h e range invo lved . j s i g 2 p = 2 * j s i g + 1 i s i g 2 p = 2 i s i g + 1

do 90 j s c a n = 1 , j s i g 2 p t e s t f o r t h e edge and app ly r e f l e c t i v e boundary c o n d i t i o n , i f necessa ry . first f o r t he wate( ,) a r r a y indexing

j r e l = j s c a n - j s i g -1 jwate = iabs( j re1) + 1

now f o r t h e rmxz( ,) array indexing . I

(boundary p o i n t o f i n t e r v a l r e p r e s e n t s h a l f o f n e i g h b o u r i h i n t v l s )

jrmxz = j + j r e l now t e s t f o r edge and apply r e f l e c t i v e boundary c o n d i t i o n s , i f nec. here m is cons ide red t o be a t *end-of- interval*

i f ( j rmxz . l e . 0) jrmxz = (-jrmxz) + 2 if ( j rmxz . g t . jmax) jrmxz = 2 jmax - jrmxz

t h i s ad jus tment a t j m a x is f o r m a t *end-of - in te rva l*

Page 148: REPORT THE DESIGN OF A SIMULATOR - EECS at UC Berkeley · Report -- on the Design -- of a Simulator Program ... and if the wafer is to be bak$d how lona, ... for the ztchin? process

Jun 21 05:40 1978 F i l e d i f f u s i o n / s u b r l b a t p t Page 3

113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148

C

C

C C

C C C

C

C C C

f o r m cons idered t o b e a t *middle-of - in te rva l* - - - if ( j rmxz . l e . 0) jrmxz = ( - j rmxz) + 1 if ( j rmxz . g t . jmax) jrmxz = 2 * jmax - jrmxz + 1 - - -

s i m i l a r l y f o r t h e i - i n d e x - d i r e c t i o n

do 80 i s c a n = 1 , i s i g 2 p i r e l = ( i s c a n - i s i g - 1 ) iwate = i a b s ( i r e l + 1 irmxz = i + i r e l i f ( irmxz . l e . 0 irmxz = (-irmxz) + 2 i f ( irmxz . g t . i m a x ) irmxz = 2 * imax - irmxz

t h e above comments f o r j app ly t o i a l s o

t h u s t h e proper i n d i c e s are known f o r t e m p m ( , ) , w a t e ( , ) , a n d rmxz( , )

t empm( i , j ) = t e m p m ( i , j > + rmxz(irmxz,jrmxz) * wate ( iwa te , jwa te ) 80 con t inue 90 con t inue

c t h u s one v a l u e f o r t e m p ( i , j ) p o i n t has been p rope r ly summed up C

100 con t inue 110 con t inue

c t h u s t h e whole tenpm( , ) a r r a y has been p r o p e r l y computed.

c now copy i t on t h e rmxz( ,) a r r a y C

C

do 200 i = 1 , i m a x do 190 j = 1 , jmax r m x z ( i , j ) = t empm( i , j>

190 con t inue 200 con t inue

C

r e t u r n end

d

Page 149: REPORT THE DESIGN OF A SIMULATOR - EECS at UC Berkeley · Report -- on the Design -- of a Simulator Program ... and if the wafer is to be bak$d how lona, ... for the ztchin? process

P a r t 4 - - User Documentation -

Page 150: REPORT THE DESIGN OF A SIMULATOR - EECS at UC Berkeley · Report -- on the Design -- of a Simulator Program ... and if the wafer is to be bak$d how lona, ... for the ztchin? process
Page 151: REPORT THE DESIGN OF A SIMULATOR - EECS at UC Berkeley · Report -- on the Design -- of a Simulator Program ... and if the wafer is to be bak$d how lona, ... for the ztchin? process

;un 21 05:58 1978 F i l e i ndex Page 1 136

The fo l lowing i s a l i s t o f f i l e s t h a t have u s e f u l i n fo rma t ion about1 us ing t h e p h o t o l i t h o g r a p h i c p r o c e s s e s s i m u l a t i o n program SAMPLE (Simu- ,

l a t i o n And Modelling o f PhotoLithography and E t c h i n g ) . I

F i l e Name

index

e x d a t a f i l e

example

howto

manual

c o n t r o l

d e f v a l u e s

Con ten ts , I

T h i s f i l e . Index t o t h e documentation f i l e s f o r SAMPLE'

c o n t a i n s an example o f a t y p i c a l i n p u t data f i l e f o r SAMPLE.

T h i s f i l e c o n t a i n s a complete i n p u t d a t a deck s e t u p and e x p l a i n s what i t means.

t e l l s , b r i e f l y , how t o p r e p a r e an i n p u t d a t a f i l e , send a j o b t o SAMPLE on 6400, i n q u i r e about what i s happen- ning t o t h e j o b s e n t , what t o do i f a mis t ake o c c u r s , how t o get a p r i n t o u t of t h e o u t p u t o b t a i n e d , and how t o mail a message.

c o n t a i n s t h e de t a i l s o f a l l t h e s t a t e m e n t s understood k SAMPLE.

c o n t a i n s t h e control- .cards f o r s u b m i t t i n g a j o b t o t h e CDC 6400 computer a q ' f i i v e r s i t y o f C a l i f o r n i a , Berkeley

c o n t a i n s d e f a u l t v a l u e s o f v a r i o u s pa rame te r s used by SAMPLE, and t h e d e f a u l t system c o n f i g u r a t i o n , and o p e r a t i o n s sequence.

Y

{ A t p r e s e n t , t h e f i l e s manual and d e f v a l u e s are n o t a v a i l a b l e d i r e c t l y bu t t h e i n f o r m a t i o n is g i v e n i n t h e f i l e s d e f a u l t d o c u , and pa rde f and pargram i n t h e Report}

Page 152: REPORT THE DESIGN OF A SIMULATOR - EECS at UC Berkeley · Report -- on the Design -- of a Simulator Program ... and if the wafer is to be bak$d how lona, ... for the ztchin? process

137 Jun 21 06:Ol 1978 F i le exdatafile Page 1

LAMBDA 0.4047 PROJ 0.125 LINESPACE 2 3 RUN 1

RESMODEL ( ( 0 . 4 0 4 7 ) ) (1 .055, 0 .094, 0.02) ( 1 . 7 0 , ( ( - 0 . 0 2 ) ) ) (0.80) LAYERS (5.613, -0.19) (1 .47 , 0.0, 0.05) RUN 2

DOSE 50 RUN 3

i

I ETCHRATE A N A L Y T I C (5 .27 , 8 - 1 9 , -12.5) DEVTIME 10 RUN 4

DEVTIME 20 TO 80, 4 RUN 4

DOSE 40 RUN 3 R U N 4

PROJ 0.31 LINESPACE 3 3 RUN 1 RUN 3 R U N 4

LAMBDA 0.4360 RUN 0

Page 153: REPORT THE DESIGN OF A SIMULATOR - EECS at UC Berkeley · Report -- on the Design -- of a Simulator Program ... and if the wafer is to be bak$d how lona, ... for the ztchin? process

Jun 21 23:11 1978 F i l e example Page 1

T h i s f i l e c o n t a i n s a s imple input-example i l l u s t r a t i n g t h e use o f I F i r s t an example i n p u t f i l e i s g iven and then i t s meaning is 1 SAMPLE.

exp la ined . The example c o v e r s a l l t h e s imple statements t h a t SAMPLE handles . For d e t a i l e d s p e c i f i c a t i o n of a l l t h e i n p u t s t a t e m e n t s see t h e SAMPLE Reference Manual.

4 SAMPLE does n o t pu t any r e s t r i c t i o n s on which column t o s t a r t a s t a t e m e n t , o r how many s t a t e m e n t s i n a l i n e ( o r c a r d ) , o r how many l i n s ( c a r d s ) f o r a s t a t e m e n t . Also , comma, and l e f t and r i g h t pa ren theses a r e t r e a t e d as b lanks by SAMPLE. Ex t ra b l anks i n a l i n e , o r blank l i n e s are a l s o al lowed. A l l t h e s e f e a t u r e s a l low t h e u s e r t o write t h e i n p u t i n a f i l e whose format can be shaped as is convenient and e a s i l y unde r s t andab le a t a g l a n c e .

For example c o n s i d e r t h e i n p u t f i l e :

LAMBDA 0.4047 PROJ 0.125 LINESPACE 2 3 RUN 1

RESMODEL ( ( 0 . 4 0 4 7 ) ) (1.055, 0.094, 0.02) (1 .70, ( ( -0 .02) ) ) (0 .80) LAYERS (5.613, -0.19) ( 1 . 4 7 , 0.0, 0.05) RUN 2

DOSE 50 RUN 3

ETCHRATE A N A L Y T I C (5 .27 , 8 .19, -12.5) DEVTIME 10 RUN 4

DEVTIME 20 TO 80 , 4 RUN 4

DOSE 40 RUN 3 RUN 4

PROJ 0.31 LINESPACE 3 3 RUN 1 R U N 3 RUN 4

LAMBDA 0.4360 RUN 0

The meaning o f t h e s t a t e m e n t s i n t h i s f i l e i s as fo l lows :

LAMBDA 0.4047 t e l l s t h a t t h e wavelength of t h e l i g h t used is 0.4047 microns.1

PROJ 0.125 means t h a t t h e imaging system is a p r o j e c t i o n type system wi th Numerical Aperture ( N A ) = 0.125

Page 154: REPORT THE DESIGN OF A SIMULATOR - EECS at UC Berkeley · Report -- on the Design -- of a Simulator Program ... and if the wafer is to be bak$d how lona, ... for the ztchin? process

Jun 21 23:11 1978 F i l e example Page 2 139

(opaque r e g i o n s ) and spaces ( f u l l y t r a n s p a r e n t r e g i o n s ) 2 micr

LINESPACE 2 3 t e l l s t h a t t h e o b j e c t ( t h e mask) is a p e r i o d i c p a t t e r n o f l i n e

and 3 microns wide, r e s p e c t i v e l y .

R U N 1 run t h e h o r i z o n t a l image machine (machine 1 ) which f i n d s t h e image r e s u l t i n g from t h e imaging system c o n f i g u r a t i o n spec i f ie t f f o r u n i t i l l u m i n a t i o n a t t h e mask.

RESMODEL ( ( 0 . 4 0 4 7 ) ) (1 .055 , 0.094, 0.02) (1 .70 , ( ( - 0 . 0 2 ) ) ) (0 .80) t h i s specif ies t h a t t h e ( p o s i t i v e ) p h o t o r e s i s t l a y e r on t h e c h i p can be modelled a t 0.4047 microns wavelength r a d i a t i o n ( a t p r e s e n t t h i s wavelength i s ignored ) by t h e parameters :

A = 1.055 ( l / m i c r o n s ) I

B = 0.094 ( l / m i c r o n s ) I

C = 0.02 ( s q . c m . / m i l l i j o u l e s )

~

because it is c a l c u l a t e d i n t h e program from t h e A , and B p a r a i meters, and t h e wavelength by

and f i n a l l y t he t h i c k n e s s o f t h e PR l a y e r i s 0.80 microns.

and w i t h a r e f r a c t i v e index o f ( n , k ) = (1 .70 , -0.02) ( a t p r e s e n t t h e v a l u e of k s p e c i f i e d here (=0.02) is ignored

~

k = - ( A + B)*(wave leng th ) / (Q*p i ) ,

LAYERS (5 .613 , -0.19) (1 .47 , 0 . 0 , 0.05) t h i s specif ies t h a t t h e c h i p has a s u b s t r a t e w i t h r e f r a c t i v e index = (5 .613, -0.191, which i s assumed t o be ve ry t h i c k , and one more l a y e r on t h e s u b s t r a t e (which may be an ox ide o r n i t r i d e l a y e r ) w i t h r e f r a c t i v e index = (1 .47 , 0.0) and a t h i c k - n e s s o f 0.05 microns. The PR l a y e r on t h i s topmost l a y e r i s s p e c i f i e d i n t h e RESMODEL s t a t emen t above (and w i l l have t h e d e f a u l t v a l u e s i f n o t s p e c i f i e d i n such a s t a t e m e n t ) .

RUN 2 run t h e s t a n d a r d b leaching machine (machine 2 ) which f i n d s t h e s t a n d i n g waves produced i n t h e c h i p a t t h e wavelength specif ied i n t h e lambda s t a t emen t and t h e ch ip -conf igu ra t ion s p e c i f i e d f o r t h e resist and o t h e r l a y e r s ( o r t h e d e f a u l t ch ip -conf igu ra t ion ) and t h e r e s u l t a n t b l each ing f o r v a r i o u s exposures . The b l each ing (M-values) is s t o r e d f o r f u r t h e r use .

DOSE 50 means t h a t t h e i l l u m i n a t i o n a t t h e mask and t h e exposure time i s such t h a t an ene rg ry d e n s i t y o f 50 m i l l i j o u l e s / ( s q . c m . ) i s i n c i d e n t on t h e mask.

RUN 3 run t h e ac tua l -b l each ing machine (machine 3 ) which f i n d s t h e a c t u a l b l each ing (M-values) i n t h e PR layer r e s u l t i n g from the1 a c t u a l image energy d i s t r i b u t i o n . I

i ETCHRATE ANALYTIC ( 5 . 2 7 , 8 .19 , -12.5)

specif ies t h a t t he etchrate is an a n a l y t i c f u n c t i o n o f M as : r a t e = exp( 5.27 + 8.19*M + (-12.5)'M'M ) Angstroms/sec.

Page 155: REPORT THE DESIGN OF A SIMULATOR - EECS at UC Berkeley · Report -- on the Design -- of a Simulator Program ... and if the wafer is to be bak$d how lona, ... for the ztchin? process

Jun 21 2 3 : l l 1978 F i l e example Page 3

p rocess ing on t h e c h i p . The ou tpu t r e s u l t i n g from t h e p rocess ing - s t eps ( a l o n g w i t h some o t h e r i n fo rma t ion ) is produced after each machine 2, 3 e t c . ) is run . Also, i n s t e a d o f running t h e machines i n d i v i d u a l l y i n t h e sequence g iven above by t h e RUN n ( n = l , 2 , 3 , 4 ) s t a t e m e n t s same p rocess ing sequence on t h e c h i p and ou tpu t can be ob ta ined by s i n g l e s t a t emen t RUN 0 o r j u s t RUN i n place o f RUN 4 and o m i t t i n g RUN 1 , 2 , and 3 .

The rest o f t h e i n p u t shows how t o make changes i n t h e parameters by r e s p e c i f i c a t i o n 2nd run t h e i n d i v i d u a l machines a g a i n i n t h e same run o f SAMPLE i n o r d e r n o t t o waste t h e p rev ious computat ions up t o t h i s p o i n t .

140

( 1 ,

t h e t h e

DEVTIME 10 t e l l s t h a t t h e c h i p i s t o be developed f o r 10 seconds .

RUN 4 1

run t h e a c t u a l e t c h i n g machine (machine 4 ) t o f i n d t h e e t c d con tour s o f t h e PR l a y e r a f t e r t h e specified ( o r d e f a u l t ) development.

~

DEVTIME 20 TO 80, 4 I t e l l s t h a t t h e c h i p is t o be developed from 20 seconds t o 8b seconds i n 4 s t e p s so t h a t t h e e tch-contours a t 20 sec, 40 s e c , 60 sec, and 80 sec should be o u t p u t t e d . ( A t p r e s e n t t h e v a l u e s are r e q u i r e d t o obey t h e r e l a t i o n 1180 = 2014" )

The o t h e r s t a t e m e n t s are as exp la ined above. Whenever a parameter is r e s p e c i f i e d t h e new v a l u e g iven supe r sedes t he p rev ious v a l u e .

Also t h e l i n e (card) : RUN 3 RUN 4 i l l u s t r a t e s t h a t more than one s t a t emen t can be put i n one l i n e ( c a r d ) .

The SAMPLE Reference Manual g i v e s more examples (one f o r each kind of s t a t e m e n t ) f o r a l l p o s s i b l e s t a t e m e n t s understood by SAMPLE.

Page 156: REPORT THE DESIGN OF A SIMULATOR - EECS at UC Berkeley · Report -- on the Design -- of a Simulator Program ... and if the wafer is to be bak$d how lona, ... for the ztchin? process

Jun 21 23:18 1978 F i l e howto Page 1 141

T h i s f i l e c o n t a i n s b r i e f i n s t r u c t i o n s on how t o use SAMPLE v i a U N I X system. It i s much s i m p l e r t o fo l low and use t h e i n s t r u c t i o n s than read them. So l e a r n them by us ing them.

I n s h o r t , t h i s f i l e shows :

1 ) how t o c r e a t e an i n p u t data f i l e 2) how t o send it t o SAMPLE on 6400 a t UCB 3 ) how t o i n q u i r e about what i s happenning t o t h e j o b s e n t 4 ) what t o do i f a mis take o c c u r s 5 ) how t o g e t a proper p r i n t o u t o f t h e SAMPLE ou tpu t o b t a i n 6 ) how t o mail a message on the U N I X system.

1) Crea t ing an Inpu t Data F i l e :

Before c r e a t i n g an i n p u t f i l e , first p lan o u t t h e p rocess ing s teps t h a t are t o be s imula t ed . Then write down t h e SAMPLE i n p u t s t a t e m e n t s cor responding t o t h e p rocess ing s teps as expla ined i n t he f i l e llexamplell. A f t e r t h a t , c r e a t e a U N I X f i l e as fo l lows . :

1) Log i n t o U N I X I 2 ) Get i n t he e d i t o r by t y p i n g : ~

ed

f i l e i s then ready i n t h e e d i t o r .

w i n p u t

9

3) Type i n t h e i n p u t f i l e accord ing t o e d i t o r i n s t r u c t i o n s . The

4 ) Write t h e f i l e so composed on a f i l e named l l input l l by t y p i n g :

5 ) Get o u t o f t h e e d i t o r by typ ing :

For example, a copy o f a d i a logue w i t h the U N I X system f o r t he above s t e p s may look l i k e (Note :- f o r sending j o b s over t h e r c s l i n k u p p e r c a s e l e t t e r s and lower case l e t t e r s are cons idered t o be e q u i v a l e n t 1 :

% ed a lambda 0.4047 p r o j 0.125 l i n e s p a c e 3 , 3 dose 50 devtime 20 t o 8 0 , 4 run

w i n p u t 76

2) Sending the j o b t o 6400 :

[ t he % is from t h e U N I X system [ t o create a f i l e o f t e x t 1 1

1 1 1

1 T h i s is t h e i n p u t data deck

t o t e l l end-of- text t o ed

r e p l y from ed [ t o q u i t t h e e d i t o r [ ou t o f e d , back i n t h e system

After p repa r ing t h e i n p u t f i l e j u s t t ype i n l lsendjobll t o send the job t o 6400. e .g .

Page 157: REPORT THE DESIGN OF A SIMULATOR - EECS at UC Berkeley · Report -- on the Design -- of a Simulator Program ... and if the wafer is to be bak$d how lona, ... for the ztchin? process

Jun 21 23:18 1978 F i l e howto Page 2 142

% sendjob [ t h e " % " is from t h e U N I $ system

T h i s w i l l a u t o m a t i c a l l y take t h e i n p u t data from t h e f i l e f l i npu t " and send it t o 6400 over r c s l i n k ( remote computer system l i n k 1, and e v e n t u a l l y , t h e ou tpu t w i l l appear i n t h e f i l e f 'outputf ' .

I 3 ) I n q u i r i n g about t h e s t a t u s o f t he j o b : ~

To know what happened t o t h e j o b s e n t , t r y t o see where t h e j o b i s i n t h e system. For t h a t some br ie f d i r e c t i o n s are g iven here.

1 ) To s e e i f t h e j o b h a s been s e n t t o 6400 o r n o t , t ype :

% r c sq [ t h e 11%11 is from U N I X

I f your l o g i n name is i n t h e queue then t h a t means your j o b has n o t y e t been s e n t t o 6400.

2 ) If t h e j o b was s e n t t o 6400 then t y p e :

% r c s l o g 1234 (where i n s t e a d o f 1234 you should type i n your job number which you can check by typ ing i n :

% jobno

when t a l k i n g t o U N I X )

which w i l l t e l l you t h e h i s t o r y o f a l l your p rev ious j o b s s e n t t o 6400 t h a t day , and a l s o t e l l s i f t h e ou tpu t s t a r t e d coming back o r n o t , and whether i t is f i n i s h e d o r n o t .

4 ) What To Do If An E r r o r Occurs :

If t h e j o b has a l r eady been s e n t t o 6400 then not much can be done except w a i t i n g f o r t h e r e s u l t . But i f ' r c s q ' t e l l s t h a t your j o b is s t i l l i n w a i t i n g t o be s e n t t o 6400 t h e n you could delete t h e j o b by qu ick ly typ ing i n :

rcsrm rcs f i l ename (where " rcs f i lename" is the name ( f l f i lename") t h a t 'rcsq' t e l l s f o r your l o g i n name.)

5) How t o Get a P r i n t o u t o f t h e Output :

After g e t t i n g t h e f u l l ou tpu t ( check us ing ' r c s l o g 1234' as t o l d I j

above 1, t o g e t a p r i n o u t o f t he ou tpu t t y p e i n :

cat o u t p u t

t o see how t h e f i l e ' o u t p u t ' l ooks l i k e . But t h i s command does n o t i n t e r p r e t t h e p r i n t e r - c o n t r o l - c h a r a c t e r s o f FORTRAN p r o p e r l y . Hence, t o do t h a t g i v e t h e command :

Page 158: REPORT THE DESIGN OF A SIMULATOR - EECS at UC Berkeley · Report -- on the Design -- of a Simulator Program ... and if the wafer is to be bak$d how lona, ... for the ztchin? process

Jun 21 23:18 1978 F i l e howto Page 3 I ~

i % c a t o u t p u t I pcc

which w i l l g i v e a proper i n t e r p r e t a t i o n o f t h e FORTRAN p r i n t e r c o n t r o l c h a r a c t e r s .

T h i s procedure w i l l g i v e a proper ou tpu t f o r a 132 column p r i n t e r , bu t f o r a p r i n t e r ( o r a t e r m i n a l ) w i t h a smaller number, s ay 80 , O f columns t h e ou tpu t does n o t l ook good. (and i n c l u d i n g ) column 80 can be removed by t h e command :

To avoid t h a t , t h e column a f t e r

1 % c a t ou tpu t I pcc I colrm 80

If the remaining columns are a l s o desired ( s e p a r a t e l y ) t hen g i v e he command :

1

i I % cat ou tpu t I pcc I colrm 1 79

which w i l l remove columns 1 t h r u 79 from t h e o u t p u t .

I f you want t h e ou tpu t t o appear i n uppercase l e t t e r s j u s t s w your t e r m i n a l t o uppercase l e t t e r s o r add a ' t r ' ( = t r a n s l i t e r a t e command t o t he above sequence o f commands. e . g .

% cat o u t p u t I pcc I colrm 80 I t r lf[a-z]ll " [ A - Z I f f

6 ) Mail ing a Message ( f o r h e l p e tc . ) on U N I X :

I f you need t o communicate o r l e a v e a message, u se t h e U N I X mail- system. For t h a t , t ype i n :

% mail oldham message you want t o send I

I fol lowed by a <con t ro l -d> i n t h e first column I

Then, i n due t i m e you w i l l be m a i l e d a r e p l y back (on t h e U N I X m a i l ) . You w i l l come t o know o f t h e r e p l y by t h e system message 'You havb mail' when you l o g i n . When you g e t t h a t message j u s t t ype i n :

% mail

and t h e r e p l y m a i l w i l l be p r i n t e d f o r you. After p r i n t i n g t h e mail t h e system w i l l ask :

save? and i f you want t o save t h e mail t y p e i n a "yV1 and i f n o t t hen an "nt l . If you say y t h e n t h e system w i l l append t h e above mail t o t h e t o p o f t h e f i l e and t e l l you so.

143

Page 159: REPORT THE DESIGN OF A SIMULATOR - EECS at UC Berkeley · Report -- on the Design -- of a Simulator Program ... and if the wafer is to be bak$d how lona, ... for the ztchin? process

Jun 21 23:29 1978 F i l e pargram Page 1

Grammar f o r t h e parser :

144

The grammar f o r t h e l e x i c a l - s c a n n e r d e f i n e s t h e keywords, numders, and s e p a r a t o r s . The grammar f o r t h e parser d e f i n e s s t a t e m e n t s from these keywords and numbers. Each s t a t emen t deals wi th one component of t he system t o be s i m u l a t e d , o r t e l l s t h e program t o run a p a r t o f t h e s i m u l a t i o n , o r merely d e f i n e s a parameter o f t h e s i m u l a t i o n .

The syn tax ( s t r u c t u r e ) , a b r i e f s y n o p s i s , semant ics (meaning) , examples, s p e c i a l f e a t u r e s o f v e r s i o n 0 . 0 , and d e f a u l t v a l u e s f o r v a r i o u s parameters used i n v e r s i o n 0 .0 are s p e c i f i e d as fo l lows :

The n o t a t i o n used i n the fo l lowing s p e c i f i c a t i o n of syn tax i s I : The keywords are g iven i n uppercase l e t te rs . The numbers are s p e c i f i e d by 'numl ' , 'num2' e tc . Square brackets e n c l o s e items t h a t a r e o p t i o n a l . These o p t i o n a l ' terns g i v e d i f f e r e n t f l a v o u r s t o t h e s t a t e m e n t s i . e . t h e y d e f i n e t h e v r i o u s

t h a t t he <i tem> can be s p e c i f i e d z e r o o r more times, and ll[<item>]+ll means t h a t t h e <item> h a s t o be s p e c i f i e d one o r more times. I n he case o f t h e m u l t i p l e occurrence o f an item a maximum l i m i t is a l s , 1 ' k i n d s ' f o r t h e s t a t e m e n t . It[ . . . 1'' by i t s e l f means t h e item is o p t i o n a l and can be s p e c i f i e d z e r o o r one times. mea s

given below. Commas, b l a n k s , and l e f t and r i g h t pa ren theses are

I

t r e a t e d as s e p a r a t o r s between v a r i o u s l e x i c a l t okens (items) and can be used anywhere between the v a r i o u s items. They are used he on ly t o c l a r i f y t he i n p u t s t r u c t u r e .

Thus t h e s t a t e m e n t s are :

1) Spectrum stmt (=lambda s t m t ) , 2 k i n d s { S p e c i f i e s t h e i l l u m i n a t i n g spectrum ( i . e . t h e wavelengths e t c . ) )

1 ) LAMBDA numl where numl i s t h e s i n g l e wavelength i n u n i t s o f microns (micro- meters).

where t h e pair (numl num2) g i v e s t h e wavelength o f t h e l i g h t source i n microns, and t h e r e l a t i v e i n t e n s i t y a t t h a t wavelength and it can be fol lowed by o t h e r similar pairs. The t o t a l number o f pairs specif ied should be less than o r equa l t o 10 . normal izes them by d i v i d i n g each o f them by t h a t sum. A f t e r t h i s no rma l i za t ion on ly these normalized v a l u e s are s t o r e d i n t h e program (which sum up t o 1 . 0 ) .

2 ) LAMBDA (numl num2) L(num3, num4)1*

The program sums up a l l t he r e l a t i v e i n t e n s i t i e s and then

e .g . LAMBDA (0.4047 1 . 0 ) (0.4000, 0.25) specif ies l . O / ( l . O + 0.25) = 0.80 (=80$) r e l a t i v e i n t n s i t y a t t h e wavelength o f 0.4047 microns and 0.25/(1.0 + 0 25) = 0 .2 r e l a t i v e i n t e n s i t y a t 0.4000 microns. f

2) Exposure s t m t ( = dose s t m t ) , 2 k i n d s I

1 DOSE numl I

where numl is the t o t a l i n t e n s i t y i n c i d e n t a t t h e mask i n j n i t s o f m J / ( sq .cm> . where t h e s i m u l a t i o n is carried o u t f o r a t o t a l o f num3 v a l u e s o f t h e i n c i d e n t i n t e n s i t i e s , s t a r t i n g a t numl and going u p t o num2 i n num3 s t e p s .

I 2 ) DOSE numl TO num2, num3

Page 160: REPORT THE DESIGN OF A SIMULATOR - EECS at UC Berkeley · Report -- on the Design -- of a Simulator Program ... and if the wafer is to be bak$d how lona, ... for the ztchin? process

Jun 21 23:29 1978 F i l e pargram Page 2 145

e . g . DOSE 15 TO 30, 4 means -: s t a r t a t 15 mJ/(sq.cm) and go upto 30 mJ/(sq/cm) i n 4 s t e p s o f (30 - 15) / (4 -1 ) = 5.0 mJ/(sq.cm) each. Hence t h e c h i p b l each ing w i l l be s imula ted a t t h e i n t e n s i t i h s o f 15.0, 20.0, 25.0, and 30.0 mJ/(sq.cm).

I

A t p r e s e n t ( v e r s i o n 0.0) t h i s m u l t i p l e b l each ing is n o t implemented. A m u l t i p l e b l each ing s p e c i f i c a t i o n w i l l on ly r e s u l t i n a s i n g l e exposure a t t h e i n t e n s i t y numl.

3) System stmt, t o t a l l y 5 f l a v o u r s ( = 5 k i n d s ) . { S p e c i f i e s t h e imaging system) ~ J c c

1 , 2 , 3 ) PROJ numl num2 [ n ~ m 3 ~ [ n ~ m 4 d + 111 which s p e c i f i e s a p r o j e c t i o n type system wi th numl = t h e numerical a p e r t u r e ( N A ) o f t h e l e n s

e.g. PROJ 0.30 J __ s p e c i f i e s a p r o j e c t i o n type system wi th an NA = 0,30

num2 = t h e wavelength a t which t h i s NA is s p e c i f i e d .

rlu 4. num3,fnumkl+ = i n t h i s c a s e num3 t e l l s t h e number o f values of m t f weights t h a t fo l low. The numJ4;are t h e m t f weight$ t h a t fo l low. These weights are s p e c i f i e d a t e q u a l l y space4 i n t e r v a l s o f t h e normalized s p a t i a l f r e q u e n c i e s f o r t h e lens and l i n e a r l y i n t e r p o l a t & f o r values inbetween.

A t p r e s e n t t h i s number is ignored when s p e c i f i e d . - - r

- e.g. PROJ (0.30 0.4047) 5,(1.00 0.95 0.75 0.60 0.303

s p e c i f i e s a p r o j e c t i o n type imaging system wi th NA = 0.40 ( a t t h e wavelength o f 0.4047 microns ) and t h e fo l lowing 5 p o i n t s g iven on t h e m t f cu rve -

- - normalized s p a t i a l i t - f requency m t f weight 8.00 1 .OQ

.25 .95

.50 .75 .a .75 .60 1.00 * 30

( w i t h l inear i n t e r p o l a t i o n inbetween) I n t h e p r e s e n t v e r s i o n (0 .0 ) t h i s is cons ide red t o hold f o r a l l wavelengths .

4 ,5 ) CONTACT numl [nun2 num31 s p e c i f i e s a con tac t - type imaging system wi th numl = mask t o c h i p s e p a r a t i o n i n microns , num2, num3 = t h e C1 and C2 parameters f o r such a system.

e.g. CONTACT 1.3 (0.25 2 ) ( I ( x ) = I O * C1 exp( -C2 * x / s q r t ( numl * lambda) 1)

s p e c i f i e s a mask t o c h i p s e p a r a t i o n o f 1 .3 microns , and C1 = 0.25 c2 = 2.0

The d e f a u l t v a l u e s o f C1 and C2 are 0.25 and 2.0 r e s p e c t i e l y .

4 ) Objec t stmt ( = mask stmt), 3 f l avour s " I 1 ) L I N E numl

t e l l s t h a t t h e mask h a s on ly a l i n e ( f u l l y opaque ( d a r k ) ) r e g i o n numl microns wide.

2 ) SPACE numl

Page 161: REPORT THE DESIGN OF A SIMULATOR - EECS at UC Berkeley · Report -- on the Design -- of a Simulator Program ... and if the wafer is to be bak$d how lona, ... for the ztchin? process

Jun 21 23:29 1978 F i l e pargram Page 3 146

t e l l s t h a t t h e mask h a s on ly a space ( f u l l y t r a n s p a r e n t ) r eg ion numl microns wide .

t e l l s t h a t t h e mask i s a g r a t i n g wi th a p e r i o d i c p a t t e r n of l i n e s and spaces , numl and num2 microns wide r e s p e c t i v e l y . $

I

3) LINESPACE numl num2

5 ) Devmodel stmt ( = e t c h r a t e s t m t ) , 2 f l a v o u r s 1 ) ETCHRATE ANALYTIC numl num2 nun3

t e l l s t h a t t he e t c h r a t e i s specif ied as an a n a l y t i c f u n c t i i n o f t h e parameter M acco rd ing t o t h e r e l a t i o n ,

r a t e = exp( El + E2*M + E3*MCM and numl = E l , num2 = E2, and num3 = E3

2 ) ETCHRATE CURVE numl Cnum2 [num31+ 1 t e l l s t h a t t h e e t c h r a t e i s s p e c i f i e d by a curve wi th numl p o i n t s and [num3]+ v a l u e s g i v e t h e e t c h r a t e a t equispaced p o i n t s i n u n i t s o f Angstorns/second f o r 0 <= M <= 1.0 . e .g . ETCHRATE CURVE 5 (0.7 0.6 0 .5 0 .2 0 )

g i v e s t h e e t c h r a t e as s p e c i f i e d by t h e 5 p o i n t s on t h e curve :

M e t c h r a t e (A/sec) 0 .oo 0.7 0.25 0.6 0.50 0 .5 0.75 0 .2 1 .oo 0 .0

( w i t h l i n e a r i n t e r p o l a t i o n inbe tween) .

A t p r e s e n t t h e ETCHRATE CURVE ... s t m t has n o t been implem n t e d .

6) Devtime stmt ( = etchtime s t m t ) , 2 k i n d s 1 ( T h i s s t a t emen t i s ve ry s imilar t o t h e exposure s t m t except t h a t i t s p e c i f i e s t h e development time ( = e t c h i n g time) i n t h e deve loping s o l u t i o n . 1 1 , 2 ) DEVTIME numl [ TO num2, num3 1

numl = i n i t i a l v a l u e o f t h e development time i n seconds num2 = final va lue of t h e development i n seconds num3 = number o f s t e p s w i t h i n t h a t range inc lud ing t h e i n i t i a l

e .g . DEVTIME 20 TO 30, 3 and t h e f i n a l v a l u e s

s p e c i f i e s an i n i t i a l development t i m e o f 20 seconds , f i n a l development time o f 30 seconds , and 3 s t e p s i n t h a t range . Hence, t he c h i p w i l l be developed a t s t e p s o f (30-20) / (3-1) = 5 second i n t e r v a l s f o r 20, 25, 30 seconds be fo re t h e e e t ched o u t con tour s are p l o t t e d on t h e o u t p u t .

A t p r e s e n t , v e r s i o n 0.0 t h e number o f s t e p s ( = num3) and t h e i n t e r v a l between t h e s t e p s = (nun2 - numl)/(num3 - 1 ) is computed as above bu t t h e a c t u a l con tour s are g i v e n a t m u l t i p l e s o f t h e s t e p s ize rather than s t a r t i n g a t numl sehonds. i . e . i n t h e above example t h e ou tpu t w i l l g i v e t h e ou tpu t ;8t 5 .0 , 10.0, and 15.0 seconds.

7 ) Resist Model s t m t , on ly one kind (Th i s s t a t emen t g i v e s in fo rma t ion about t h e p h o t o r e s i s t ) RESMODEL numl (num2 num3 num4) (num5 num6) num7

Page 162: REPORT THE DESIGN OF A SIMULATOR - EECS at UC Berkeley · Report -- on the Design -- of a Simulator Program ... and if the wafer is to be bak$d how lona, ... for the ztchin? process

Jun 21 23:29 1978 F i l e pargram Page 4

where numl = wavelength i n microns a t which t h e parameters are

( A t p r e s e n t t h e v a l u e o f numl i s ignored . s p e c i f i e d .

But a number mu: be p r e s e n t i n t h i s p o s i t i o n . )

147

t

num2, num3, num4 g i v e t h e A , B , C parameters o f t h e photo-

(num5, num6) g i v e s t h e r e f r a c t i v e index o f t h e PR as a comdlex

{The v a l u e o f num6 k g e t s ignored because i t can be founc

resist ( P R )

number = (num5 + i*num6)

from A , and B by k = - (A+B)(wavelength) / (4 p i ) where p i = 3.14159265 ...

num7 = g i v e s t h e t h i c k n e s s o f t h e PR i n microns

8 ) Run s i m u l a t i o n stmt, 2 k i n d s {Runs t h e proper machine i n t h e l a b ) RUN [numll

where numl is the number o f t h e machine t o be run as f o l l o i If numl is n o t s p e c i f i e d o r i f numl=O t h e n a l l t h e f o u r machines (see below) are run i n t h e sequence 1 , 2 , 3 , and 1 o t h e r w i s e t h e machine s p e c i f i e d by t h e number numl is run i

fo l lows 1 ) The imaging machine 2 ) The s t a n d a r d b l each ing machine 3 ) The a c t u a l machine 4 ) The e t c h i n e machine

'S :

9

S

9 ) Layers s t a t emen t ( o n l y one k ind ) { s p e c i f i e s t he c h i p c o n f i g u r a t i o n and r e f r a c t i v e i n d i c e s , excep t f o r t h e PR l a y e r ) See o t h e r parts o f t h i s r e p o r t

10) Trial s t a t emen t {Allows t h e u s e r t o i n t r o d u c e new r o u t i n e s i n t h e program i n a s y s t e m a t i c , and convenient way.) See o t h e r p a r t s of t h i s r e p o r t .

Page 163: REPORT THE DESIGN OF A SIMULATOR - EECS at UC Berkeley · Report -- on the Design -- of a Simulator Program ... and if the wafer is to be bak$d how lona, ... for the ztchin? process

Jun 21 23:41 1978 F i l e p 4 / t r i a l d o c u Page 1 148

Using t h e T R I A L - s t m t i n SAMPLE

I n SAMPLE, t h e c o n t r o l l e r ( a t t h e h i g h e s t l e v e l ) is :-

BEGIN

i n i t i a l i z e v a r i o u s t h i n g s ;

REPEAT

g e t a s t m t from t h e i n p u t ; p r i n t it i n an expanded form ;

I F ( ( n o p rev ious e r r o r ) ( t h e 'end o f i n p u t stmts' s t m t ) ) THEN ' execu te ' t h e s t a t emen t ;

UNTIL ( ' end o f i n p u t stmts')

END.

So when t h e c o n t r o l l e r g e t s t h e trial-stmt from t h e i n p u t he first p r i n t s i t o u t i n a longwi th t h e parameters i n i t , t e l l i n g t h a t ' a trial-stmt encoun te red ' . Then f o r execu t ing it he c a l l s t h e s u b r named ' e x t r i a ' . The d e f a u l t form o f t h i s s u b r o u t i n e p r e s e n t i n SAMPLE does n o t do any th ing except keeping t h e program running i f t h e u s e r has n o t provided h i s own e x t r i a s u b r o u t i n e .

When t h e u s e r wants t o write h i s own e x t r i a s u b r , and o t h e r r o u t i n e s he wants t o use through i t , h e should know where h i s i n p u t parameters w i l l be found i n t h e program, and where/how are t h e v a r i a b l e s d e s c r i b i n g t h e v a r i o u s components, machines, p rocess-parameters , and o t h e r p r i n t o u t c o n t r o l swi t ches are s t o r e d i n t h e t o t a l d a t a - s t r u c t u r e of SAMPLE. Then t h e u s e r should write and compile t h e new s u b r o u t i n e and load i t i n SAMPLE over t h e one i n SAMPLE accord ing t o t h e c h e c k l i s t below.

C h e c k l i s t f o r adding a f e a t u r e f o r t h e trial-stmt.

1 ) The numbers i n t he i n p u t are a v a i l a b l e t o t h e e x t r i a s u b r o u t i n e i n t h e common b lock /parsem/ which i s :

COMMON /PARSEM/ ISTMTY , I S T K N D , STNMLS (25 ) , N M I N S T , NMPNT?

o u t o f these v a r i a b l e s N M I N S T t e l l s how many numbers were p res4n t i n t h e trial-stmt fo l lowing t h e keyword TRIAL. The numbers themselves are t o be found i n t h e STNMLS(25) a r r a y i n t h e same sequence as i n t h e i n p u t ( f rom stnmls(1) t o s t n m l s ( n m i n s t ) ) .

(Note : A t least one parameter must be p r e s e n t i n t h e t r ia l -s tmt) .

2 ) The s u b r o u t i n e e x t r i a can use t h e above v a u l e s . This s u b r o u t i n e may have one o f t h e forms :

Page 164: REPORT THE DESIGN OF A SIMULATOR - EECS at UC Berkeley · Report -- on the Design -- of a Simulator Program ... and if the wafer is to be bak$d how lona, ... for the ztchin? process

Jun 21 23:41 1978 F i l e p 4 / t r i a l d o c u Page 2 j I

1 ) ' d e d i c a t e d ' s p e c i a l purpose ( n o t an inc remen ta l s t r a t e g y )

2) 'mu l t ipu rpose ' (and growing) form f o r u s e w i t h is w r i t t e n f o r on ly one s p e c i f i c kind o f u s e , as

e .g . f o r an i n p u t l i k e

TRIAL numl num2 ... and then i n t h e s u b r i t s e l f having a multiway branch l i k e

I F (numl has v a l u e i ) THEN BEGIN

1 ) t r a n s f e r d a t a from stnmls( . I a r r a y , i f any 2 ) c a l l t h e proper r o t i n e s , i f any 3) r e t u r n END

Thus w i t h v a r i o u s d i f f e r e n t v a l u e s ( = v a l u e i ) v a r i o u s d i f f e i a c t i o n s can be a c t i v a t e d .

zn t

3) Put i n t h e a p p r o p r i a t e new common b locks and any o t h e r subprograms.

4 ) Modify t h e 6400 Cal idoscope con t ro l - s t a t emen t s t o have

R U N . t o compile t h e new subprograms CLDR, i = l g o , {rest o f it as b e f o r e ) . t o l oad and run t N e m .

If t h e new subprograms are a l r e a d y a v a i l a b l e i n compiled form ob a f i l e on 6400 then omit t h e RUN c a r d , and put t he f i l e name i n pilace o f ' l g o ' i n t h e CLDR c a r d . (nomap o p t i o n etc. may be used i f d e s i r e d ) .

An example o f t h e above procedure { T h i s is a 'dedica ted ' form, f o r t h e mul t ipurpose form see t h e soulrce

i code g iven f o r t h e c u r r e n t e x t r i a sub r i n sou rce code a t t h e end of p a r t 3)

For i n c o r p o r a t i o n o f t h e d i f f u s i o n program v i a t h e trial-stmt.

1 )

2 )

C C C

C

Subrou t ine d i f f u s ( sigma ) and f u n c t i o n d f ( r , sigma) were wri t t ien. Subr d i f fus ( s igma1 ca l l s t h e d f f u n c t i o n .

The s u b r o u t i n e e x t r i a was w r i t t e n as fo l lows

SUBROUTINE EXTRIA EXECUTES THE TRIAL-STMT FOR THE SPECIAL CASE OF THE DIFFUSION SUBPROGRAM

COMMON /PARSEM/ ISTMTY, ISTKND, STNMLS(251, NMINST, NMPNTR

149

SIGMA = STNMLS( 1 CALL DIFFUS( SIGMA RETURN END

Page 165: REPORT THE DESIGN OF A SIMULATOR - EECS at UC Berkeley · Report -- on the Design -- of a Simulator Program ... and if the wafer is to be bak$d how lona, ... for the ztchin? process

Jun 21 23:41 1978 F i l e p 4 / t r i a l d o c u Page 3

I I

3 ) Then t h e c o n t r o l cards were changed p rope r ly and t h e d i f f u s i o n I

subprogram was run . i

I 4 ) The data g i v e n had t h e s t a t emen t

TRIAL 0.07

where 0.07 was t h e d e s i r e d v a l u e fo r t h e sigma parameter o f sub d i f f u s .

150

Page 166: REPORT THE DESIGN OF A SIMULATOR - EECS at UC Berkeley · Report -- on the Design -- of a Simulator Program ... and if the wafer is to be bak$d how lona, ... for the ztchin? process

Jun 21 23:48 1978 F i l e p f a u d i t Page 1

(The in fo rma t ion i n t h i s f i l e i s somewhat ou tda ted . ( June 1978))

The PFs ( Permanent-Files ) on CDC 6400 are as fo l lows :

A l l PFs are on id=2955, r d = . A l l o f them have t h e RUN compiled r e l o c a t a b l e object-code.

1 ) LEX1 has t h e l ex ica l - ana lyze r .

2) PARSE1 has t h e parser.

3 ) PRPR1 h a s t h e p r e t t y p r i n t e r and i t s d r i v e r ( s u b r t e s t p p ) ( T h i s f i l e was purged on March 6 , 1978) TPRPRl has t h e p r e t t y p r i n t e r ( o n l y ) .

4 ) MAC1 h a s t h e machine(1) ( h o r i z o n t a l image machine) , and some o f r o u t i n e s needed t o i n t e r f a c e i t wi th t h e c o n t r o l l e r . S p e c i f i c a i t has t h e fo l lowing subprograms ( acco rd ing t o U N I X f i l e s i n d i r e c t o r y m a c l ) .

serrmO 1 1 ) errrnOl(n1 s u b r i n t e r 2 2 ) exlmbd, e x s y s t , exob je sinimO 1 3 ) inim01 subrmtf 4 ) f u n c t i o n dmtfna( vnbyvc )

setmtf (ncomp, iwlen) f u n c t i o n wtmtf(icompo, i w l )

subrmimage 1 5) runmcl s u b r image2 6 ) outmcl

5 ) IFM234 has t h e i n t e r f a c e r o u t i n e s needed t o i n t e r f a c e machines ( 1 , ) 2 , 3 , and 4 w i t h t he c o n t r o l l e r . i .e . i t has the fo l lowing subpro- grams ( acco rd ing t o U N I X f i l e s i n d i r e c t o r y mac234) :

p d r i v e l a b 1 ) program d r i l a b s u b r t i t l e 2 ) o u t i t l st s t l ab 3 ) t s t l a b

errmOl( n s i f c 4 ) exs tmt

exrun s i f c l 5 ) errm( macnum, ierrnm 1

exrsmo s i f c 2 6 ) ex laye

exde l t exexpo

s i f c 3 7 ) exdvmo exdvtm

sinim234 8 ) inim

6 ) TRIAL1 has t h e d i f f u s i o n program and i t s i n t e r f a c i n g e x t r i a sub$-.

----. ---- From Mike :

PF LABIIA, id=2838, r d = .

7 ) LABIIA h a s t h e machines 2 , 3 , and 4 . i . e . i t h a s t h e r o u t i n e s runmcl, runmc2, runmc3.

151

t h e . l Y 1

Page 167: REPORT THE DESIGN OF A SIMULATOR - EECS at UC Berkeley · Report -- on the Design -- of a Simulator Program ... and if the wafer is to be bak$d how lona, ... for the ztchin? process

152

% d a t e Thu Jun 22 00:03:05 PDT 1978 % pwd /ae/oldham/sharad/odocu/userdoc %

% Is -1s sendjob c o n t r o l v e r b a l l y - r-- r-- 1 oldham 396 1 Jun 19 00: 13 c o n t r o l -r-x--- 1 oldham 42 1 Apr 1 4 03:08 sendjob -rw-r-- 1 oldham 355 1 Jun 19 0O:ll v e r b a l l y %

% c a t sendjob rcs c o n t r o l -r i n p u t -ooutput -rpw=photox %

% cat c o n t r o l j 9999 , , 20 , ,50. SAMPLE User ( e r l , eecs, ucb) . cpu time limit = 20 ( o c t a l ) seconds . p r i n t l i m i t = 50 pages

. r o u t e is back t o t h e t e r m i n a l common, t ape21 , f a , w r . a t t a c h , l e x l , id=2838. a t t a c h , p a r s e l , id=2838. a t t a c h , t p r p r l , id=2838. a t t a c h , macl , id=2838. a t t a c h , ifm234, id=2838. a t t a c h , mikey, id=2609. c l d r , nomap, i = l e x l , i = p a r s e l , k t p r p r l , i=mac l , i= i fm234, i=mikey. %

% cat v e r b a l l y Some t h i n g s about u s ing SAMPLE f o r non UCB users :

1 ) CPU time limit 2 ) Charges f o r connec t hours 3) Don't worry about s t u p i d mis t akes , U N I X is q u i t e

well-behaving a s y s t e m 4 ) Upper-lower case l e t t e r s and U N I X 5 ) (Try i t r a t h e r t han r ead ing a l l t h e d e t a i l s ) 6 ) Making c o p i e s o f o u t p u t ob ta ined on U N I X f i l e s .

And i n g e n e r a l U N I X u t i l i t i e s .

Page 168: REPORT THE DESIGN OF A SIMULATOR - EECS at UC Berkeley · Report -- on the Design -- of a Simulator Program ... and if the wafer is to be bak$d how lona, ... for the ztchin? process
Page 169: REPORT THE DESIGN OF A SIMULATOR - EECS at UC Berkeley · Report -- on the Design -- of a Simulator Program ... and if the wafer is to be bak$d how lona, ... for the ztchin? process
Page 170: REPORT THE DESIGN OF A SIMULATOR - EECS at UC Berkeley · Report -- on the Design -- of a Simulator Program ... and if the wafer is to be bak$d how lona, ... for the ztchin? process