Specific Process Knowledge/Lithography/EBeamLithography/JEOL JBX-9500FSZ/SDFJDFIntro
Job file preparation for JEOL 9500
Introduction
In order to write a pattern with the e-beam system you will have to generate a set of job files. These files are essentially a set of instructions which tell the system what pattern to write, where to place each pattern along with specific writing conditions, exposure dose, alignment conditions and calibration conditions. Apart from this you will naturally also have to generate the pattern you wish to expose.
The JEOL system uses the proprietary EXPRESS (EXposure PREparation System for Scheduling) system for job (schedule) definition. This system uses a compiled architecture in which all files must be prepared in advance and in turn be compiled into an executable job that can then be executed during an exposure session. From a user perspective this means that there is a significant amount of work to be done up front before any exposure can take place. It also means that the learning curve is fairly steep as users have to learn a significant amount about job file preparation in order to carry out even simple exposures. The benefit is however that at runtime, execution is relatively simple with a high likelihood of success, provided that all the preparatory work has been done correctly. At DTU Nanolab it is a strict requirement that all job files are prepared ahead of an exposure session. The JEOL 9500 system is a valuable resource and users must always show up well prepared not to waste tool time on file preparation. Users who squander valuable tool time away due to poor preparation will lose access to the tool.
JEOL 9500 file types and generalized flow
In order to execute pattern writing the job must be defined in a Schedule file (SDF) and at least one Jobdeck file (JDF). Both are text files. A pattern file defining the layout is naturally also necessary.
The SDF file contains high level job information and references a Jobdeck file (JDF) for further job information. The SDF file should contain the following information:
- Substrate cassette to use for the exposure
- Beam current and calibration parameter file to use
- Alignment type, if applicable
- Exposure dose
- Beam pitch
- Reference to Jobdeck file (JDF) with pattern placement information
The SDF will reference one or more JDF and each of these should contain the following information:
- Substrate slot ID to expose
- Initial and cyclic calibration path
- Pattern array definition, i.e. number of pattern instances and position
- Alignment mark information if alignment is used
- Reference to pattern file(s) (.V30)
- Dose modulation table if applicable
In this way the SDF is the governing file that calls a number of JDF that in turn will call and specify a pattern or sets of patterns. In order to execute the job the files must be compiled into a magazine file, this is done using the SCHD command in the command prompt on the EBL computer. After compilation the resulting magazine file should be visually validated to some degree to ensure the pattern and placement appears to be correct, this is done with the ACHK program of the system. Finally the job can be executed to expose the substrate(s).
Bear in mind that this is a generalized job flow intended to illustrate the flow with a minimum of complexity. There are several exceptions to the above and several job parameters are interchangeable between SDF and JDF.
The system is extremely syntax intolerant. The smallest syntax error will result in a compilation error and no magazine file will be generated. The error messages provided by the compiler can be hard to understand and thus it can sometimes be time consuming and frustrating to compile a working magazine file. This is another reason while a working set of job files should always be generated ahead of an actual exposure session. Remember, an exposure session is simply execution of a well prepared job.
In the following we will discuss details of the most commonly used commands in the SDF and JDF and provide example files for various types of jobs. We will start with a simple exposure without pattern alignment, i.e. a first print exposure. In JEOL terminology this is called “mask exposure mode” whereas exposure with alignment is refered to as “direct exposure mode”.
Schedule File - no alignment
A simple example of a SDF is shown below. It has a single sequence and hence it will expose a single substrate. A detailed description of the commands is given below.
;thope220101.sdf example file MAGAZIN 'MYWAFER' #8 %4A JDF 'thope220101',1 ACC 100 CALPRM '2na_ap4' DEFMODE 2 RESIST 240 SHOT A,16 OFFSET(-5000,1000) END 8
The SDF has a three sections; a header section, a sequence section and a footer section. The job information is found in the sequence sections and there can be multiple sequences defined. Usually one sequence will be used per substrate or per beam current for multi current jobs.
SDF header section MAGAZIN ['name’] The SDF starts with specifying the name of the job. The name must be uppercase alphanumeric and limited to 9 characters. First character must be a letter. The name will appear in the exposure job list upon execution, but it is hardly important what it is. We recommend using your initials. In the example above the job will be named “MYWAFER”.
SDF sequence section
- [cassette number]
Specification of the cassette number to expose, i.e. from which slot of the autoloader the cassette is loaded from. This must naturally be the cassette your substrate is loaded into. In the above example the exposure will be carried out on the cassette from autoloader slot number 8.
%[slot ID] Most cassettes have multiple substrate slots. This designates which slot of the cassette to expose. 6” cassettes only have a single slot but one must still designate that slot. In the example slot 4A will be exposed. This is slot A of a 4” wafer cassette.
JDF [‘name’],[layer number] This specifies the name of the JDF for the exposure and the layer number of the JDF to use. The JDF can be set up to have multiple layers each addressing its own pattern file if needed. Please note this “layer” has nothing to do with layers of the pattern file. We advise users to name their JDF with user initials followed by exposure date. In the example the JDF called is “thope220101.jdf” using layer 1.
ACC [acceleration voltage] This designates the acceleration voltage to be used, unit is kV. While the system can in principle run at other acceleration voltages the stabilization time is prohibitively long and thus the system is only used at 100 kV. This must always be stated as ACC 100 as in the example.
CALPRM [‘calibration file name’] The calibration parameter command designates which calibration file to use for the exposure. This sets the exposure current and aperture used. In the example exposure will be done at 2 nA using aperture 4. It is important to stress that one cannot simply choose another beam current by writing another number here. The command references a pre-defined calibration file on the system and only a selected set of calibration files exist. These can be found and listed in the CALIB window on the system.
DEFMODE [number] This parameter determines if the system writes in 2 deflector mode or 1 deflector mode. In 2 deflector mode the primary deflector positions the beam within the main writing field with the subdeflector positions the beam with each 4 x 4 µm subfield. Writing speed is significantly higher in 2 deflector mode and the system should always be used in mode 2.
RESIST [dose] This determines the exposure dose in units of µC/cm2. In the example a dose of 240 µC/cm2 is used. In many cases it can be necessary to perform a dose test to get the optimum result. A dose test can be set up in several ways, please consult with the dose testing section in Labmanager.
SHOT A,[number] The SHOT A command determines the beam pitch, i.e. the distance between beam positions when filling in a pattern. The beam pitch grid is 0.25 nm and hence the number stated here signifies the beam pitch in units of 0.25 nm. In the example a beam pitch of 16 units will result in a beam pitch of 4 nm.
OFFSET(x,y) The OFFSET command can be used to shift the position of the entire content of the referenced JDF, unit is µm. In the example the pattern specified in the JDF is shifted 5000 µm left and 1000 µm up.
SDF footer section END [number] The END command serves two purposes. First of all it tells the software that this is the end of the job. Secondly, the number after the END command determines which cassette to load from the autoloader to the stage after job execution. In the example a pattern is written on cassette 8 and since the END command also ends with 8, no cassette change is made. If it had terminated with “END 1”, cassette 8 would be transferred out and cassette 1 would be transferred in after pattern writing. If the job terminates with an END command without a number, the current cassette will be unloaded and the stage left empty. This is not allowed since the stage will loose position tracking after extended time without a cassette on stage. Always either leave the current cassette on stage or transfer another cassette.