Specific Process Knowledge/Lithography/EBeamLithography/FirstEBL: Difference between revisions
Line 107: | Line 107: | ||
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 & 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;" | {| style="border: none; border-spacing: 0; margin: 1em auto; text-align: center;" |
Revision as of 14:58, 23 February 2023
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 very 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.
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 found 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.
- 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. 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.
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 |
|
IPA |
|
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 |
|
DIW |
|
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 & 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 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 guide 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 "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.
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 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 %4A 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
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 “FFFTP”
- Click “New connection” and fill the fields as shown in the "Host Setting" window below
- Password is "Jeoleb"
- Initial Local Folder should be your own M-drive or similar
Setup of FFFTP connection to the JEOL 9500 control PC and user interface of the FFFTP file transfer program. Local drive is on the left window and destination drive is on the right window. |
Now you can click "Connect" in FFFTP and it opens with your 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. 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/danchip
- V30: /home/eb0/jeoleb/pattern/danchipv30
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. Image: Thomas Pedersen. |
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
Use Shot shape display to verify that the pattern and beam pitch/overlap looks as intended. Image: Thomas Pedersen. |
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. Photo: Thomas Pedersen. |
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. Photo: Thomas Pedersen. |
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.
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. Image: Thomas Pedersen. |
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. Image: Thomas Pedersen. |
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). Image: Thomas Pedersen. |
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. Image: Thomas Pedersen. |
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. Image: Thomas Pedersen. |
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. Image: Thomas Pedersen. |
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. Image: Thomas Pedersen. |
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
Use the Pattern writing execution check window to verify the cassette number and estimated execution time. Image: Thomas Pedersen. |
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 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. 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.
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. Image: Thomas Pedersen. |