Cluster Tool Simulation Group (CTSG) Claire Gryphon Luis Ayala Muhaimeinul Khan Tariq Hanif 1
2
3
4
5
Recipe Sequence [Lot processing order] Gases [B, As, C, P, Ge] Processed Implant Elements Wafers Lot Train [L1(25), L2 (23), etc.] Implant Tool 6
7
New Ions Regions 8
9
10
11
Input File Scheduling Recipe Simulation Output Report System Sequence Model Schedule adjustments 12
13
14
15
16
17
18
SourceChangeProcess+sct 1 1`0 1`0 sct Change Time INT sct 0 1 1`0 1`0 sc x Source Changes [st<=0 orelse sc+1 [lcount=length(RepSeq)] INT (t,s,r,pt):: ((st-x)<=0)] @+SourceChangeProcess trains Change Source Check Source Stopped yes yes 1 1`0 st if (trains=[]) 1`0 (t,s,r,pt):: Ready Set Up then 1`0 else trains sc Time 1`sut st INT (tstat,prerep) if (Mode="cont") sut yes if (Mode = "cont") (tstat,prerep) then InitSourceState sut yes then 1`yes sut+SetupDelay(r,prerep) else st else empty 1`InitSourceState 1 1`1000 st yes End ST @+SetupDelay(r,prerep) Ion Generate Train INT Source trains Statistics Done st 1`(AVA,U) [prerep = U orelse SetUpUpdate Ready 1 1`(AVA,U)@0 st r<>prerep] (r,prerep,tstat) yes Source trains 1 1`518 Implant 1`length(RepSeq) Set Up st 1`RepSeq if (trains=[]) if (length(rs)=0) Tool No Of 1 (tstat,prerep) then 1`0 else P_HIGHER pt then 1`yes else empty if (trains=[]) Recipe Lots IF st-x 1`(pt+sct) lc ToolStatus 1 1`0 then 1`0 else 1`lc List Read (t,s,r,SetupDelay if (ll=yes) then 1`0 INT (r,prerep)) 1`st else empty (tstat,r) InRep 1 1`0 Process 1`0 Ready Time inreps No Pro x-1 inrep::inreps INT lots 2 yes x (tstat,prerep) yes (t,s,r,pt) ProcessDelay(r,prerep)+tpt tpt 1`[] 1`[] INT rs Convert 1 Recipe [tstat=AVA lc STRING [(st-x)>=0] Seq rs andalso [c=x] 1`[] To Recipe @+ProcessDelay(r,prerep) lc+1 st>0] RepSeq 1`[] (t,s,r,pt) r::rs ReadRep (inrep,rs) (t,s,r,pt):: 1`0 c-1 trains trains c c+1 (t,s,r,pt) (t,s,r,pro,pt) Lot No 1 Processed Dispatch Read Input File Train Receive Next Lot Next Lot Implantation if (lr=yes) then Check Lots Lot 1 1`0 1`yes else empty c trains (t,s,r,pro,pt) INT trains^^ Train Lot ProList ll Last [(t,25,r,0)] Lot P_MEDIUM (t,s,r,pt):: P_HIGH if (ll=yes) lr lcount+1 Ready RanDet (r) trains yes then x yes Last t t+1 1`yes else 1`no if (length(trains)=0) 1`yes lcount Lot x 1 1`yes then 1`yes else 1`no Generate 1 1`0@0 Tool 1`0 Removed Random Deterioration 1`1 Ava 1 lcount TReady 1 1`1 No Pro Deterioration INT Ready Lots 1 Lot No TINT 0 yes if (ll=yes) then INT 1`yes else empty 1`yes yes Tool 1 1`yes Ava 2 Ready 19
20
21
A A B B, C, A, A, D, E, E D E C E 22
No Recipes New Yes Find smallest Sequence to be Recipe job finished? organized Sequence It tries to minimize set-up times 23
No Recipes New Yes Find largest Sequence to be Recipe job finished? organized Sequence It tries to maximize set-up times 24
Sequence to be organized No Yes Find Recipe Calculate Calculate Shortest Insert Calculate Types Permutation Time Repetitions Time Permutation? New Sequence It minimizes set-up times 25
26
Total Processing Time 6000 5500 Total Processing Time (min) 5000 4500 4000 3500 3000 1 2 3 4 5 6 7 8 9 10 Sequence Number Longest Shortest Permutation 27
Remaining Source Life 1000 900 800 Remaining Source Life 700 600 500 400 300 200 100 0 1 2 3 4 5 6 7 8 9 10 Sequence Number Longest Shortest Permutation 28
Average Average Average Source Algorithm Processing Time Remaining Source Changes (min) Life Longest 4869.1 602.92 2.83 Shortest 3809.9 674.45 2 Permutation 3804.9 676.08 2 29
30
31
32
33
34
Recommend
More recommend