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

From LabAdviser
Thope (talk | contribs)
No edit summary
Thope (talk | contribs)
 
(318 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===
Content and illustration by Thomas Pedersen, DTU Nanolab unless otherwise noted.


This page is a step by step guide to help new users through their '''first exposure''' on the JEOL 9500 system. In this guide we will set up an exposure job as an example. We will set it up as a dose test and hence keep it at a fairly low complexity level. We encourage all users to keep the complexity level of their first exposure similar to the job in this guide.  
=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.




The job set up in this guide will go through the following steps
A video showing the execution of the tutorial job [https://www.youtube.com/watch?v=-wZpUNAq8dA is available here.]
*Spin coating of e-beam resist
 
*Job file preparation
==Tutorial job==
*Pattern preparation
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.
*Exposure
 
*Development
The pattern used in this example is a DTU logo with a size of 5 x 8 µm<sup>2</sup>.
 
==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.
 
#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
 
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. [[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%"
|-
 
!colspan="11" border="none" style="background:silver; color:black;" align="center"|DTU Nanolab supplied standard EBL resists and process guides
|-
 
|-
|-style="background:silver; color:black"
|'''Resist'''
|'''Polarity'''
|'''Manufacturer'''
|'''Technical reports'''
|'''Spin Coater'''
|'''Polynomial'''
|'''Thinner'''
|'''Developer'''
|'''Rinse'''
|'''Remover'''
|'''Process flows (in docx-format)'''
 
|-
 
|-
|-style="background:WhiteSmoke; color:black"
|'''[[Specific_Process_Knowledge/Lithography/CSAR|CSAR AR-P 6200.09]]'''
|Positive
|[http://www.allresist.com AllResist]
|[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
|
*AR-600-546
*AR-600-548
*N50
*MIBK:IPA
|IPA
|
*AR-600-71
*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"
|'''[[Specific_Process_Knowledge/Lithography/ARN8200|Medusa AR-N 8200]]'''
|Negative
|[http://www.allresist.com AllResist]
|[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]]
|a = ?, b = ?
|AR 600-07
|AR 300-47:DIW (1:1)
|DIW
|BOE
|
 
|-
|-style="background:LightGrey; color:black"
|'''AR-N 7500.18'''
|Negative
|[http://www.allresist.com AllResist]
|[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
|
*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 = ax<sup>b</sup>, 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 [[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=
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.]]
 
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.
 
{| 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.
|}
 
 
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.
 
{| 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.
|}
 
 
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 [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>
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
</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>
 
 
{| 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]
 
=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=
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
 
 
{| 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.
|}
 
 
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'''
 
{| 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=
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.
 
{| 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.
|}
 
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.
 
 
{| 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 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=
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.
 
*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
 
{| 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 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 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.
 
{| style="border: none; border-spacing: 0; margin: 1em auto; text-align: center;"
|-
| [[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.