DRAFT - DRAFT - DRAFT - DRAFTDRAFT - DRAFT - DRAFT - DRAFTInter-Office MemorandumToCholla InterestDateJune 8, 1981FromRichard M. BarthLocationPalo AltoDouglas K. BrotzSubjectCholla InterfaceOrganizationPARC/ICL-CSLXEROX Filed on: [Ivy]ChollaInterface.bravoCholla is the system that provides computer assistance to the silicon wafer fabrication line in theIntegrated Circuit Laboratory (ICL). There are several large components in Cholla, includingcommunication, file storage, direct operation of wafer processing equipment, and a lot tracking andrecording system. This document describes the functions available through the Cholla lot trackingand recording user interface. Since this user interface is the one that Cholla users (process lineoperators, technicians, and the process line manager) will use almost exclusively to manipulateprocess line information, this interface will be referred to as the "Cholla interface".The Cholla interface is provided by an enhanced version of Laurel 6. (It is assumed that the readerof this document has an understanding of the Laurel 6 user interface.) All user interaction with theCholla interface is done in the Laurel style, including the manner in which one edits text andinvokes commands. Cholla may be operated as if it were Laurel, providing all of its electronic mailfunctions. When Cholla is operated as Laurel, all the normal Laurel command buttons are availableon the screen. In addition, several Cholla specific interfaces are available, through which the Chollafunctions are provided.The three window format of Laurel is retained in all of the Cholla specific interfaces. Thesewindows will be referred to in this document; they are (from top to bottom on the screen) thetable-of-contents window (or TOC window), the display window, and the composition window. Asin Laurel, free form text editing is available only in the composition window.Transfers to and from ChollaWhen the Laurel commands are on the screen, the system behaves essentially as Laurel 6, but anadditional screen command, Bulletin board, appears in the upper menu. When invoked, theBulletin board command transforms the screen command menus into those of the Cholla BulletinBoard Interface, and the Cholla specific functions become available. The current mail file iscleaned up (deletions made permanent, etc.) when the Bulletin board command is invoked as if theQuit command had been invoked.There are three separate collections of screen commands in Cholla. These are called the BulletinBoard Interface, the Step List Interface, and the Step Interface. In each of these screenarrangements, there are commands available to switch to one or more of the other interfaces. Thespecific commands available in each of these interfaces are described below. Each interface includeskepik#]g7 bq]rX-q7Br ]q]r(-q7Br][( Vq]r-q 7Br Ssr Mr, Fc E @ C@V AuB ?H =Q <W 8D 6F 5^ 3Cd 1y.4 /U - *r;# (B &Z %N t rV Iu r" ~u r> V %u r ur :t rtr t r  4- MR =h+Cholla Interface, June 8, 19812the standard status messages, i.e., date and time, free disk pages and in-box status, and the Usercommand from the standard Laurel upper menu. Each of these interfaces also includes a Laurelcommand in the upper menu, which is used to terminate that particular Cholla interface and toreturn to the normal Laurel 6 interface.The Laurel command appears in the place where the Quit command appears on the Laurel screen.It is intended that Cholla processing continue all the time, therefore, the Quit command is "hiddenaway" in the Laurel interface.The Bulletin Board Interface is the one that is used when Cholla starts up. It may be consideredthe "home" interface of Cholla.The Bulletin Board InterfaceThe Bulletin Board Interface provides an overview of the current activities in the fabrication line.The table-of-contents window displays a list of items that are of interest to the operators,technicians, and process line manager. These items include descriptions of the current wafer lots,equipment status, messages of the day, and short messages to specific operators. The bulletin boardis not directly editable. Instead, edits to the bulletin board are made by sending stylized messagesto a bulletin board process contained in each Cholla workstation.When the Bulletin Board Interface is invoked through the Bulletin board command in any of theother interfaces, the windows are adjusted so that the TOC window, in which the bulletin board islisted, is as large as possible. The standard Laurel operations of scrolling, thumbing, and selectingtable-of-contents entries are available.A title entry is a text entry intended to label a section of the bulletin board. The first entry in thebulletin board is always a title entry, which says "Cholla Bulletin Board". Other title entries may bepresent further on in the bulletin board to set off separate sections of the bulletin board.A step list entry contains the name of a step list (or lot) that is in progress in the fabrication areaalong with several indicators of that lot's current status. The step list name, e.g., MPC580 Lot 12,Bruce Furnace Maint., etc., indicates the name of the step list to which this entry refers. The nextstep of that step list, the machine on which that step will be performed, and the state of that steplist, e.g., in progress, done or several types of hold, are also included in a step list entry in thebulletin board. A description of each step that has been started but not finished in this step list isincluded in this entry. Following these required parts of the entry, arbitrary comments may beappended by sending an appropriate message to the bulletin board process. The step list entriesmay be organized in the bulletin board list by operator responsible for that step list or byequipment required by current or future steps.An equipment status entry contains information relevant to each piece of equipment in thefabrication area. An indication of which step of which lot is being performed, which lot hasreserved that piece of equipment, which lots are within n steps of needing that equipment (where nis a small positive integer, perhaps 1), or whether the equipment is down, awaiting parts, etc. isincluded in the entry.An operator message is a short piece of text that is intended for a specific operator in the processingarea. These messages are preceded by the operator's name followed by a colon.!qfrXGf b#;u `Sr&1u ^r(5 \( YLur(ur W.ur U RE9( Pz Kt H|r40 FG DS C&> ARe ?A <9ur :K2/ 8f 6( 3CtrB 1y25 /\ ,<tr8$ *rS (50 &I % t rtrtr #GU !}H X V . tr@ ;" O KJ  tr.& DN p >\ECholla Interface, June 8, 19813A global message is a message meant to be read by everyone who uses Cholla.The commands that appear on the screen when the Bulletin Board Interface is active include User,Laurel, Step list {}, Filter, New form, Modify, Get {}, Talk {}, and Deliver. The User and Laurelcommands have been described earlier. Descriptions of the other commands follow.The Step list {} command, located in the upper menu, changes the interface presented from theBulletin Board interface to the Step List Interface. If exactly one step list entry is selected prior toinvoking the Step list command, then this step list is used to fill in the brackets automatically. Thisstep list name may be confirmed or replaced by the name of a different step list to be displayed.The Step List Interface is described in more detail below.The Filter {} command, located in the upper menu, controls the items displayed in the table-of-contents window when the Bulletin Board Interface is active. The command is followed bybrackets, in which the desired filter is entered. The user may filter the bulletin board display sothat only her own messages are displayed, only the equipment status entries are displayed, etc.Particular uses of the Filter {} command include displaying only those lots associated with aparticular operator and displaying only those entries that reference a particular piece of equipment.The lower window of the Bulletin Board Interface is similar to the lower window in Laurel. It isused for composing and delivering messages just as in Laurel. When the Bulletin Board Interface isentered from Laurel, the contents of the lower window are left unchanged to facilitate thecomposition of a message to the bulletin board process in reaction to a message received throughthe Laurel interface.The New form command, located in the lower menu, is the same as the New form command inLaurel. It is used to initialize the contents of the lower window to a skeleton message to be editedinto a message to be delivered.The Modify command, located in the lower menu, is used to initiate a change in any entry in theBulletin Board. This command may be invoked only when exactly one item in the bulletin board isselected. The lower window is initialized to a skeleton form that refers to the selected entry.Subsequent editing and delivery of the message will complete the modification of the bulletinboard. If the composition window is at minimum size (as when the Bulletin Board Interface isentered), then the Modify command will expand that window so that the entry is made visible.The Get {} command, located in the lower menu, is the same as the Get {} command in Laurel. Itis used to initialize the lower window to various stylized forms for requesting changes to the bulletinboard.The Talk {} command, located in the lower menu, allows access to a low-level equipment driver.The brackets in the Talk {} command are filled in with the name of the piece of equipment that isto be controlled. When invoked, this command will transform the lower menu into one thatcontains commands and parameter brackets suitable for low-level control of the specific piece ofequipment. The lower window records the interactions with a typescript. Each low-level talkermenu includes a Terminate command that terminates the equipment talker and returns the lowermenu to its normal Bulletin Board Interface appearance.The Deliver command, located in the lower menu, is the same as the Deliver command in Laurel.Bulletin board changes are always sent through this command.!qfrXGf bt r; ^Zur \uru rurururururururu [rQ Wu rD Ui T urR RES Pz: MurR K>I Is%? GE Eu r= DR @^ >=& = 9! ;AA 9w 6ur8ur 4:P 2p .urA -3C +i=# )P '= & urC "urur `  ur7 F K 05+ e:% ur+ 7 ^ur'ur < L>\aCholla Interface, June 8, 19814The Step List InterfaceThe Step List Interface provides access to the step list for a particular lot or maintenance sequence.The table-of-contents window displays the list of steps in order as specified by the particular steplist. This list is also displayed in the Step Interface described below. The essential differencebetween the Step List and Step Interfaces is that the Step List Interface is designed for modifyingentire step lists, whereas the Step Interface is designed for operating on individual steps. Thecommands available, especially in the lower menu, differ accordingly.When the Step List Interface is invoked through the Step list command in any of the otherinterfaces, the windows are adjusted so that the TOC window, in which the step list is displayed, isas large as possible. The standard Laurel operations of scrolling, thumbing, and selecting table-of-contents entries are available.Each entry in the step list contains the following items in the following order: -- The is a single character from the set ~ (not started), s (started), p (in progress), d (processdone), and * (finished). The meanings of these states will be described further on under the StepInterface.The is the name of this step, optionally including a version number. When the is ~ (not started), the name part of the refers to a specification mail file, from whichthe description of the processing to be done during the step will be taken. If the version number ispresent, then the particular specification in that file corresponding to this version number is used.If no version number is present, then the specification in that file that is specified as the genericspecification at the time that the step is started will be used. Once a step has been started (see theStep Interface), the step name refers to the entry in this lot's Done file.The part depends on the requirements of the specification referred to by the . Specifications may leave some parameters unspecified. These parameters are named in thespecification, and must appear in the section of the step list entry if any exist. The section is surrounded by parentheses, and contains a list of name: value pairsseparated by commas. For example, if a specification uses parameters Dose and Time, then a valid section would be (Dose: 150, Time: 75). The treatment of units is to be determined.The , which may include a version number, is the name of the data record usedto record the results of this step. The name refers to a mail file in which data record templates areheld. If a version number is present, then the particular data record in that file corresponding tothis version number is used. If no version number is present, then the data record template in thatfile that is specified as the generic data record at the time that the step is started will be used.When a step is started , the data record is copied to this lot's Done file and that copy is used fromthat point on. The section follows the double hyphen. This part of the step list entry may containarbitrary text, and may be edited by the operator. For example, the may containspecial notes to the operator or notes from the operator regarding unusual circumstances connectedwith that step.!qfrXGf bt ^r<* \.6 [P YLJ W V UE RE4ur  PzE NQ L IsP FA D7?) BlI @ =/Z ;e[ 9[ 7\ 6)< 4:M 2pAtr .R -3%; +i=' )? 'N & O "3, f &> 722 lF !tr  eW S b  >YM0Cholla Interface, June 8, 19815The commands that appear on the screen when the Step List Interface is active include User,Laurel, Bulletin board, Step list {}, Prototypes, Step, Display list {}, Edit, and Update. The Userand Laurel commands have been described earlier. Descriptions of the other commands follow.The Bulletin board command, located in the upper menu, changes the interface presented from theStep List Interface to the Bulletin Board Interface. When the Bulletin Board Interface appears, thestep list entry corresponding to the step list displayed in the Step list {} command is selected.The Step list {} command contains in its brackets the name of the current step list. Any step listmay be displayed by invoking this command and typing in the name of that step list. When theStep list {} command is invoked, the Step command replaces the Display list {} command in themiddle menu.The Prototypes command displays the table-of-contents of the Prototypes.mail file. This mail filecontains the templates of processing sequences, and is useful as source text for editing another steplist. When the Prototypes.mail table-of-contents is displayed, the Display list {} command replacesthe Step command in the middle menu.The Step command, located in the middle menu, changes the Interface presented from the Step ListInterface to the Step Interface (see below). (This command is not available when thePrototypes.mail table-of-contents is displayed.) From either the Step List or Step Interfaces, thiscommand behaves like a Display command in Laurel, with the exception that both the display andcomposition windows are filled in. The display window is filled in with the contents of thespecification referred to by the selected step list entry, and the composition window is filled in withthe contents of the data record referred to by the selected step list entry. No modifications to thestored data or the text displayed are made by the Step command, see the Start command of theStep Interface for more details.The Display list {} command, located in the middle menu, is used to display an arbitrary step list inthe display window. This command is available only when the Prototypes.mail table-of-contents isdisplayed. Display list {} is useful for obtaining boilerplate step lists for use as source selectionswhen editing the current step list. The brackets are filled in automatically to correspond to theselected step list in the Prototypes.mail file when the Display list {} command is invoked.The Edit command, located in the lower menu, is used to initiate a change to the current step list.The current step list is copied into the composition window, replacing any prior contents of thatwindow. Once in the composition region, the step list may be edited (the finished entries areprotected). A subsequent Update command will complete the modification. If the compositionwindow is at minimum size, then the Edit command will expand that window so that the step list ismade visible.The Update command, located in the lower menu, is used to replace the contents of the current steplist with the contents of the composition window. If the composition window contains any text, thattext is checked for proper syntax, and if the syntax is acceptable, the text replaces the current steplist. As the Update command is potentially dangerous, a confirmation is required, and only certainusers with permission may use this command. When an update to a step list is performed, thebulletin board entries that reference that step list are also updated.The Step Interface!qfrXGf bVur `Suru ru ru rururururu ^rur'+ [u rD YLJ W)u r Tu r; RE!< Pzu rurur N K>u r'- Is32 GDur Eur BlurX @()6 >A# = ur@ ;A\ 9w34 7F 5*urur 4 0ur> . V - ur4 +E(: ){)ur & urR $> V "s:$ ur& $ur  urK d  Y BurO w R F t >\2rCholla Interface, June 8, 19816The Step Interface provides access to the individual steps of the current step list. The table-of-contents window displays the list of steps in order as specified by the particular step list just as inthe Step List Interface.When the Step Interface is invoked through the Step command in the Step List Interface, thewindows are adjusted so that the TOC window is only a few lines high with the selected step entryvisible, and the remaining space is divided equally between the display and composition windows.The standard Laurel operations of scrolling, thumbing, and selecting table-of-contents entries areavailable.Editing a step's data record is allowed only if the state of that step is s (started), or d (processdone). Attempting to edit a data record for a step in any other state results in flashed exceptionmessages. A step that is marked ~ (not started) requires that it be started before editing may takeplace. A step marked p (in progress) requires that automatic processing be terminated (eithernormally or explicitly cancelled) before editing is allowed. Finally, attempting to edit a step that ismarked * (finished) results in a warning and a request for confirmation. If confirmed, editing isallowed, but the state of the step is automatically reset to d (process done).The next step is the first step in the step list that has not yet been started. If all steps prior to thenext step are in finished or rejected state, then the next step is automatically selected when the StepInterface is entered. If some step prior to the next step is not finished or rejected, then the firstsuch step is automatically selected.The commands that appear on the screen when the Step Interface is active include User, Laurel,Bulletin board, Step list {}, Step, Start, Process, Cancel, Process done, Reject and Finish. TheUser and Laurel commands have been described earlier. The Laurel command is augmented sothat if the composition window contains a data record that has been edited but not yet filed, thenits contents are reflected back to the Done file before returning to Laurel. Descriptions of the othercommands follow.The Bulletin board command, located in the upper menu, changes the interface presented from theStep Interface to the Bulletin Board Interface. When the Bulletin Board Interface appears, the steplist entry corresponding to the step list displayed in the Step list {} command is selected. If thecomposition window contains a data record that has been edited but not yet filed, then its contentsare reflected back to the Done file.The Step list {} command, located in the upper menu, is used to show which step list is currentlydisplayed. Invoking this command from the Step Interface changes the Interface presented to theStep List Interface, using the current step list. If the composition window contains a data recordthat has been edited but not yet filed, then its contents are reflected back to the Done file.The Step command, located in the middle menu, is the same as the Step command in the Step ListInterface. If the state of the selected step is ~ (not started), the specification and data record aretaken from the specification file and data record file as described under the Step List Interface. Ifthe state of the selected step is not ~, then the Done file is consulted for the correct data record andspecification. If the composition window contains a data record that has been edited but not yetfiled, then its contents are reflected back to the Done file.The Start command, located in the lower menu, initiates the recording of data for a step. Only thenext step may be started. This command starts the step that is currently displayed in the display!qfrXGf bQ `SG ^ [/ur YLV W3- U,6 S Pzd NN L9+ K P IPF" GO EN BItr] @~^ >M <$ 9wAurur 7u rururururu rurur 5urur,ur 4b 2L tr< 0 -u rD +E04 ){;ur '"A %tr "su rG O 5.  Gtr ur%ur E"  \ B"tr2 wY 3tr ;ur< ptrY )>\pCholla Interface, June 8, 19817window. The specification and data record files are checked again to be sure that the correctspecification and data record are being used. If the specification is not the same version as the onethat this operator has last seen, then a warning message is flashed to alert the operator to this fact(see operator characterization files, below). The data record is partially filled in to show the exactspecification that is being used and the specific values for any parameters, and this data record iscopied to the Done file for the current step list. The state portion of the step list entry for this stepis changed to s (started), and the bulletin board is updated. From now on, information regardingthis step will be taken from the Done file. If any step other than the next step is selected at thetime the Start command is invoked, then an exception message is flashed. If the compositionwindow contained a data record that has been edited but not yet filed, then its contents arereflected back to the Done file.The Process command, located in the lower menu, appears only when the current step displayed inthe display and composition regions is capable of being processed through Cholla automatically.Thus, it does not appear if the state of the current step is not started, process done, rejected, orfinished. Invoking the Process command initiates automatic processing. The state of the step in thestep list entry is changed to p (in progress). When the automatic processing is finished, the state ofthe step is changed to d (process done).The Cancel command, located in the lower menu, appears only when the current step is in state p(in progress), i.e., it is being processed through Cholla automatically. Invoking Cancel terminatesautomatic processing and puts the step in s (started) state. Once automatic processing hascompleted normally, the Cancel command disappears from the Cholla screen.The Process done command, located in the lower menu, appears only when the state of the currentstep displayed in the display and composition regions is s (started). Invoking Process done makesthe state of the step d (process done). Thus, this command provides the manual analog to theProcess command, so that the operator can manually indicate when processing has completed butall testing and completion of the data record has not been finished.The Finish command, located in the lower menu, is used to indicate that a step is completely done.All processing must be complete, and the data record must be completely filled out. The datarecord is checked to make sure that this is the case. If so, the contents of the composition windoware reflected back into the Done file for this step list, and the state of the step in its step list entry ischanged to * (finished). If not, an exception is flashed, a confirmation is required, and ifconfirmed, the step is marked * (finished), but a message is sent to the process line manager toinform him of the exceptional condition.The Reject command, located in the lower menu, is used to indicate that a step has been rejectedand that suitable recovery actions must be taken. If the specification for a step contains a field thatdescribes additional steps that must be taken for standard recovery, then the Reject commandmakes the appropriate changes to the step list and bulletin board. If no such standard recoveryaction is indicated, then the Reject command changes the step list status to "Hold" and updates thebulletin board. Any step list placed in "Hold" status must be taken out of "Hold" status by meansof appropriate edits to the step list and messages to the bulletin board process.Specification files!qfrXGf bD `S51 ^8. \A& ZL Y) trS W^G U!tr#tr Sur C QL P4tr Lur@ J.1 I- W Gbur- EM C( @[urD >9ur <B :ur+ 7u r; 5Pu r 3./ 2)urE 0_D ,ur$4 +"T )WJ 'tr? %I #+5 "-( ur8 c &D ur [;% ur3 b Q otz (>X]Cholla Interface, June 8, 19818The mail files that contain specifications for process steps are called specification files. Eachspecification file is named to correspond to the type of process step it describes, e.g., LPCVD.mailor DryEtch.mail.The first message in each specification file must contain two header fields, labelled NextVersion:and GenericVersion:. The value of each of these fields is a version number. Each specificationmessage contained in a specification file contains a Version: field that uniquely identifies it withinthe file. The NextVersion: field of the fiest message specifies the number for the next specificationto be entered in that file. The GenericVersion: field refers to the specification with that versionnumber. That specification is the one that is used by step lists that refer to a specification withoutexplicitly mentioning a version number.New specifications are added to a specification file by sending a message to the Cholla specificationfile process. That process will add the correct new version number and update the first messageappropriately. Similarly, a new generic version number for a specification file is set by sending anappropriate message to that same process. It is the intent of the Cholla system that no editing ofold specifications ever be done, instead new specifications are merely appended to the specificationfiles.Prototype fileA special mail file, named Prototypes.mail, holds the generic step lists for the standard processesused in the processing facility. Processes are identified by text in the Subject: field of the message,e.g.,Subject: NSIL II process.A Laurel runnable program will be able to take a generic process description as appears in thePrototypes.mail file, to ask several questions regarding parameters, and to create a new specific steplist for a new run. The results of this program appear in the lower window in a message that isready to be delivered to the Cholla workstations. Final edits may be made manually beforedelivering the message to start the new lot.Operator filesThe particular specifications that an operator has read are recorded in a special file called anoperator file. An operator file has the structure of a Laurel message, with fields named for thespecification files. The value of each such field is the version number of that specification that theoperator has seen most recently. Any time the Start command is invoked, the operator filecorresponding to the current operator is checked. If the version of the specification that is beingused is the same as the version for that specification that is listed in the operator file, then nospecial action occurs. If the versions are not the same, then a warning message is flashed and aconfirmation is required. When the confirmation is given, the operator file is updated to includethe version of the specification just read.!qfrXGf bHtr `SI ^ [L YLA WC# UK SH R"L PW' Le K(8 IP8. G` E,8 C ?dt ;rI :'R 8]5 2L!= 0Q .M ,1) +", &t #$rC !Yt rL c ! ur& %? /\ d R C + R =S TIMESROMAN  TIMESROMAN TIMESROMAN LOGO TIMESROMAN  TIMESROMAN    # - 7 AIj/L JM. chollainterface.bravoBrotzJune 9, 1981 1:01 PM