Specific Process Knowledge/Lithography/EBeamLithography/FirstEBL: Difference between revisions

From LabAdviser
Thope (talk | contribs)
Thope (talk | contribs)
 
(282 intermediate revisions by the same user not shown)
Line 1: Line 1:
<span style="background:#FF2800">THIS PAGE IS UNDER CONSTRUCTION</span>[[image:Under_construction.png|200px]]
'''Feedback to this page''': '''[mailto:labadviser@nanolab.dtu.dk?Subject=Feed%20back%20from%20page%20http://labadviser.nanolab.dtu.dk/index.php/Specific_Process_Knowledge/Lithography/EBeamLithography/FirstEBL click here]'''


===My First E-Beam Lithography Process on the JEOL 9500===
Content and illustration by Thomas Pedersen, DTU Nanolab unless otherwise noted.


==Introduction==
=My first JEOL 9500 exposure tutorial=
The JEOL 9500 E-beam writer offers world class performance this however comes at a price of a fairly steep learning curve. This page is specifically intended to guide new users through their very first exposure on the system. In this guide we will set up a simple wafer/chip exposure. The complexity is kept at a relatively low level and we encourage new users to make sure their first job (first training session) matches this complexity level. More complex jobs can be run when a user is more familiar with the system.
The JEOL 9500 E-beam writer offers world class performance, this however comes at a price of a fairly steep learning curve. This page is specifically intended to guide new users through their very first exposure on the system. This tutorial will demonstrate how to set up a simple dose test in an efficient manner. The complexity of this job is kept at a low level and we encourage new users to make sure their first job (first training session) matches this complexity level. More complex jobs can be run when a user is more familiar with the system. We will in particular request that users do '''not''' expect to do alignment during their first training session.


Training on the JEOL 9500 system can be requested by sending a mail to [mailto:e-beam@nanolab.dtu.dk e-beam@nanolab.dtu.dk]. Please attach a process flow and any other relevant information for your process. Be advised that the booking calendar on the JEOL 9500 system is always very full, typically a user can expect the first training session about four weeks after the initial request.


==General workflow==
A video showing the execution of the tutorial job [https://www.youtube.com/watch?v=-wZpUNAq8dA is available here.]
The general workflow of E-beam lithography on the JEOL 9500 system is somewhat similar to that of UV lithography with a few added steps. The general workflow is


*Resist coating and baking
==Tutorial job==
*Application of discharge layer on substrates with >100 nm non-conducting films
The tutorial demonstrates one way to set up a dose test of a particular pattern on a blank 4" silicon wafer. Dose testing is often necessary to obtain the desired critical dimension and it is vital to be able to set up such a job in an efficient manner. In this tutorial we set up the dose variation (modulation) by manually writing a short modulation table. For more complex dose tests or dose test of proximity corrected patterns one should consider using the [[Specific_Process_Knowledge/Lithography/EBeamLithography/BEAMER#ChipPlace_-_easy_dose_test_setup|Chipplace module]] in Beamer.
*Pattern preparation, possibly including Proximity Effect Correction
*Jobdeck file (JDF) and schedule file (SDF) preparation
*Job file compilation
*Job file verification
*Sample mounting
*Cassette transfer
*System calibration
*Exposure
*Cassette and sample unloading
*Discharge layer removal
*Development


In the following we will look at each step in more detail and show step by step how to make a wafer/chip exposure.
The pattern used in this example is a DTU logo with a size of 5 x 8 µm<sup>2</sup>.


=Resist coating=
==JEOL 9500 workflow==
DTU Nanolab offers a few different standard resist as given in the table below. Typically layers of 50-500 nm are applied. The Gamma UV & E-beam coater has predefined recipes for various thickness of CSAR resist. For other thickness or other resist the more manual Lab Spin 2 or 3 coasters can be used. If using the Lab Spin coaters please refer to the table below for information on thickness versus spin speed and soft bake temperature and baking time suggestions.
The workflow of the tutorial job is summarized below and explained in detail in the subsequent sections. In order to optimize usage of the system steps 1 through 3 must all be done ahead of the booked session on the JEOL 9500 system.  


Table with: Resist, polarity, process guideline link, spin speed, baking info, developing agent, removing agent
#Substrate preparation - resist coating
#Pattern preparation - export to JEOL52 V3.0 (V30) format
#Job preparation
##Jobdeck file (JDF) and schedule file (SDF) preparation
##Job file compilation
##Job verification
#Exposure session
##Sample loading
##System calibration
##Exposure
##Cassette and sample unloading
#Development


For our example process we will use a standard 4” silicon wafer and coat it with 250 nm CSAR on the fully automatic Gamma E-beam & UV coater using recipe xxxx.
The following will provide details of all steps in this process.


DTU Nanolab provides the following standard EBL resists.  
==Resist coating==
DTU Nanolab offers a few different standard resist as given in the table below. Typically layers of 50-500 nm are applied. [[Specific_Process_Knowledge/Lithography/Coaters/Spin_Coater:_Gamma_E-beam_and_UV_processing|The Gamma E-beam and UV coater]] has predefined recipes for various thickness of CSAR resist. For other thickness or other resist the more manual [[Specific_Process_Knowledge/Lithography/Coaters/labspin|LabSpin 2 or 3 coasters]] can be used.  


{|border="1" cellspacing="1" cellpadding="3" style="text-align:left;" width="95%"
{|border="1" cellspacing="1" cellpadding="3" style="text-align:left;" width="95%"
|-
!colspan="11" border="none" style="background:silver; color:black;" align="center"|DTU Nanolab supplied standard EBL resists and process guides
|-
|-


Line 43: Line 45:
|'''Resist'''
|'''Resist'''
|'''Polarity'''
|'''Polarity'''
|'''Manufacturer guidelines'''
|'''Manufacturer'''
|'''Technical reports'''
|'''Spin Coater'''
|'''Spin Coater'''
|'''Polynomial'''
|'''Thinner'''
|'''Thinner'''
|'''Developer'''
|'''Developer'''
|'''Rinse'''
|'''Rinse'''
|'''Remover'''
|'''Remover'''
|'''Polynomial'''
|'''Process flows (in docx-format)'''
|'''Soft bake'''
 
|-
|-


|-
|-
|-style="background:WhiteSmoke; color:black"
|-style="background:WhiteSmoke; color:black"
|'''[[Specific_Process_Knowledge/Lithography/CSAR|CSAR 62 / AR-P 6200.09]]'''
|'''[[Specific_Process_Knowledge/Lithography/CSAR|CSAR AR-P 6200.09]]'''
|Positive
|Positive
|[https://www.allresist.com/wp-content/uploads/sites/2/2020/03/AR-P6200_CSAR62english_Allresist_product-information.pdf CSAR 62 info]
|[http://www.allresist.com AllResist]
|[[Specific_Process_Knowledge/Lithography/Coaters#Spin_Coater:_Gamma_E-beam_and_UV|Spin Coater: Gamma e-beam & UV]] or [[Specific_Process_Knowledge/Lithography/Coaters#Manual_Spin_Coaters|Spin Coater: Labspin 02/03]]
|[https://www.allresist.com/wp-content/uploads/sites/2/2020/03/AR-P6200_CSAR62english_Allresist_product-information.pdf AR-P 6200 info]  
|[[Specific_Process_Knowledge/Lithography/Coaters#Spin Coater: Gamma E-beam and UV|Spin Coater: Gamma E-beam and UV]] or [[Specific_Process_Knowledge/Lithography/Coaters#Manual_Spin_Coaters|Spin Coater: LabSpin 02/03]]
|a = 7252, b = -0.454
|Anisole
|Anisole
|AR-600-546, AR-600-548, N50, MIBK:IPA
|
*AR-600-546  
*AR-600-548  
*N50  
*MIBK:IPA
|IPA
|IPA
|AR-600-71, 1165 Remover
|
| a = 7252.2, b = -0.454
*AR-600-71  
|180C, 3-10 min
*Remover 1165
|[[media:Process_Flow_CSAR.docx‎|CSAR]] <br> [[media:Process Flow CSAR with Al.docx|CSAR with Al]] <br> [[media:Process_Flow_LOR5A_CSAR_Developer_TMAH_Manual.docx|LOR5A with CSAR]] <br>


|-
|-
|-style="background:LightGrey; color:black"
|-style="background:LightGrey; color:black"
|'''[[Specific_Process_Knowledge/Lithography/ARN8200|Medusa 82 / AR-N 8200.06]]'''
|'''[[Specific_Process_Knowledge/Lithography/ARN8200|Medusa AR-N 8200]]'''
|Negative
|Negative
|[https://www.allresist.com/wp-content/uploads/sites/2/2020/03/SXAR-N8200-1_english_Allresist_product_information.pdf Medusa 82 info]
|[http://www.allresist.com AllResist]
|[[Specific_Process_Knowledge/Lithography/Coaters#Manual_Spin_Coaters|Spin Coater: Labspin 02/03]]
|[https://www.allresist.com/wp-content/uploads/sites/2/2020/03/SXAR-N8200-1_english_Allresist_product_information.pdf AR-N 8200 info]
|
|[[Specific_Process_Knowledge/Lithography/Coaters#Manual_Spin_Coaters|Spin Coater: LabSpin 02/03]]
|AR 300-47
|a = ?, b = ?
|AR 600-07
|AR 300-47:DIW (1:1)
|DIW
|DIW
|BOE
|
|
| a = ?, b = ?


|-
|-
|-style="background:LightGrey; color:black"
|-style="background:LightGrey; color:black"
|'''AR-N 7520'''
|'''AR-N 7500.18'''
|Negative
|Negative
|[[media:AR-N7500-7520.pdf‎|AR-N7500-7520.pdf‎]]
|[http://www.allresist.com AllResist]
|[[Specific_Process_Knowledge/Lithography/Coaters#Manual_Spin_Coaters|Spin Coater: Labspin 02/03]]
|[https://www.allresist.com/wp-content/uploads/sites/2/2020/03/AR-N7500_english_Allresist_product-information.pdf AR-N 7500 info]
|[[Specific_Process_Knowledge/Lithography/Coaters#Manual_Spin_Coaters|Spin Coater: LabSpin 02/03]]
|a = 17126, b = -0.435
|PGMEA
|PGMEA
|AR 300-47
|
*AR 300-47:DIW (4:1)
*MIF726:DIW (8:5)
|DIW
|DIW
|
|
| a = ?, b = ?
*AR 300-73
*O2 plasma
|


|}
|}


Resist thickness as function of spin speed on Lab Spin 2/3 can be estimated from the parameters above as y = ax^b, where y is resist thickness in nm and x is spin speed in RPM.
Resist thickness as function of spin speed on Lab Spin 2/3 can be estimated from the parameters above as y = ax<sup>b</sup>, where y is resist thickness in nm and x is spin speed in RPM.


=Discharge layer application=
Electron beam exposure of non-conductive substrates will lead to a rapid and local build up of electrons and hence a build up of charge that will deflect the incident beam and distort the pattern writing. Non-conductive substrates can be coated with a metal film to provide sufficient conductance. A typical way to do this is to apply a 20 nm thermally evaporated Al layer on top of the resist layer. Please do not apply metals from e-beam evaporation sources as this process will to some extend exposure the resist with electrons from the metal evaporation process. Al is preferred due to its low atomic mass and hence minimum amount of forward beam scattering and also since it is very easy to etch away after e-beam exposure.


Since we are using a regular silicon wafer in our example job we will not need to apply a discharge layer.
The tutorial job uses a standard 4” silicon wafer and the wafer is coated with 180 nm CSAR on the fully automatic [[Specific_Process_Knowledge/Lithography/Coaters/Spin_Coater:_Gamma_E-beam_and_UV_processing|Gamma E-beam and UV coater]] using recipe 4318. [https://youtu.be/3JhM3rmLVpA A video demonstrating usage of our Gamma coaters can be found here.] Bear in mind the video shows the UV resist coater and not the E-beam resist coater but they are identical in operation.
 
{| style="border: none; border-spacing: 0; margin: 1em auto; text-align: center;"
|-
| [[image:TPE02755.jpg|517px]]
|-
| colspan="1" style="text-align:center;|
2", 4" and 6" substrates can be coated with AR-P6200.09 (CSAR) on [[Specific_Process_Knowledge/Lithography/Coaters/Spin_Coater:_Gamma_E-beam_and_UV_processing|Spin Coater: Gamma E-beam & UV]]. Photo: Thomas Pedersen.
|}


=Pattern preparation=
=Pattern preparation=
Users will typically have their pattern in either CIF or GDS format. The JEOL 9500 system can only expose patterns defined in the v30 format and thus as a minimum the pattern must be translated to v30. This can be done with Beamer from Genisys. In this example job we will also show how to apply a Proximity Effect Correction (PEC) to the pattern, this is also done in Beamer.  
In order to expose a pattern it must be converted to V30 format (JEOL52 V3.0) using Beamer. Beamer can read several different file formants, we however recommend using GDS as your input format. Beamer can do a lot of different operations on a pattern to better optimise it for writing. In this tutorial we will skip all of these operations and simply export the GDS pattern to a V30 file. For more advanced functionality and pattern preparation please refer to our [[Specific_Process_Knowledge/Lithography/EBeamLithography/BEAMER|Beamer pattern preparation guide.]]


PEC is a complex topic and we shall only touch upon it lightly in this guide. The need for PEC arises from the fact that the high energy incident electrons to some extend will back scatter from the sample or cause secondary electrons from the sample to interact with the resist and cause a secondary exposure of the resist. On a silicon substrate this secondary exposure can lead to exposure of the resist up to 30 µm away from the incident beam. Due to this areas with dense patterns will receive a relative high secondary exposure compared to sparse patterns and thus a higher total dose. To mitigate this a Proximity Effect Correction is applied to intentionally reduce the dose on dense patterns and ensure all pattern elements receive the same dose.
Beamer uses a node based system where each node performs an action on the pattern. In this simple example we will just have an import node to import our GDS file and connect it to an export node to output it as V30. The setup is thus as simple as can be and will look like below, the left hand side shows the simple node setup while the right side shows the pattern which in this case is a DTU logo.


In order to prepare your .v30 file you must have access to Beamer. It is available on the support PC in the EBL control room as well as on a computer in room xxx of building 347. Users should always make the necessary PEC and file conversion well ahead of their booked slot on the JEOL 9500 system.
{| style="border: none; border-spacing: 0; margin: 1em auto; text-align: center;"
|-
| [[image:BEAMER_lJDTeECL5G.png|800px]]
|-
| colspan="1" style="text-align:center;|
Beamer uses a node based system where nodes are applied in sequence. In this example there is only an import and an export node.
|}


Jobs in Beamer are setup in a node based manner. We start with an import node that simply imports your CIF/GDS file into Beamer. Once a node is setup you must press the arrow in the node to execute it. The result can be seen in the viewer. Verify visually that your design appears to be imported correctly.


In this case our GDS file contains multiple layers and thus we need to extract the particular layer needed for exposure. We will use an extract node to extract that particular layer.  
Each node has several options and these can be changed by double clicking the node. For the export node we will need to choose the correct machine in '''Machine Type''', the DTU Nanolab system is a '''JBX-9500FS (100kV)'''. On the advanced tab we will choose '''Floating''' field ordering and '''Center to Field'''. This will ensure that our features/pattern will be written in the center of the writing field. The setup will look like the parameters below. Running this setup will import the GDS file and export it to V30.


As our design consist of both dense and sparse aras we will apply a Proximity Effect Correction by adding a PEC node. The setup of the PEC node can be somewhat overwhelming as it has many options and settings which are beyond the scope of this guide. We will keep it simple and use a template from the local archive. The closest match to our sample in the archive is the Si substrate with 200 nm PMMA resist. After execution of the PEC node our design has been broken into xx different dose classes. To see the dose modulated design you need to turn on “dose view” and show the dose table in the tree of the viewer. In this case we can see that our design has been assigned dose modulations between x.xx and x.xx. A dose modulation of 1.3 means that these elements will receive 1.3 times the base dose, i.e. a dose increase of 30% from the base dose (that we have yet to define).  
{| style="border: none; border-spacing: 0; margin: 1em auto; text-align: center;"
|-
| [[image:BEAMER_setup.png|800px]]
|-
| colspan="1" style="text-align:center;|
Export options used in the example job.
|}


As a final step in Beamer we will export the design to .v30 using an “Export” node. This node also has many options for particular ways to choose writing order, writing field sizing and many other parameters that goes beyond the scope of this guide. The only thing we will do is to change the machine type from the default “FS 9300” to “FS 9500” since our system is the 9500 and choose the location to save to output to. After execution the .v30 file is saved to your selected location. Along with it will also appear a .JDI file. This is a text file that contains the dose modulation table, this is needed in the next step where we will setup the job files.


You can find a video demonstration of the procedure right here [link].
Beamer is available on the preparation PC in the cleanroom and on the external Beamer PC (DTU-EM00AWQD) by Remote Desktop. Please book the External Beamer PC in Labmanager in order to use it.


=SDF and JDF file preparation=
=SDF and JDF file preparation=
In order to execute the pattern writing a significant number of parameters must be defined for the job. These are defined in two text files; the Schedule Definition File (SDF) and Jobdeck Definition File (JDF). The system has a close to zero tolerance on syntax error from the user and thus these files should be prepared carefully, usually by using templates and correcting the parameters to suit your exposure. We encourage users to download and use SuperEdi for editing SDJ/JDF files. As the JEOL 9500 is operated from a Unix computer you must save your SDF/files in Unix format, available as a option from the “Save As” menu in SuperEdi.


For our example job we will use the following files.
In order to execute the pattern writing a significant number of parameters must be defined for the job. These are defined in two text files; the Schedule File (SDF) and Jobdeck File (JDF). The system has a close to zero tolerance on syntax error from the user and thus these files should be prepared carefully, usually by using templates and correcting the parameters to suit the exposure. We encourage users to [https://www.wolosoft.com/en/superedi/ download and use SuperEdi] for editing SDJ/JDF files. As the JEOL 9500 is operated from a Unix computer you must save your SDF/JDF files in Unix format, available as an option from the “Save As” menu in SuperEdi.
 
{| style="border: none; border-spacing: 0; margin: 1em auto; text-align: center;"
|-
| [[image:SuperEdi.png|189px]]
|-
| colspan="1" style="text-align:center;|
The bottom right corner of SuperEdi must say '''UNIX''' for the JEOL 9500 computer to interpret the file correctly at compilation.
|}
 
The SDF is the governing job descriptor. It defines which cassette to use for exposure, which slot of that cassette to expose, which beam current to expose with and the base dose of the exposure. The SDF will reference the JDF with further job information such as which pattern to write and where to write the pattern. The JDF will in turn reference a (or set of) V30 pattern files that hold the pattern(s) to write.
 
For our example job we will use the following SDF. The commands are briefly described, for a more in depth explanation please consult the SDF/JDF preparation guide.


<pre>
<pre>
___________________________________________________________________________
MAGAZIN    'FIRSTEBL'         The magazine name is FIRSTEBL; max. 9 capital letters
MAGAZIN    'MYFIRSTEBL'     The magazine name is MYFIRSTEBL; max. 20 capital letters


#8                            Cassette from auto stocker shelf 8 is used
#8                            Cassette from auto stocker shelf 8 is used
%4A                           4" wafer in position A is exposed
%4B                           4" wafer in position A is exposed
JDF    'myfirstebl',1           Layer block no. 1 of the jdf-file 'myfirstebl.jdf' is exposed     
JDF    'myfirstebl',1       Layer block no. 1 of the jdf-file 'myfirstebl.jdf' is exposed     
ACC 100                      Acceleration voltage of 100keV is used (can not be changed)
ACC 100                      Acceleration voltage of 100keV is used (can not be changed)
CALPRM '6na_ap5'           The condition file 6na_ap5 is used, i.e. exposure at 6 nA  
CALPRM '6na_ap5'             The condition file 6na_ap5 is used, i.e. exposure at 6 nA  
DEFMODE 2                    Both deflectors are used (default)
DEFMODE 2                    Both deflectors are used (default)
RESIST 240                   A base dose of 240 µC/cm2 is used  
RESIST 200                   A base dose of 200 µC/cm2 is used  
SHOT A,16                     The shot step between individual beam shots is 4 nm - steps of 0.25 nm
SHOT A,16                     Shot pitch is 16 units (of 0.25 nm), i.e. 4 nm
OFFSET(0,0)                  An offset of 0 µm is applied in both X and Y
OFFSET(0,0)                  An offset of 0 µm is applied in both X and Y
      
      
END 8                           After exposure, cassette 8 will be remain on the stage
END 8                         After exposure, cassette 8 will be remain on the stage
</pre>
 
 
Pattern placement is controlled with the ARRAY command in the JDF. The goal of this example exposure is to create a dose test and thus we will use the ARRAY command to create an array of the pattern (the DTU logo) and we will use the MODULAT command to modulate the dose for each instance in the array. The ARRAY command takes six parameters as ARRAY(x,nx,dx)/(y,ny,dy), where x and y defines the center of the first element, nx and ny defines element numbers and dx and dy defines the array element pitch. The array defined in the example below will create a 10 x 1 array with an x-axis pitch of 50 µm.
 
Each array element is assigned a dose modulation using the MODULAT command. The MODULAT command takes two parameters as MODULAT(r,v), where r is the shot rank and v is the shot time modulation in %. The shot rank is defined during export from Beamer. For a simple design as used in this example that is not proximity corrected all elements of the pattern will be in shot rank 0. If a design is proximity corrected pattern elements will be assigned to different shot ranks. The shot time modulation is a simple percentage increase to the base dose defined by the RESIST command in the SDF. The modulation table in this example will thus expose with a base dose of 200 µC/cm<sup>2</sup> in element (1,1) and a dose of 200 µC/cm<sup>2</sup> + 45% = 290 µC/cm<sup>2</sup> in element (10,1). The resulting pattern and modulation is visualised below.
 
 
<pre>
JOB/W    'FIRSTEBL',4                          4inch wafer


___________________________________________________________________________
PATH  DRF5M                                  Cyclic calibration definition
  ARRAY      (50,10,50)/(50,1,0)              10-1 array around (50,50) with 50 µm pitch in x-axis
    ASSIGN P(1)->((1,1),SHOT1)                Pattern and modulation assignment to each array element
    ASSIGN P(1)->((2,1),SHOT2)
    ASSIGN P(1)->((3,1),SHOT3)
    ASSIGN P(1)->((4,1),SHOT4)
    ASSIGN P(1)->((5,1),SHOT5)
    ASSIGN P(1)->((6,1),SHOT6)
    ASSIGN P(1)->((7,1),SHOT7)
    ASSIGN P(1)->((8,1),SHOT8)
    ASSIGN P(1)->((9,1),SHOT9)
    ASSIGN P(1)->((10,1),SHOT10)
  AEND
PEND


LAYER  1                                      Definition of pseudo layer 1
P(1)  'dtu_logo_um.v30'                      Assignment of P(1) to V30 file
SPPRM 4.0,,,,1.0,1                            Beam parameters
STDCUR  2.2 ;nA                              Beam current + 10% overhead
SHOT1: MODULAT (( 0,0))                      Dose modulation tables
SHOT2: MODULAT (( 0,5))
SHOT3: MODULAT (( 0,10))
SHOT4: MODULAT (( 0,15))
SHOT5: MODULAT (( 0,20))
SHOT6: MODULAT (( 0,25))
SHOT7: MODULAT (( 0,30))
SHOT8: MODULAT (( 0,35))
SHOT9: MODULAT (( 0,40))
SHOT10: MODULAT (( 0,45))
END
</pre>
</pre>


!SDF and JDF file content with line numbers!


Description of commands.
{| style="border: none; border-spacing: 0; margin: 1em auto; text-align: center;"
|-
| [[image:DoseArray.png|1000px]]
|-
| colspan="1" style="text-align:center;|
Resulting setup from the example job. The pattern (DTU logo) is instanced 10 times with a pitch of 50 µm. The dose is modulated between 200 and 290 µC/cm<sup>2</sup>. Pattern size is increased  for visibility, actual size is 5 x 8 µm<sup>2</sup>.
|}
 


Much more information on various commands in SDF/JDF files are available in the SDF and JDF file manual. [link]
Much more information on various commands in SDF/JDF files are available in the SDF and JDF file manual. [link]
=Moving job files to exposure system=
At this stage we have a V30 file containing the pattern data and an SDF and JDF file describing the exposure parameters. These must be compiled into a magazine file (.mgn) which will completely define the exposure job. Magazine files are compiled directly on the control computer and hence the V30, SDF and JDF files have to be transferred to this computer using the FFFTP client available on the support PC. For first time use FFFTP has to be setup on your user account on the support PC. This is done by the following steps:
*Login to the support PC using your DTU credentials.
*Open the “FFFTP setup” folder found on the desktop
*Double click "FFFTP setup.reg" and accept the warnings
Now FFFTP is setup with access to the JEOL 9500 computer on your Windows account. Open FFFTP and click "Connect" in. It should open with your M drive on the left side and the JEOL9500 PC on the right hand side. You can now drag and drop files between the two folders or browse for other folders. The SDF and JDF files go in the same folder, the pattern data however goes into a separate folder. The correct folders are:
*SDF/JDF: /home/eb0/jeoleb/job/1nlab
*V30: /home/eb0/jeoleb/pattern/nanolabv30
{| style="border: none; border-spacing: 0; margin: 1em auto; text-align: center;"
|-
| [[image:FFFTP2.png|800px]]
|-
| colspan="1" style="text-align:center;|
User interface of the FFFTP file transfer program. Local drive is on the left window and destination drive is on the right window.
|}


=Job file compilation=
=Job file compilation=
At this stage we have a v30 file containing the pattern data and an SDF and JDF file describing the exposure parameters. These must be compiled into a magazine file (.mgn) which will completely define the exposure job.
Once the files are transferred to the EBL control computer they can be compiled into a magazine file. The Unix interface has several desktops. Desktop one is used for EBL control and desktop two is used for file compilation. In a terminal window on desktop two the SDF, JDF and V30 files can be compiled into a MGN file with the SCHD command. Compile the files with the following procedure


Magazine files are compiled directly on the control computer and hence the v30, SDF and JDF files have to be transferred to this computer using the FFTP client available on the support PC. For first time use FFTP has to be setup on your account on the support PC.
*Select a terminal window
*Make sure to be in the correct folder by writing "cd job/danchip"
*Compile by writing "schd -exptime sdffilename", replacing sdffilename with the actual filename
*Verify that the compiler presents a sequence list with a time estimate, this indicates successful compilation


Login to the support PC using your DTU credentials.
Open “FFTP”
Click “New connection”
Write “9500new” in the naming field
Fill in the control computer IP address 10.54.?.? in the “?” field
In the destination field add the control computer job file library path “eb0/job/danchip/??”


FFTP supports drag and drop of files, not only between its own two windows but also to Windows Explore windows.
{| style="border: none; border-spacing: 0; margin: 1em auto; text-align: center;"
|-
| [[image:9500terminal1.png|501px]]
|-
| colspan="2" style="text-align: center;|
Terminal window after compilation. The first line changes working directory, second line calls compilation.
|}


With FFTP correctly setup, connect and move your SDF and JDF files to [path].
Move the v30 file to [path]


Once the files are transferred to the EBL control computer we can compile the files into a magazine file. The Unix interface has several desktops. Desktop one is used for EBL control and desktop two is used for file compilation. Switch to desktop two, select the terminal window and write “schd -exptime sdffilename”.
If compilation is successful the terminal will provide a table of exposure sequences and their corresponding exposure times. Also, a .MGN file will be generated in the same folder as the SDF file. This file holds all relevant exposure information and it is this file one will load to the Expose module to initiate exposure.


If compilation is successful the terminal will provide a table of exposure sequences and their corresponding exposure times. Also, a .mgn file will be generated in the same folder as the SDF file.
If compilation does not succeed the terminal will respond with a number of errors indicating which line(s) of the SDF or JDF file is causing the error. The system is extremely sensitive to syntax error and all users will experience compilation errors. The errors can be difficult to decipher, please refer to the '''Compilation Error Guide. UPDATE'''


If compilation does not succeed the terminal will respond with a number of errors indicating which line(s) of the SDF or JDF file is causing the error.  
=Job file verification=
To ensure that the pattern and exposure parameters are correct the MGN file should always be verified to some extent. It is rarely feasible or necesarry to manually validate all parts of a design but one should at least inspect a few parts of the pattern to verify it looks correct and also verify that pattern placement is as expected. This can be done using the Array Check Program '''(ACHK)''' found on the '''Analysis''' pane. The '''Analysis''' pane is usually open on the right hand side of the second desktop, if not, it can be opened from the '''EBX Menu.''' Pattern check can be done by the following procedure


=Job file verification=
*Open '''ACHK''' from the '''Analysis''' pane
To ensure that the pattern and exposure parameters are correct one should always do a brief verification of the content of the .mgn file. From the right hand side of desktop two click on the “ACHECK” tool. From the window opening up choose “File” -> “Open” and open your magazine file.  
*Click  “File” -> “Open” and open your magazine file
*The pattern placement is now shown. Zoom into the pattern by left click and drag a box to zoom on
*Click an instance of the pattern, it changes color to red
*To the se actual pattern of the selected instance click '''View''' -> '''Shot shape display...'''
*In '''Shot shape display''' click '''Simulation'''
*Change the '''Objective aperture''' on the drop down to the correct aperture, in this case aperture 6 and click '''OK'''. This will set the correct beam size for visualization
*In '''Shot shape display''' check off '''Field boundary, Colored shot rank, Fill in a pattern''' and choose '''ASD''' on the '''Shot form''' drop down
*The pattern is now visible and one can zoom in to see individual beam shots and how they overlap with the selected scan pitch
*Once verified, close '''Shot shape display''' and '''Array check program'''
 
{| style="border: none; border-spacing: 0; margin: 1em auto; text-align: center;"
|-
| [[image:9500achk1.png|500px]] || [[image:9500achk3.png|500px]]
|-
| colspan="2" style="text-align: center;|
'''ACHK''' shows how patterns are placed on the substrate. It will however only show the bounding box of the pattern. In this case the pattern is very small compared to the 4" wafer and thus one has to zoom into the center to see the 10 instances of the design.
|}
 
 
{| style="border: none; border-spacing: 0; margin: 1em auto; text-align: center;"
|-
| [[image:9500shot1.png|400px]] || [[image:9500shot2.png|500px]] || [[image:9500shot3.png|500px]]
|-
| colspan="3" style="text-align: center;|
Use Shot shape display to verify that the pattern and beam pitch/overlap looks as intended.
|}


=Sample mounting=
=Sample mounting=
The JEOL 9500 system uses a proprietary sample cassette format and thus each sample must be mounted in an appropriate cassette. Cassettes are available for wafer sizes from 2” to 8”. Smaller chips must be mounted in dedicated chip cassettes with slots of four different sizes available. Slots are all 50 mm in width, the heights are 20, 12, 8 or 4 mm. A chip must have one side length at least 1 mm larger than the height such that it can safely be clamped in the slot. Thus the smallest possible chip to expose must have one side length of at least 5 mm.
The JEOL 9500 system uses a proprietary sample cassette format and thus each sample must be mounted in an appropriate cassette. Cassettes are available for wafer sizes from 2” to 8”. Smaller chips must be mounted in dedicated chip cassettes with slots of four different sizes available. For more information on available cassettes and their specifications please refer to the [[Specific Process Knowledge/Lithography/EBeamLithography/Cassettes|JEOL 9500 cassette specifications page.]]
 
For the tutorial job we are using a 4" wafer and hence it must be mounted in one of the 4” cassettes, in this case the 4" aluminium cassette (BM2P-011). If a cassette has been used recently it might be found on the cassette preparation table already, otherwise it will have to be retrieved from the cassette transfer system. This is done from the operation screen of the cassette transfer system.  


The system is fitted with an auto stocker system that can store 10 cassettes. It is thus possible to prepare multiple substrates and define an automated job to execute exposure of several substrates across several cassettes.
{| style="border: none; border-spacing: 0; margin: 1em auto; text-align: center;"
|-
| [[image:AutoStocker.png|800px]]
|-
| colspan="2" style="text-align: center;|
Operation screen of the automatic cassette transfer system / auto stocker.
|}


Examples of cassettes are seen below. [Insert images]
Retrieving a cassette from the automatic cassette transfer system
*Toggle the system to "Local" operation mode
*Identify the shelf number for the cassette in question
*Use the "shelf selector" to choose that number
*Press the transfer button to transfer it from the shelf to the port/door
*Once the robot is done, click "Open" to unlock the door
*Open door, retrieve cassette and place it on a layer of tissues on the cassette preparation table
*Close the door
*Click "Close" to lock the door
*Set the system back to "Remote" operation


For our exposure we will use a 4” cassette. The procedure is best illustrated with a video [link].


Users are allowed to unload a cassette from the auto stocker system and mount their sample(s). Users are however not allowed to put cassettes back into the auto stocker system and thus users must always contact the Nanolab E-beam loading team prior to exposure to have their cassette loaded into the auto loading system. The E-beam loading team can be contacted at [email]. Upon loading a cassette Nanolab staff will visually verify the sample has been inserted and secured correctly. Incorrect sample mounting can lead to severe damage to the internal parts of the JEOL 9500 exposure system.
Once the cassette is placed up-side down on the preparation table the slot cover can be removed by pressing down and rotating the spring loaded locking mechanism. The substrate can be placed in the slot using the vacuum tweezer found on the table. As the cassette is up-side down, the substrate must be loaded with resist side down.


***Any user found to violate this rule will be permanently excluded from using the JEOL 9500 system.***
 
{| style="border: none; border-spacing: 0; margin: 1em auto; text-align: center;"
|-
| [[image:TPE02761.jpg|517px]] || [[image:TPE02763.jpg|517px]]
|-
| colspan="2" style="text-align: center;|
Samples can be loaded into appropriate cassettes on the cassette preparation table.
|}
 
 
The system is fitted with an auto stocker system that can store 10 cassettes. It is thus possible to prepare multiple substrates and define an automated job to execute exposure of several substrates across several cassettes. After sample loading the cassette must be placed in the automatic cassette transfer system. Users are '''NOT''' allowed to do this. Only Nanolab staff who are members of the E-beam Loading Team may place cassettes into the automatic cassette transfer system. Hence users must always contact the Nanolab E-beam loading team prior to exposure to have their cassette loaded into the cassette transfer system. The E-beam loading team can be contacted at [email]. Upon loading a cassette Nanolab staff will visually verify the sample has been installed and secured correctly. Incorrect sample mounting can lead to severe damage to the internal parts of the JEOL 9500 exposure system.
 
<div class="center" style="color:red; width:auto; margin-left:auto; margin-right:auto;">'''Any user found to load cassettes to the cassette transfer system themselves will be permanently excluded from using the JEOL 9500 system.'''</div>
 
 
{| style="border: none; border-spacing: 0; margin: 1em auto; text-align: center;"
|-
| [[image:TPE02777.jpg|300px]]
|-
| colspan="1" style="text-align:center;|
Nanolab staff member loading the 4" wafer cassette to the automatic cassette transfer system. Photo: Thomas Pedersen.
|}


=Cassette transfer=
=Cassette transfer=
Prior to exposure the chosen cassette has to be transferred from the auto stocker system and to the main chamber. This is done from the “Loader” module on the control computer
Cassette transfer is controlled from the '''Loader''' program. If it is not open it can be opened from the '''EBX Menu''' by clicking '''Ldr.'''
 
 
{| style="border: none; border-spacing: 0; margin: 1em auto; text-align: center;"
|-
| [[image:EBXMenu.png|500px]]
|-
| colspan="1" style="text-align:center;|
All essential programs can be started from the EBX Menu.
|}
 
{| style="border: none; border-spacing: 0; margin: 1em auto; text-align: center;"
|-
| [[image:EBLLoader.png|600px]]
|-
| colspan="1" style="text-align:center;|
The Loader window controls cassette exchange between the writing system and the cassette transfer system.
|}
 
The '''Loader''' window shows available cassettes in the automatic transfer system and which cassette is currently inside the writing system. In this example cassette 10 is inside the writing system. Cassettes can be moved between the writing system and the transfer system with the '''Carry in''' and '''Carry out''' buttons. '''Carry in''' will move the selected cassette to the writing system while '''Carry out''' will move the selected cassette to the selected shelf in the transfer system. In order to move a particular cassette into the writing system the current cassette must naturally be moved out first.
 
The '''EXCH EVAC''' switch must always be left unchecked as in this example. If it is toggled on the exchange chamber (load lock) will be pumped down after a carry out operation and the next carry in operation must then wait for the pump down (15 min) before it can be executed. Always leave '''EXCH EVAC''' off.
 
Prior to exposure the chosen cassette has to be transferred from the cassette transfer system and to the main chamber. This is done from the “Loader” module by first moving out the current cassette from the main chamber and then moving in the cassette used for exposure. Carry out takes about 4 minutes while carry in takes about 15 min since the exchange chamber has to pump down to vacuum. The procedure is
 
*Make sure '''EXCH EVAC''' is toggled off
*Press '''Carry out''' to move the current cassette back to the shelf it was loaded from
*After about 4 min the status light will be solid green, select the cassette to use
*Press '''Carry in'''
*The system will be ready after about 15 min


=System calibration=
=System calibration=
After cassette transfer the system has to be calibrated with the chosen beam current profile. This is done in a mostly automated sequence with only minute input from the user.
After cassette transfer the system has to be calibrated with the chosen beam current profile. This is done in a mostly automated sequence with only minute input from the user. The sequence is explained in detail in the following but in overview it is
 
*Select and restore the system to the chosen beam current profile
*System self check
**Execute a current measurement
**Execute absorbed electron mark detection
**Execute backscatter electron mark detection
*Execute self calibration routine '''daily'''
*Verify drift is low
*Map height profile of sample
*Save data into calibration profile
*Execute pattern writing
 
==Select and restore the system to the chosen beam current profile==
The SDF specifies which system condition file to use for the exposure, this determines the beam current. In this tutorial the chosen condition file is '''6nA_ap5'''. Thus we restore the system and cloumn to this condition file. This is done from the '''Calibration''' window, if it is not open it can be opened from the '''EBX Menu'''.
 
*Select the '''RESTOR''' subprogram in the '''Calibration''' window
*Click '''Select condition file...'''
*Browse and select the 6nA_ap5 condition and click '''OK'''
*Click '''Edit parameter...'''
*Click '''Execute''' in the '''RESTOR''' window
 
The bottom line of the '''Calibration''' window will now display ''Received an intermediate result RESTOR(DEMAG)'' to indicate it is working. Setting up for the new condition file takes about 1 minute and the bottom line will say ''Finished subprogram RESTOR'' when done.
 
{| style="border: none; border-spacing: 0; margin: 1em auto; text-align: center;"
|-
| [[image:9500calib1.png|600px]] || [[image:9500restor1.png|400px]]
|-
| colspan="2" style="text-align:center;|
'''Calibration''' and '''RESTOR''' windows.
|}
 
==System self check==
With the correct condition file restored the next step is to measure beam current and verify that it is close to the expected value (within 5%).
 
*Select the '''Current''' subprogram and click '''Execute''' in the '''Calibration''' window
 
The stage moves to the faraday cup to measure beam current. This takes 15 seconds and the '''Calibration''' window will display the measured beam current. Note this down for the Labmanager usage log. If the value is more than 5% of the expected beam current call the e-beam responsible for assistance.
 
{| style="border: none; border-spacing: 0; margin: 1em auto; text-align: center;"
|-
| [[image:9500current1.png|600px]]
|-
| colspan="1" style="text-align:center;|
Result display of current measurement.
|}
 
 
The next self check is to see if the machine can find the Absorbed Electron (AE) mark and the Backscatter Electron (BE) mark. The procedure is
 
*Select the '''INITAE''' subprogram and click '''Execute'''
*Verify that the graph in the SSP window shows the characteristic step function centered at 0 on the x-axis
*Select the '''INITBE''' subprogram and click '''Execute'''
*Verify that the graph in the SSP window shows the characteristic step function centered at 0 on the x-axis
 
{| style="border: none; border-spacing: 0; margin: 1em auto; text-align: center;"
|-
| [[image:JEOLSSP1.jpg|400px]] || [[image:JEOLSSP2.jpg|400px]]
|-
| colspan="2" style="text-align:center;|
Correct result of '''INITAE''' (left) and '''INITBE''' (right).
|}
 
Correct execution will look like above. '''INITAE''' uses the beam to scan a PN-junction which the system uses to determine beam position and shape. '''INITBE''' uses the beam to scan a gold marker on the stage which the system uses for position and distortion correction of the beam placement within the writing field. The top row shows the signal, the following rows shows the 1st and 2nd derivative, respectively.
 
== Auto calibration ==
The system can auto calibrate itself using the AE and BE stage marks. The system will automatically measure beam position at various locations of the writing field to determine position errors. A correction matrix will be applied and the beam position will be remeasured to validate the result. The sequence takes about 8 minutes to execute. This should be done every time beam current is changed, i.e. a new condition file is restored. The procedure is
 
*From the '''Calibration''' window choose '''Commands''' at the top of the window and click '''Batch'''
*From the '''BATCH parameter''' window click '''Condition file...'''
*Browse for the '''daily''' file and click '''OK'''
*Click '''Execute'''
 
 
{| style="border: none; border-spacing: 0; margin: 1em auto; text-align: center;"
|-
| [[image:9500dayli1.png|600px]]
|-
| colspan="1" style="text-align:center;|
Load the '''daily''' batch command and execute it.
|}
 
During calibration the system will measure and display the beam position at 49 location of the writing field. The position error (in nm) can be read of the matrices during execution, an example is shown below. At the end of the process the '''Calibration''' window will display '''Finished BATCH CALIB'''.
 
 
{| style="border: none; border-spacing: 0; margin: 1em auto; text-align: center;"
|-
| [[image:9500dist1.png|600px]]
|-
| colspan="1" style="text-align:center;|
Example of beam offset matrix shown during auto calibration. Average beam offset is below 1 nm within the 1000 x 1000 µm<sup>2</sup> writing field in this example. Image: Thomas Pedersen.
|}
 
==Measure stage drift==
The next step is to measure stage drift. This is done from the '''Calibration''' window.
 
*Select the '''Drift''' subprogram and click '''Execute'''
 
The system will scan the drift mark (BE mark) to determine drift since last drift reset. The absolute value is not important since it is unknown when the drift subprogram was last reset. The time variation of the drift measurements is however important thus one should compare two drift measurements taken 1-2 minutes apart. Luckily the '''dayli''' batch command ended with a drift measurement, having made one manually we can now compare the result, see the example below.
 
 
{| style="border: none; border-spacing: 0; margin: 1em auto; text-align: center;"
|-
| [[image:9500drift1.png|600px]]
|-
| colspan="1" style="text-align:center;|
Comparison of two drift measurements.
|}
 
In this example the two drift measurements are made a bit more than 1 minute apart (look at timestamps). The x-axis drift has changed from 65.4 nm to 64.2 nm, i.e. a change of 1.2 nm in about 1 minute. The y-axis drift has changed from 85.3 nm to 86.8 nm, a shift of 1.5 nm in about 1 minute. Thus the drift is about 1-1.5 nm/min in this particular example. This is a typical value. If you experience drift of 5-10 nm/min, give the system 10 min to thermally equilibrate and try again. If drift is above 10 nm/min please call the e-beam personnel.
 
==Measure height profile of sample==
The height of the sample surface must be known to focus the electron beam properly at the surface. This can be done using the '''HEIMAP''' subprogram.


=Discharge layer removal=
*Select on the '''HEIMAP''' subprogram in the '''Calibration''' window
After exposure the discharge layer must be removed. In the case of thermal Al this is conveniently done using MIF 726, the UV developing agent found on both the “Gamma TMAH UV developer” and “TMAH manual developer” tools. The etch rate of thermal Al in MIF 726 is 30 nm/min. For etching a standard 20 nm thermal Al layer we recommend to choose a 60 s developer cycle on either tool.
*Click '''Edit Parameter...'''
*This opens the '''HEIMAP''' parameters window, make sure to edit the following parameters
**Check '''Wafer''' and not '''Mask'''
**Choose correct '''Material size''' in the dropdown
**Choose the correct slot ID in '''Multi-piece window'''
**Set a reasonable number in x and y '''Number of height measurement points'''
**Set a reasonable x- and y-axis pitch in the '''Height data measurement pitch''' fields
**Set '''Offset''' fields to zero
*Click '''Save''' in order to save the setup for execution during exposure
*Click '''Execute''' to execute and verify result
 
{| style="border: none; border-spacing: 0; margin: 1em auto; text-align: center;"
|-
| [[image:9500heimap1.png|500px]]
|-
| colspan="1" style="text-align:center;|
Parameters of the '''HEIMAP''' subprogram used for the tutorial exposure.
|}
 
The pattern used in this example is very small and centred around (0,0). The example above will create a 3x3 matrix of height data with a pitch of 1 mm in x and y. After execution the system will display a matrix with height measurement data in µm. Verify that there are no outliers and that variation is less than 100 µm.
 
==Save condition file==
For the calibration data to have effect during exposure the data must be saved into the calibration profile. This is done via the '''SAVE''' subprogram from the '''Calibration''' window.
 
*Select the '''SAVE''' subprogram
*Click '''Edit Parameter...'''
*From the '''SAVE''' window click '''Acquisition of latest status'''
*Wait 5 seconds for the window to populate with data
*Click '''Apply''' and '''Save'''
 
 
{| style="border: none; border-spacing: 0; margin: 1em auto; text-align: center;"
|-
| [[image:9500save1.png|500px]]
|-
| colspan="1" style="text-align:center;|
Acquire the calibration data and then apply the data to save.
|}
 
 
All of the calibration data is now saved and the system is ready for exposure.
 
==Job execution==
The job and the system is now ready to execute the exposure.
 
*Open the '''Expose''' program from the '''EBX Menu'''
*In the '''Expose''' program click '''File''' and '''Magazine File...'''
*Browse for and select the correct file and click '''OK'''
*The '''Expose''' window is now updated with the file loaded into the '''Magazine filename:''' field
*Click '''Execute'''
*This opens the '''Pattern writing execution check''' window where one can check that the cassette number execution time is as expected before hitting '''Yes'''
 
 
 
{| style="border: none; border-spacing: 0; margin: 1em auto; text-align: center;"
|-
| [[image:9500exposure1.png|500px]]
|-
| colspan="1" style="text-align:center;|
'''Expose''' window with .mgn file loaded for exposure. Notice that the '''Progress''' part of the window still shows the previous exposure information. This field will not update until exposure is started.  
|}
 
 
{| style="border: none; border-spacing: 0; margin: 1em auto; text-align: center;"
|-
| [[image:9500expose2.png|400px]]
|-
| colspan="1" style="text-align:center;|
Use the '''Pattern writing execution check''' window to verify the cassette number and estimated execution time.
|}
 
 
The system will now carry out initial and cyclic calibration as defined by the path in the JDF file and then exposure will start. The pattern writing can be observed in the SSP window (top left) once it starts. Progress can be monitored in the '''Expose''' window which will give a percentage completion and completion time for the current sequence. Once exposure is completed the system will confirm this with the '''Pattern writing completed''' window.


=Development=
=Development=
Development of EBL resist can be done in two ways, either in beakers or on the automatic E-beam developer tool. The latter is equipped with ZED N50 for development of ZEP resist and AR 600-546 for development of CSAR. The system can handle chips or wafers up to 6”. It has predefined develop cycle times of 15, 30, 60 and 120 seconds.
Development of EBL resist can be done in two ways, either in beakers or on the semi-automatic E-beam developer tool, [[Specific_Process_Knowledge/Lithography/Development#Developer:_E-beam|Developer:E-beam.]] The latter is equipped with ZED N50 for development of CSAR (AR-P 6200). The system can handle chips or wafers up to 8”. It has predefined develop cycle times of 15, 30, 60 and 120 seconds. For other developers users have to use the EBL development fumehood in E4 and manually develop their substrates in beakers of appropriate size. Please observe there are beakers dedicated solvent developers such as isopropanol and other beakers dedicated alkaline developers.  


For other developers users have to use the EBL development fumehood in E4 and manually develop their substrates in beakers of appropriate size. Please observe there are beakers dedicated solvent developers such as isopropanol and other beakers dedicated alkaline developers such as ??.  
For this turorial job we simply put the 4" wafer on the center of the vacuum chuck, clamp it with vacuum, select the 60 sec recipe and press start.


Please refer to our suggested development parameters in the table below.
{| style="border: none; border-spacing: 0; margin: 1em auto; text-align: center;"
[table of development]
|-
| [[image:TPE02819-2.jpg|300px]]
|-
| colspan="1" style="text-align:center;|
Developer: E-beam is a semi-automatic puddle developer with ZED N50 developer.
|}
 
Initially the result can be verified in an optical microscope as shown below. Notice how only 9 out of the 10 instances are visible. The instance with the lowest dose is missing since it was written with insufficient dose for the resist used. Actual pattern confirmation for EBL patterns will naturally usually require use of a SEM.
 
{| style="border: none; border-spacing: 0; margin: 1em auto; text-align: center;"
|-
| [[image:9500DTU_logo.png|800px]]
|-
| colspan="1" style="text-align:center;|
Result of the tutorial job after development.
|}

Latest revision as of 10:18, 20 August 2024

Feedback to this page: click here

Content and illustration by Thomas Pedersen, DTU Nanolab unless otherwise noted.

My first JEOL 9500 exposure tutorial

The JEOL 9500 E-beam writer offers world class performance, this however comes at a price of a fairly steep learning curve. This page is specifically intended to guide new users through their very first exposure on the system. This tutorial will demonstrate how to set up a simple dose test in an efficient manner. The complexity of this job is kept at a low level and we encourage new users to make sure their first job (first training session) matches this complexity level. More complex jobs can be run when a user is more familiar with the system. We will in particular request that users do not expect to do alignment during their first training session.


A video showing the execution of the tutorial job is available here.

Tutorial job

The tutorial demonstrates one way to set up a dose test of a particular pattern on a blank 4" silicon wafer. Dose testing is often necessary to obtain the desired critical dimension and it is vital to be able to set up such a job in an efficient manner. In this tutorial we set up the dose variation (modulation) by manually writing a short modulation table. For more complex dose tests or dose test of proximity corrected patterns one should consider using the Chipplace module in Beamer.

The pattern used in this example is a DTU logo with a size of 5 x 8 µm2.

JEOL 9500 workflow

The workflow of the tutorial job is summarized below and explained in detail in the subsequent sections. In order to optimize usage of the system steps 1 through 3 must all be done ahead of the booked session on the JEOL 9500 system.

  1. Substrate preparation - resist coating
  2. Pattern preparation - export to JEOL52 V3.0 (V30) format
  3. Job preparation
    1. Jobdeck file (JDF) and schedule file (SDF) preparation
    2. Job file compilation
    3. Job verification
  4. Exposure session
    1. Sample loading
    2. System calibration
    3. Exposure
    4. Cassette and sample unloading
  5. Development

The following will provide details of all steps in this process.

Resist coating

DTU Nanolab offers a few different standard resist as given in the table below. Typically layers of 50-500 nm are applied. The Gamma E-beam and UV coater has predefined recipes for various thickness of CSAR resist. For other thickness or other resist the more manual LabSpin 2 or 3 coasters can be used.

DTU Nanolab supplied standard EBL resists and process guides
Resist Polarity Manufacturer Technical reports Spin Coater Polynomial Thinner Developer Rinse Remover Process flows (in docx-format)
CSAR AR-P 6200.09 Positive AllResist AR-P 6200 info Spin Coater: Gamma E-beam and UV or Spin Coater: LabSpin 02/03 a = 7252, b = -0.454 Anisole
  • AR-600-546
  • AR-600-548
  • N50
  • MIBK:IPA
IPA
  • AR-600-71
  • Remover 1165
CSAR
CSAR with Al
LOR5A with CSAR
Medusa AR-N 8200 Negative AllResist AR-N 8200 info Spin Coater: LabSpin 02/03 a = ?, b = ? AR 600-07 AR 300-47:DIW (1:1) DIW BOE
AR-N 7500.18 Negative AllResist AR-N 7500 info Spin Coater: LabSpin 02/03 a = 17126, b = -0.435 PGMEA
  • AR 300-47:DIW (4:1)
  • MIF726:DIW (8:5)
DIW
  • AR 300-73
  • O2 plasma

Resist thickness as function of spin speed on Lab Spin 2/3 can be estimated from the parameters above as y = axb, where y is resist thickness in nm and x is spin speed in RPM.


The tutorial job uses a standard 4” silicon wafer and the wafer is coated with 180 nm CSAR on the fully automatic Gamma E-beam and UV coater using recipe 4318. A video demonstrating usage of our Gamma coaters can be found here. Bear in mind the video shows the UV resist coater and not the E-beam resist coater but they are identical in operation.

2", 4" and 6" substrates can be coated with AR-P6200.09 (CSAR) on Spin Coater: Gamma E-beam & UV. Photo: Thomas Pedersen.

Pattern preparation

In order to expose a pattern it must be converted to V30 format (JEOL52 V3.0) using Beamer. Beamer can read several different file formants, we however recommend using GDS as your input format. Beamer can do a lot of different operations on a pattern to better optimise it for writing. In this tutorial we will skip all of these operations and simply export the GDS pattern to a V30 file. For more advanced functionality and pattern preparation please refer to our Beamer pattern preparation guide.

Beamer uses a node based system where each node performs an action on the pattern. In this simple example we will just have an import node to import our GDS file and connect it to an export node to output it as V30. The setup is thus as simple as can be and will look like below, the left hand side shows the simple node setup while the right side shows the pattern which in this case is a DTU logo.

Beamer uses a node based system where nodes are applied in sequence. In this example there is only an import and an export node.


Each node has several options and these can be changed by double clicking the node. For the export node we will need to choose the correct machine in Machine Type, the DTU Nanolab system is a JBX-9500FS (100kV). On the advanced tab we will choose Floating field ordering and Center to Field. This will ensure that our features/pattern will be written in the center of the writing field. The setup will look like the parameters below. Running this setup will import the GDS file and export it to V30.

Export options used in the example job.


Beamer is available on the preparation PC in the cleanroom and on the external Beamer PC (DTU-EM00AWQD) by Remote Desktop. Please book the External Beamer PC in Labmanager in order to use it.

SDF and JDF file preparation

In order to execute the pattern writing a significant number of parameters must be defined for the job. These are defined in two text files; the Schedule File (SDF) and Jobdeck File (JDF). The system has a close to zero tolerance on syntax error from the user and thus these files should be prepared carefully, usually by using templates and correcting the parameters to suit the exposure. We encourage users to download and use SuperEdi for editing SDJ/JDF files. As the JEOL 9500 is operated from a Unix computer you must save your SDF/JDF files in Unix format, available as an option from the “Save As” menu in SuperEdi.

The bottom right corner of SuperEdi must say UNIX for the JEOL 9500 computer to interpret the file correctly at compilation.

The SDF is the governing job descriptor. It defines which cassette to use for exposure, which slot of that cassette to expose, which beam current to expose with and the base dose of the exposure. The SDF will reference the JDF with further job information such as which pattern to write and where to write the pattern. The JDF will in turn reference a (or set of) V30 pattern files that hold the pattern(s) to write.

For our example job we will use the following SDF. The commands are briefly described, for a more in depth explanation please consult the SDF/JDF preparation guide.

MAGAZIN    'FIRSTEBL'         The magazine name is FIRSTEBL; max. 9 capital letters

#8                            Cassette from auto stocker shelf 8 is used
%4B                           4" wafer in position A is exposed
JDF     'myfirstebl',1        Layer block no. 1 of the jdf-file 'myfirstebl.jdf' is exposed     
ACC 100                       Acceleration voltage of 100keV is used (can not be changed)
CALPRM '6na_ap5'              The condition file 6na_ap5 is used, i.e. exposure at 6 nA 
DEFMODE 2                     Both deflectors are used (default)
RESIST 200                    A base dose of 200 µC/cm2 is used 
SHOT A,16                     Shot pitch is 16 units (of 0.25 nm), i.e. 4 nm
OFFSET(0,0)                   An offset of 0 µm is applied in both X and Y
     
END 8                         After exposure, cassette 8 will be remain on the stage


Pattern placement is controlled with the ARRAY command in the JDF. The goal of this example exposure is to create a dose test and thus we will use the ARRAY command to create an array of the pattern (the DTU logo) and we will use the MODULAT command to modulate the dose for each instance in the array. The ARRAY command takes six parameters as ARRAY(x,nx,dx)/(y,ny,dy), where x and y defines the center of the first element, nx and ny defines element numbers and dx and dy defines the array element pitch. The array defined in the example below will create a 10 x 1 array with an x-axis pitch of 50 µm.

Each array element is assigned a dose modulation using the MODULAT command. The MODULAT command takes two parameters as MODULAT(r,v), where r is the shot rank and v is the shot time modulation in %. The shot rank is defined during export from Beamer. For a simple design as used in this example that is not proximity corrected all elements of the pattern will be in shot rank 0. If a design is proximity corrected pattern elements will be assigned to different shot ranks. The shot time modulation is a simple percentage increase to the base dose defined by the RESIST command in the SDF. The modulation table in this example will thus expose with a base dose of 200 µC/cm2 in element (1,1) and a dose of 200 µC/cm2 + 45% = 290 µC/cm2 in element (10,1). The resulting pattern and modulation is visualised below.


JOB/W    'FIRSTEBL',4                          4inch wafer

 
PATH   DRF5M                                   Cyclic calibration definition
  ARRAY       (50,10,50)/(50,1,0)              10-1 array around (50,50) with 50 µm pitch in x-axis
    ASSIGN P(1)->((1,1),SHOT1)                 Pattern and modulation assignment to each array element
    ASSIGN P(1)->((2,1),SHOT2)
    ASSIGN P(1)->((3,1),SHOT3)
    ASSIGN P(1)->((4,1),SHOT4)
    ASSIGN P(1)->((5,1),SHOT5)
    ASSIGN P(1)->((6,1),SHOT6)
    ASSIGN P(1)->((7,1),SHOT7)
    ASSIGN P(1)->((8,1),SHOT8)
    ASSIGN P(1)->((9,1),SHOT9)
    ASSIGN P(1)->((10,1),SHOT10)
  AEND
PEND

LAYER  1                                      Definition of pseudo layer 1

P(1)  'dtu_logo_um.v30'                      Assignment of P(1) to V30 file
SPPRM 4.0,,,,1.0,1                            Beam parameters
STDCUR  2.2 ;nA                               Beam current + 10% overhead

SHOT1: MODULAT (( 0,0))                       Dose modulation tables
SHOT2: MODULAT (( 0,5))
SHOT3: MODULAT (( 0,10))
SHOT4: MODULAT (( 0,15))
SHOT5: MODULAT (( 0,20))
SHOT6: MODULAT (( 0,25))
SHOT7: MODULAT (( 0,30))
SHOT8: MODULAT (( 0,35))
SHOT9: MODULAT (( 0,40))
SHOT10: MODULAT (( 0,45))

END


Resulting setup from the example job. The pattern (DTU logo) is instanced 10 times with a pitch of 50 µm. The dose is modulated between 200 and 290 µC/cm2. Pattern size is increased for visibility, actual size is 5 x 8 µm2.


Much more information on various commands in SDF/JDF files are available in the SDF and JDF file manual. [link]

Moving job files to exposure system

At this stage we have a V30 file containing the pattern data and an SDF and JDF file describing the exposure parameters. These must be compiled into a magazine file (.mgn) which will completely define the exposure job. Magazine files are compiled directly on the control computer and hence the V30, SDF and JDF files have to be transferred to this computer using the FFFTP client available on the support PC. For first time use FFFTP has to be setup on your user account on the support PC. This is done by the following steps:

  • Login to the support PC using your DTU credentials.
  • Open the “FFFTP setup” folder found on the desktop
  • Double click "FFFTP setup.reg" and accept the warnings

Now FFFTP is setup with access to the JEOL 9500 computer on your Windows account. Open FFFTP and click "Connect" in. It should open with your M drive on the left side and the JEOL9500 PC on the right hand side. You can now drag and drop files between the two folders or browse for other folders. The SDF and JDF files go in the same folder, the pattern data however goes into a separate folder. The correct folders are:

  • SDF/JDF: /home/eb0/jeoleb/job/1nlab
  • V30: /home/eb0/jeoleb/pattern/nanolabv30

User interface of the FFFTP file transfer program. Local drive is on the left window and destination drive is on the right window.

Job file compilation

Once the files are transferred to the EBL control computer they can be compiled into a magazine file. The Unix interface has several desktops. Desktop one is used for EBL control and desktop two is used for file compilation. In a terminal window on desktop two the SDF, JDF and V30 files can be compiled into a MGN file with the SCHD command. Compile the files with the following procedure

  • Select a terminal window
  • Make sure to be in the correct folder by writing "cd job/danchip"
  • Compile by writing "schd -exptime sdffilename", replacing sdffilename with the actual filename
  • Verify that the compiler presents a sequence list with a time estimate, this indicates successful compilation


Terminal window after compilation. The first line changes working directory, second line calls compilation.


If compilation is successful the terminal will provide a table of exposure sequences and their corresponding exposure times. Also, a .MGN file will be generated in the same folder as the SDF file. This file holds all relevant exposure information and it is this file one will load to the Expose module to initiate exposure.

If compilation does not succeed the terminal will respond with a number of errors indicating which line(s) of the SDF or JDF file is causing the error. The system is extremely sensitive to syntax error and all users will experience compilation errors. The errors can be difficult to decipher, please refer to the Compilation Error Guide. UPDATE

Job file verification

To ensure that the pattern and exposure parameters are correct the MGN file should always be verified to some extent. It is rarely feasible or necesarry to manually validate all parts of a design but one should at least inspect a few parts of the pattern to verify it looks correct and also verify that pattern placement is as expected. This can be done using the Array Check Program (ACHK) found on the Analysis pane. The Analysis pane is usually open on the right hand side of the second desktop, if not, it can be opened from the EBX Menu. Pattern check can be done by the following procedure

  • Open ACHK from the Analysis pane
  • Click “File” -> “Open” and open your magazine file
  • The pattern placement is now shown. Zoom into the pattern by left click and drag a box to zoom on
  • Click an instance of the pattern, it changes color to red
  • To the se actual pattern of the selected instance click View -> Shot shape display...
  • In Shot shape display click Simulation
  • Change the Objective aperture on the drop down to the correct aperture, in this case aperture 6 and click OK. This will set the correct beam size for visualization
  • In Shot shape display check off Field boundary, Colored shot rank, Fill in a pattern and choose ASD on the Shot form drop down
  • The pattern is now visible and one can zoom in to see individual beam shots and how they overlap with the selected scan pitch
  • Once verified, close Shot shape display and Array check program

ACHK shows how patterns are placed on the substrate. It will however only show the bounding box of the pattern. In this case the pattern is very small compared to the 4" wafer and thus one has to zoom into the center to see the 10 instances of the design.


Use Shot shape display to verify that the pattern and beam pitch/overlap looks as intended.

Sample mounting

The JEOL 9500 system uses a proprietary sample cassette format and thus each sample must be mounted in an appropriate cassette. Cassettes are available for wafer sizes from 2” to 8”. Smaller chips must be mounted in dedicated chip cassettes with slots of four different sizes available. For more information on available cassettes and their specifications please refer to the JEOL 9500 cassette specifications page.

For the tutorial job we are using a 4" wafer and hence it must be mounted in one of the 4” cassettes, in this case the 4" aluminium cassette (BM2P-011). If a cassette has been used recently it might be found on the cassette preparation table already, otherwise it will have to be retrieved from the cassette transfer system. This is done from the operation screen of the cassette transfer system.

Operation screen of the automatic cassette transfer system / auto stocker.

Retrieving a cassette from the automatic cassette transfer system

  • Toggle the system to "Local" operation mode
  • Identify the shelf number for the cassette in question
  • Use the "shelf selector" to choose that number
  • Press the transfer button to transfer it from the shelf to the port/door
  • Once the robot is done, click "Open" to unlock the door
  • Open door, retrieve cassette and place it on a layer of tissues on the cassette preparation table
  • Close the door
  • Click "Close" to lock the door
  • Set the system back to "Remote" operation


Once the cassette is placed up-side down on the preparation table the slot cover can be removed by pressing down and rotating the spring loaded locking mechanism. The substrate can be placed in the slot using the vacuum tweezer found on the table. As the cassette is up-side down, the substrate must be loaded with resist side down.


Samples can be loaded into appropriate cassettes on the cassette preparation table.


The system is fitted with an auto stocker system that can store 10 cassettes. It is thus possible to prepare multiple substrates and define an automated job to execute exposure of several substrates across several cassettes. After sample loading the cassette must be placed in the automatic cassette transfer system. Users are NOT allowed to do this. Only Nanolab staff who are members of the E-beam Loading Team may place cassettes into the automatic cassette transfer system. Hence users must always contact the Nanolab E-beam loading team prior to exposure to have their cassette loaded into the cassette transfer system. The E-beam loading team can be contacted at [email]. Upon loading a cassette Nanolab staff will visually verify the sample has been installed and secured correctly. Incorrect sample mounting can lead to severe damage to the internal parts of the JEOL 9500 exposure system.

Any user found to load cassettes to the cassette transfer system themselves will be permanently excluded from using the JEOL 9500 system.


Nanolab staff member loading the 4" wafer cassette to the automatic cassette transfer system. Photo: Thomas Pedersen.

Cassette transfer

Cassette transfer is controlled from the Loader program. If it is not open it can be opened from the EBX Menu by clicking Ldr.


All essential programs can be started from the EBX Menu.

The Loader window controls cassette exchange between the writing system and the cassette transfer system.

The Loader window shows available cassettes in the automatic transfer system and which cassette is currently inside the writing system. In this example cassette 10 is inside the writing system. Cassettes can be moved between the writing system and the transfer system with the Carry in and Carry out buttons. Carry in will move the selected cassette to the writing system while Carry out will move the selected cassette to the selected shelf in the transfer system. In order to move a particular cassette into the writing system the current cassette must naturally be moved out first.

The EXCH EVAC switch must always be left unchecked as in this example. If it is toggled on the exchange chamber (load lock) will be pumped down after a carry out operation and the next carry in operation must then wait for the pump down (15 min) before it can be executed. Always leave EXCH EVAC off.

Prior to exposure the chosen cassette has to be transferred from the cassette transfer system and to the main chamber. This is done from the “Loader” module by first moving out the current cassette from the main chamber and then moving in the cassette used for exposure. Carry out takes about 4 minutes while carry in takes about 15 min since the exchange chamber has to pump down to vacuum. The procedure is

  • Make sure EXCH EVAC is toggled off
  • Press Carry out to move the current cassette back to the shelf it was loaded from
  • After about 4 min the status light will be solid green, select the cassette to use
  • Press Carry in
  • The system will be ready after about 15 min

System calibration

After cassette transfer the system has to be calibrated with the chosen beam current profile. This is done in a mostly automated sequence with only minute input from the user. The sequence is explained in detail in the following but in overview it is

  • Select and restore the system to the chosen beam current profile
  • System self check
    • Execute a current measurement
    • Execute absorbed electron mark detection
    • Execute backscatter electron mark detection
  • Execute self calibration routine daily
  • Verify drift is low
  • Map height profile of sample
  • Save data into calibration profile
  • Execute pattern writing

Select and restore the system to the chosen beam current profile

The SDF specifies which system condition file to use for the exposure, this determines the beam current. In this tutorial the chosen condition file is 6nA_ap5. Thus we restore the system and cloumn to this condition file. This is done from the Calibration window, if it is not open it can be opened from the EBX Menu.

  • Select the RESTOR subprogram in the Calibration window
  • Click Select condition file...
  • Browse and select the 6nA_ap5 condition and click OK
  • Click Edit parameter...
  • Click Execute in the RESTOR window

The bottom line of the Calibration window will now display Received an intermediate result RESTOR(DEMAG) to indicate it is working. Setting up for the new condition file takes about 1 minute and the bottom line will say Finished subprogram RESTOR when done.

Calibration and RESTOR windows.

System self check

With the correct condition file restored the next step is to measure beam current and verify that it is close to the expected value (within 5%).

  • Select the Current subprogram and click Execute in the Calibration window

The stage moves to the faraday cup to measure beam current. This takes 15 seconds and the Calibration window will display the measured beam current. Note this down for the Labmanager usage log. If the value is more than 5% of the expected beam current call the e-beam responsible for assistance.

Result display of current measurement.


The next self check is to see if the machine can find the Absorbed Electron (AE) mark and the Backscatter Electron (BE) mark. The procedure is

  • Select the INITAE subprogram and click Execute
  • Verify that the graph in the SSP window shows the characteristic step function centered at 0 on the x-axis
  • Select the INITBE subprogram and click Execute
  • Verify that the graph in the SSP window shows the characteristic step function centered at 0 on the x-axis

Correct result of INITAE (left) and INITBE (right).

Correct execution will look like above. INITAE uses the beam to scan a PN-junction which the system uses to determine beam position and shape. INITBE uses the beam to scan a gold marker on the stage which the system uses for position and distortion correction of the beam placement within the writing field. The top row shows the signal, the following rows shows the 1st and 2nd derivative, respectively.

Auto calibration

The system can auto calibrate itself using the AE and BE stage marks. The system will automatically measure beam position at various locations of the writing field to determine position errors. A correction matrix will be applied and the beam position will be remeasured to validate the result. The sequence takes about 8 minutes to execute. This should be done every time beam current is changed, i.e. a new condition file is restored. The procedure is

  • From the Calibration window choose Commands at the top of the window and click Batch
  • From the BATCH parameter window click Condition file...
  • Browse for the daily file and click OK
  • Click Execute


Load the daily batch command and execute it.

During calibration the system will measure and display the beam position at 49 location of the writing field. The position error (in nm) can be read of the matrices during execution, an example is shown below. At the end of the process the Calibration window will display Finished BATCH CALIB.


Example of beam offset matrix shown during auto calibration. Average beam offset is below 1 nm within the 1000 x 1000 µm2 writing field in this example. Image: Thomas Pedersen.

Measure stage drift

The next step is to measure stage drift. This is done from the Calibration window.

  • Select the Drift subprogram and click Execute

The system will scan the drift mark (BE mark) to determine drift since last drift reset. The absolute value is not important since it is unknown when the drift subprogram was last reset. The time variation of the drift measurements is however important thus one should compare two drift measurements taken 1-2 minutes apart. Luckily the dayli batch command ended with a drift measurement, having made one manually we can now compare the result, see the example below.


Comparison of two drift measurements.

In this example the two drift measurements are made a bit more than 1 minute apart (look at timestamps). The x-axis drift has changed from 65.4 nm to 64.2 nm, i.e. a change of 1.2 nm in about 1 minute. The y-axis drift has changed from 85.3 nm to 86.8 nm, a shift of 1.5 nm in about 1 minute. Thus the drift is about 1-1.5 nm/min in this particular example. This is a typical value. If you experience drift of 5-10 nm/min, give the system 10 min to thermally equilibrate and try again. If drift is above 10 nm/min please call the e-beam personnel.

Measure height profile of sample

The height of the sample surface must be known to focus the electron beam properly at the surface. This can be done using the HEIMAP subprogram.

  • Select on the HEIMAP subprogram in the Calibration window
  • Click Edit Parameter...
  • This opens the HEIMAP parameters window, make sure to edit the following parameters
    • Check Wafer and not Mask
    • Choose correct Material size in the dropdown
    • Choose the correct slot ID in Multi-piece window
    • Set a reasonable number in x and y Number of height measurement points
    • Set a reasonable x- and y-axis pitch in the Height data measurement pitch fields
    • Set Offset fields to zero
  • Click Save in order to save the setup for execution during exposure
  • Click Execute to execute and verify result

Parameters of the HEIMAP subprogram used for the tutorial exposure.

The pattern used in this example is very small and centred around (0,0). The example above will create a 3x3 matrix of height data with a pitch of 1 mm in x and y. After execution the system will display a matrix with height measurement data in µm. Verify that there are no outliers and that variation is less than 100 µm.

Save condition file

For the calibration data to have effect during exposure the data must be saved into the calibration profile. This is done via the SAVE subprogram from the Calibration window.

  • Select the SAVE subprogram
  • Click Edit Parameter...
  • From the SAVE window click Acquisition of latest status
  • Wait 5 seconds for the window to populate with data
  • Click Apply and Save


Acquire the calibration data and then apply the data to save.


All of the calibration data is now saved and the system is ready for exposure.

Job execution

The job and the system is now ready to execute the exposure.

  • Open the Expose program from the EBX Menu
  • In the Expose program click File and Magazine File...
  • Browse for and select the correct file and click OK
  • The Expose window is now updated with the file loaded into the Magazine filename: field
  • Click Execute
  • This opens the Pattern writing execution check window where one can check that the cassette number execution time is as expected before hitting Yes


Expose window with .mgn file loaded for exposure. Notice that the Progress part of the window still shows the previous exposure information. This field will not update until exposure is started.


Use the Pattern writing execution check window to verify the cassette number and estimated execution time.


The system will now carry out initial and cyclic calibration as defined by the path in the JDF file and then exposure will start. The pattern writing can be observed in the SSP window (top left) once it starts. Progress can be monitored in the Expose window which will give a percentage completion and completion time for the current sequence. Once exposure is completed the system will confirm this with the Pattern writing completed window.

Development

Development of EBL resist can be done in two ways, either in beakers or on the semi-automatic E-beam developer tool, Developer:E-beam. The latter is equipped with ZED N50 for development of CSAR (AR-P 6200). The system can handle chips or wafers up to 8”. It has predefined develop cycle times of 15, 30, 60 and 120 seconds. For other developers users have to use the EBL development fumehood in E4 and manually develop their substrates in beakers of appropriate size. Please observe there are beakers dedicated solvent developers such as isopropanol and other beakers dedicated alkaline developers.

For this turorial job we simply put the 4" wafer on the center of the vacuum chuck, clamp it with vacuum, select the 60 sec recipe and press start.

Developer: E-beam is a semi-automatic puddle developer with ZED N50 developer.

Initially the result can be verified in an optical microscope as shown below. Notice how only 9 out of the 10 instances are visible. The instance with the lowest dose is missing since it was written with insufficient dose for the resist used. Actual pattern confirmation for EBL patterns will naturally usually require use of a SEM.

Result of the tutorial job after development.