Specific Process Knowledge/Lithography/EBeamLithography/FilePreparation: Difference between revisions
Appearance
| (50 intermediate revisions by 4 users not shown) | |||
| Line 1: | Line 1: | ||
= | '''Feedback to this page''': '''[mailto:e-beam@nanolab.dtu.dk?Subject=Feed%20back%20from%20page%20http://labadviser.nanolab.dtu.dk/index.php?title=Specific_Process_Knowledge/Lithography click here]''' | ||
= File preparation for exposure on JEOL 9500 = | |||
[[Image:Conversion.png|600px|right|]] | [[Image:Conversion.png|600px|right|]] | ||
For pattern exposure on the JEOL 9500 tool the pattern must be stored in JEOLs own proprietary JEOL52v3.0 format, also known as V30. At DTU Nanolab we use Beamer to generate the V30 file from the original design file. We recommend using GDS as the original file format although Beamer can read multiple formats. In addition to the a pattern file exposure requires a Schedule file (SDF) and a Jobdeck file (JDF). These are text files where the user defines exposure conditions. Before pattern writing these three files (V30, SDF and JDF) are compiled into a final magazine file (MGN) which fully defines the exposure job. | |||
== Conversion from GDS to V30 in Beamer == | |||
Beamer has a lot of different modules and can be used to manipulate a design considerably. In this section we will only look at how to import a design file and export it to V30. | |||
Beamer uses a node based workflow and each task is defined by a node with its own set of parameter. For this simple example we will only use the "Import" and "Export" nodes. | |||
== Basic SDF conten == | |||
== Basic JDF content == | |||
If the layout is asymmetric, the conversion might result in an offset of the final layout onto the wafer. It is therefore recommended to symmetrise the layout, e.g. by inserting small structures in the corners of a rectangle that covers the layout. | If the layout is asymmetric, the conversion might result in an offset of the final layout onto the wafer. It is therefore recommended to symmetrise the layout, e.g. by inserting small structures in the corners of a rectangle that covers the layout. | ||
| Line 29: | Line 33: | ||
= Converting from GDS to v30 (BEAMER)= | = Converting from GDS to v30 (BEAMER)= | ||
<span style="font-size: 90%; text-align: right;">[[Specific_Process_Knowledge/Lithography/EBeamLithography/FilePreparation#top|Go to top of this page]]</span> | |||
The gds-file is converted to a v30-file by using the programme BEAMER. Please read the special BEAMER manual for a more advanced description of the BEAMER program. | The gds-file is converted to a v30-file by using the programme BEAMER. Please read the special BEAMER manual for a more advanced description of the BEAMER program. | ||
| Line 42: | Line 47: | ||
= Preparing sdf and jdf files = | = Preparing sdf and jdf files = | ||
<span style="font-size: 90%; text-align: right;">[[Specific_Process_Knowledge/Lithography/EBeamLithography/FilePreparation#top|Go to top of this page]]</span> | |||
Sdf- and jdf-files should not be created or edited in a regular notepad or wordpad program. Use only SuperEdi, which is freeware and available on the computers in the e-beam room. When you save a sdf- or jdf-file in SuperEdi, make sure to set the line endings to UNIX. | Sdf- and jdf-files should not be created or edited in a regular notepad or wordpad program. Use only SuperEdi, which is freeware and available on the computers in the e-beam room. When you save a sdf- or jdf-file in SuperEdi, make sure to set the line endings to UNIX. | ||
| Line 51: | Line 57: | ||
== Simple sdf and jdf files == | == Simple sdf and jdf files == | ||
<span style="font-size: 90%; text-align: right;">[[Specific_Process_Knowledge/Lithography/EBeamLithography/FilePreparation#top|Go to top of this page]]</span> | |||
'''sdf-file ''' | |||
The sdf-file contains a series of commands and parameters that specifies jdf filename, type | The sdf-file contains a series of commands and parameters that specifies jdf filename, type | ||
| Line 71: | Line 78: | ||
DEFMODE 2 Both deflectors are used (default) | DEFMODE 2 Both deflectors are used (default) | ||
RESIST 240 A dose of 240 µC/cm2 is used | RESIST 240 A dose of 240 µC/cm2 is used | ||
SHOT A, | SHOT A,16 The shot step between individual beam shots is 4 nm - steps of 0.25 nm | ||
OFFSET(0,0) An offset of 0 µm is applied in both X and Y | OFFSET(0,0) An offset of 0 µm is applied in both X and Y | ||
| Line 80: | Line 87: | ||
</pre> | </pre> | ||
Note that the unit in the SHOT command is in 0. | Note that the unit in the SHOT command is in 0.25nm, i.e. 'SHOT A,16' gives a shot pitch of 4nm. | ||
If the next user of the machine has loaded a cassette in slot #10 and you wish to load that cassette after exposure, you can finalize the sdf-file with 'END 10'. | If the next user of the machine has loaded a cassette in slot #10 and you wish to load that cassette after exposure, you can finalize the sdf-file with 'END 10'. | ||
'''jdf-file''' | |||
The jdf-file contains a series of commands and parameters that specifies what pattern (v30-file) is to be written where on the sample. It also specifies what calibrations are to be performed during writing. | The jdf-file contains a series of commands and parameters that specifies what pattern (v30-file) is to be written where on the sample. It also specifies what calibrations are to be performed during writing. | ||
| Line 118: | Line 125: | ||
___________________________________________________________________________ | ___________________________________________________________________________ | ||
== Calibration during writing (PATH)== | == Calibration during writing (PATH)== | ||
<span style="font-size: 90%; text-align: right;">[[Specific_Process_Knowledge/Lithography/EBeamLithography/FilePreparation#top|Go to top of this page]]</span> | |||
The inital and cyclic calibration before and during an e-beam run is defined in the jdf-file, e.g. by 'PATH DRF5M'. | The inital and cyclic calibration before and during an e-beam run is defined in the jdf-file, e.g. by 'PATH DRF5M'. | ||
| Line 200: | Line 137: | ||
<pre> | <pre> | ||
auto calib file calibrations | auto calib file calibrations | ||
NO ALIGNMENT | |||
DRF5M INITIAL: HEIMAP, CURRNT, DRIFT | DRF5M INITIAL: HEIMAP, CURRNT, DRIFT | ||
CYCLIC: CURRNT, DRIFT (every 5 minutes without interupting the writing of a field) | CYCLIC: CURRNT, DRIFT (every 5 minutes without interupting the writing of a field) | ||
MASK01 INITIAL: HEIMAP, CURRENT, INITBE, PDEFBE, SUBDEFBE | |||
CYCLIC: CURRNT, DRIFT (every 5 minutes without interupting the writing of a field) | CYCLIC: CURRNT, DRIFT (every 5 minutes without interupting the writing of a field) | ||
CYCLIC: CURRNT | ALIGNMENT | ||
CUR5M INITIAL: CURRNT | |||
CYCLIC: CURRNT (every | CYCLIC: CURRNT (every 5 minutes without interupting the writing of a field) | ||
DIRE01 INITIAL: PDEFBE, SUBDEFBE, CURRENT | |||
CYCLIC: CURRNT (every 5 minutes without interupting the writing of a field) | |||
</pre> | </pre> | ||
The full list of calibration [[Specific_Process_Knowledge/Lithography/EBeamLithography/FilePreparation/Pathlist|paths are available here.]] | |||
== Alignment and global mark detection == | == Alignment and global mark detection == | ||
<span style="font-size: 90%; text-align: right;">[[Specific_Process_Knowledge/Lithography/EBeamLithography/FilePreparation#top|Go to top of this page]]</span> | |||
Alignment of an e-beamed pattern to an existing pattern on wafer or chip (direct writing mode) requires at least two alignment marks, P and Q, preferably positioned in quadrant II and IV of the wafer or chip (the x-coordinate of the global mark Q must be equal to or larger than the x-coordinate of the global mark P). | Alignment of an e-beamed pattern to an existing pattern on wafer or chip (direct writing mode) requires at least two alignment marks, P and Q, preferably positioned in quadrant II and IV of the wafer or chip (the x-coordinate of the global mark Q must be equal to or larger than the x-coordinate of the global mark P). | ||
| Line 221: | Line 162: | ||
HSWITCH: | '''HSWITCH''': | ||
HSWITCH ON,OFF: machine focusses beam to the Height average between P and Q marks | HSWITCH ON,OFF: machine focusses beam to the Height average between '''P and Q marks''' | ||
HSWITCH OFF,ON: machine focusses beam to the height average of chip marks | HSWITCH OFF,ON: machine focusses beam to the height average of '''chip marks''' | ||
HSWITCH ON,ON: machine focusses beam to the height average of chip marks. The chip mark height will overrule the P and Q mark height during exposure. | HSWITCH ON,ON: machine focusses beam to the height average of chip marks. The chip mark height will overrule the P and Q mark height during exposure. | ||
| Line 235: | Line 176: | ||
CHIPAL V1/V4: | CHIPAL V1/V4: | ||
The virtual CHIPAL command in the sdf-file, CHIPAL V1 or CHIPAL V4, can be used to measure the height of the substrate at well-defined positions on the substrate, thus correcting for height variations before pattern writing. To use this, HSWITCH should be set to 'HSWITCH OFF,ON' or 'HSWITCH | The virtual CHIPAL command in the sdf-file, CHIPAL V1 or CHIPAL V4, can be used to measure the height of the substrate at well-defined positions on the substrate, thus correcting for height variations before pattern writing. To use this, HSWITCH should be set to 'HSWITCH OFF,ON' or 'HSWITCH ON,ON'. | ||
| Line 257: | Line 198: | ||
RESIST 240 A dose of 240 µC/cm2 is used | RESIST 240 A dose of 240 µC/cm2 is used | ||
SHOT A, | SHOT A,16 The shot step between individual beam shots is 4 nm | ||
OFFSET(0,0) An offset of 0 µm is applied in both X and Y | OFFSET(0,0) An offset of 0 µm is applied in both X and Y | ||
| Line 309: | Line 250: | ||
[[File:markorientation.jpg|300px]] | [[File:markorientation.jpg|300px]] | ||
note 2: Always add | note 2: Always add 5% to the current in this command to make sure you work well below 200 MHz and thus will not be affected if the current fluctuates above the base current. | ||
== Dose variation == | == Dose variation == | ||
<span style="font-size: 90%; text-align: right;">[[Specific_Process_Knowledge/Lithography/EBeamLithography/FilePreparation#top|Go to top of this page]]</span> | |||
The dose modulation is defined in a percentage addition to the base dose, i.e. the final dose, Q, is given by the base dose, RESIST, and modulation, m, by this formula: | The dose modulation is defined in a percentage addition to the base dose, i.e. the final dose, Q, is given by the base dose, RESIST, and modulation, m, by this formula: | ||
| Line 375: | Line 317: | ||
</pre> | </pre> | ||
== Double current exposure == | == Double current exposure == | ||
<span style="font-size: 90%; text-align: right;">[[Specific_Process_Knowledge/Lithography/EBeamLithography/FilePreparation#top|Go to top of this page]]</span> | |||
Before running a double-current exposure, you should receive training from a person from the e-beam staff. If this procedure is not performed correctly, it might end up in large pattern shifts. | Before running a double-current exposure, you should receive training from a person from the e-beam staff. If this procedure is not performed correctly, it might end up in large pattern shifts. | ||
| Line 424: | Line 366: | ||
Using the 'RESTOR' command without '1' the condition file will be restored without demagnetizing of the lenses. | Using the 'RESTOR' command without '1' the condition file will be restored without demagnetizing of the lenses. | ||
== Arrays of arrays == | |||
<span style="font-size: 90%; text-align: right;">[[Specific_Process_Knowledge/Lithography/EBeamLithography/FilePreparation#top|Go to top of this page]]</span> | |||
If you need to pattern a structure that consists of repetitions of a single pattern, you can easily design the pattern using arrays of arrays in the jdf-file. | |||
This pattern has two arrays; array no. 1 consists of a column of 3 different chips, array no. 2 consists of 6 rows, each row containing array no. 1, thus endning up with 18 chips in a matrix of 6 x 3 chips. A shot modulation of -30% is applied to the first column of the matrix, a shot modulation of -20% is applied to column 2-6. | |||
The upper left chip of the matrix is positioned in (X,Y) = (-7000,7000) micrometer. | |||
<pre> | |||
JOB/W 'TEST',4 | |||
PATH DRF5M | |||
ARRAY (-7000,1,0)/(7000,1,0) | |||
ASSIGN A(2) ->(*,*) | |||
AEND | |||
2: ARRAY (0,6,1000)/(0,1,0) | |||
ASSIGN A(1) -> ((1,1),SHOT1) | |||
ASSIGN A(1) -> ((2-6,1),SHOT2) | |||
AEND | |||
1: ARRAY (0,1,0)/(0,3,1000) | |||
ASSIGN P(1) -> (1,1) | |||
ASSIGN P(2) -> (1,2) | |||
ASSIGN P(3) -> (1,3) | |||
AEND | |||
P(1) 'resolution1.v30' | |||
P(2) 'resolution2.v30' | |||
P(3) 'resolution3.v30' | |||
STDCUR 2 | |||
SPPRM 4.0,,,,1.0,1 | |||
SHOT1: MODULAT ((0,-30)) | |||
SHOT2: MODULAT ((0,-20)) | |||
END | |||
</pre> | |||
== MULTIPASS and OVERLAP == | |||
<span style="font-size: 90%; text-align: right;">[[Specific_Process_Knowledge/Lithography/EBeamLithography/FilePreparation#top|Go to top of this page]]</span> | |||
When defining the v30-file to be exposed, e.g. | |||
P(3) 'resolution3.v30' | |||
either a multipass or overlap function can be added, e.g. | |||
P(3) 'resolution3.v30',OVERLAP,2 | |||
In this case, each field of pattern data is written twice with half the dose. This is suitable if you expose delicate structures on a resist that tends to overheat. | |||
The MULTI-function additionally shifts the field positions, in order to smear out stitching errors: | |||
{|border="1" cellspacing="0" cellpadding="3" style="text-align:left;" style="width: 80%;" | |||
|- | |||
|- | |||
|-style="background:Black; color:White" | |||
!colspan="3"|command | |||
|- | |||
|- | |||
!MULTI, n | |||
!MULTI/FP | |||
!OVERLAP,n | |||
|- | |||
|- | |||
|Specifies execution of the field shift overlap writing mode. In this mode, overlap pattern writing is performed n times, applying one nth of the normal e-beam dose, by changing the writing position on the writing fields of pattern data. | |||
|Carries out the field shift overlap writing for the entire chip, in order from the first overlap, without mixing the writing fields of different overlaps. | |||
|Specifies execution of the overlap writing mode. In this mode, overlap pattern writing is performed n times, applying one nth of the normal e-beam dose on the writing fields of pattern data. | |||
|- | |||
|} | |||
= Location of sdf and jdf files on the 9500 computer and compiling to mgn = | |||
<span style="font-size: 90%; text-align: right;">[[Specific_Process_Knowledge/Lithography/EBeamLithography/FilePreparation#top|Go to top of this page]]</span> | |||
Prepare jdf- and sdf-files according to the sections above. | Prepare jdf- and sdf-files according to the sections above. | ||
Open FFFTP from the desktop of | Open FFFTP from the desktop of the preparation computer and connect to 9500. Move the jdf, adf and v30 files to the 9500 computer. The files should be located here before final compilation: | ||
| Line 445: | Line 467: | ||
<pre> | <pre> | ||
schd sdfname Final compilation of sdf, jdf and v30-files, creates a mgn-file | schd sdfname Final compilation of sdf, jdf and v30-files, creates a mgn-file | ||
schd -exptim sdfname Final compilation of sdf, jdf and v30-files, creates a mgn-files and states the writing time estimate | schd -exptim sdfname Final compilation of sdf, jdf and v30-files, creates a mgn-files and states the writing time estimate | ||
| Line 455: | Line 476: | ||
A console may be opened by clicking Console in the Hosts tab (small triangle above 'cpu disk') in the tree at the bottom of the workspace. In the console, Ctrl + p or n may be used to browse through previous commands. | A console may be opened by clicking Console in the Hosts tab (small triangle above 'cpu disk') in the tree at the bottom of the workspace. In the console, Ctrl + p or n may be used to browse through previous commands. | ||
= Checking the layout of the final mgn-file in ACHK= | |||
<span style="font-size: 90%; text-align: right;">[[Specific_Process_Knowledge/Lithography/EBeamLithography/FilePreparation#top|Go to top of this page]]</span> | |||
The final check of pattern is performed clicking ‘Achk’ in the Analysis window: | The final check of pattern is performed clicking ‘Achk’ in the Analysis window: | ||
| Line 466: | Line 488: | ||
When the pattern is accepted by user, the e-beam exposure can start. | When the pattern is accepted by user, the e-beam exposure can start. | ||
= Examples of sdf and jdf files= | |||
<span style="font-size: 90%; text-align: right;">[[Specific_Process_Knowledge/Lithography/EBeamLithography/FilePreparation#top|Go to top of this page]]</span> | |||
{| class="wikitable collapsible autocollapse" | |||
! 20 coloums of chips on a wafer; the first 10 coloums of the array is exposed with one shot pitch, the rest of the chips with another. | |||
|- | |||
!colspan="2"| An array of 20 chips is written on one 4" wafer. The first 10 coloums of the array is defined in layer block no. 1 of the jdf, coloumn 11-20 is defined in layer block no. 2 of the jdf. The two layer blocks uses different beam shot pitch and base dose. The two layer blocks must be called in two different sequences in the sdf-file. | |||
|- | |||
|- | |||
| | |||
SDF file | |||
<pre> | |||
MAGAZIN 'LAYERS' | |||
#1 | |||
%4A | |||
JDF 'layers',1 | |||
ACC 100 | |||
CALPRM '0.2na_ap5' | |||
DEFMODE 2 | |||
OFFSET(0,0) | |||
#1 | |||
%4A | |||
JDF 'layers',2 | |||
ACC 100 | |||
CALPRM '0.2na_ap5' | |||
DEFMODE 2 | |||
OFFSET(0,0) | |||
END 1 | |||
</pre> | |||
JDF FILE | |||
<pre> | |||
JOB/W 'TWOLAYERS',4 | |||
PATH DRF5M | |||
ARRAY (-10000,20,2000)/( 10000,20,2000) | |||
ASSIGN P(1) -> (1-10,*) | |||
ASSIGN P(2) -> (11-20,*) | |||
AEND | |||
PEND | |||
LAYER 1 | |||
P( 1 ) 'test2.v30' | |||
SPPRM 4.0,,,,1.0,1 | |||
SHOT A,20 | |||
RESIST 220 | |||
STDCUR 0.22 ;nA | |||
LAYER 2 | |||
P( 2 ) 'test2.v30' | |||
SPPRM 4.0,,,,1.0,1 | |||
SHOT A,40 | |||
RESIST 250 | |||
STDCUR 0.22 ;nA | |||
END | |||
</pre> | |||
|- | |||
|} | |||
{| class="wikitable collapsible autocollapse" | |||
! Dose-modulated pattern aligned to global marks and chip marks on a 4" wafer | |||
|- | |||
!colspan="2"| A 3*3 array of chips, each 1 mm*1 mm in size, is written on a 4” wafer. The pattern is aligned to global marks and every chip i aligned to chip marks. The top left chip of the array (of patterns) is centered at (X,Y) = (-35000,35000). All chips are written with pattern ‘mettekjan2012.v30’. A dose modulation of 48 levels is applied to each chip. Before exposure, the calibration-path ‘HEI’ is applied. | |||
|- | |||
|- | |||
| | |||
SDF file | |||
<pre> | |||
MAGAZIN 'LAYERS' | |||
#1 | |||
%4A | |||
JDF 'berit',1 | |||
ACC 100 | |||
CALPRM '0.2na_ap5' | |||
GLMDET S | |||
CHIPAL 4 | |||
DEFMODE 2 | |||
OFFSET(0,0) | |||
END 1 | |||
</pre> | |||
JDF FILE | |||
<pre> | |||
JOB/W 'BERIT',4 | |||
PATH HEI | |||
ARRAY (-35000,3,1000)/(35000,3,1000) | |||
CHMPOS M1=(-3500,3500),M2=(3500,3500),M3=(3500,-3500),M4=(-3500,-3500) | |||
CHMARK 4.0,15.0 | |||
ASSIGN P(1)->((*,*),SHOT1) | |||
AEND | |||
PEND | |||
LAYER 1 | |||
P(1) 'mettekjan2012.v30' | |||
SPPRM 4.0,,,,1.0,1 | |||
STDCUR 0.88 ;nA | |||
SHOT1: MODULAT (( 0, -2.8 ) , ( 1, -2.0 ) , ( 2, -1.2 ) | |||
- , ( 3, -0.4 ) , ( 4, 0.5 ) , ( 5, 1.3 ) | |||
- , ( 6, 2.1 ) , ( 7, 3.0 ) , ( 8, 3.9 ) | |||
- , ( 9, 4.7 ) , ( 10, 5.6 ) , ( 11, 6.5 ) | |||
- , ( 12, 7.3 ) , ( 13, 8.2 ) , ( 14, 9.1 ) | |||
- , ( 15, 10.0 ) , ( 16, 11.0 ) , ( 17, 11.9 ) | |||
- , ( 18, 12.8 ) , ( 19, 13.7 ) , ( 20, 14.7 ) | |||
- , ( 21, 15.6 ) , ( 22, 16.6 ) , ( 23, 17.6 ) | |||
- , ( 24, 18.6 ) , ( 25, 19.5 ) , ( 26, 20.5 ) | |||
- , ( 27, 21.5 ) , ( 28, 22.5 ) , ( 29, 23.6 ) | |||
- , ( 30, 24.6 ) , ( 31, 25.6 ) , ( 32, 26.7 ) | |||
- , ( 33, 27.7 ) , ( 34, 28.8 ) , ( 35, 29.8 ) | |||
- , ( 36, 30.9 ) , ( 37, 32.0 ) , ( 38, 33.1 ) | |||
- , ( 39, 34.2 ) , ( 40, 35.3 ) , ( 41, 36.5 ) | |||
- , ( 42, 37.6 ) , ( 43, 38.7 ) , ( 44, 39.9 ) | |||
- , ( 45, 41.0 ) , ( 46, 42.2 ) , ( 47, 43.4 )) | |||
END | |||
</pre> | |||
|- | |||
|} | |||
= Troubleshooting = | |||
If the sdf- and jdf-files do not compile correctly with the v30-files, the EWS/9500 will come out with an error message that might be a bit difficult to comprehend. If this happens, check that these things are ok: | |||
# The names of the sdf- and jdf-files might be too long; the maximum number of characters is not specified anywhere in the JEOL manual, but keep the names shorter than 20 characters to be sure. | |||
# The sdf-, jdf-, or v30-file might not exist or might be located in the wrong directory; see section 1.1 in this manual to see where they should be located. | |||
# The compilation command 'schd' is performed from the wrong directory, see section 1.1 in this manual to see from where it should be called. | |||
# The order of commands might be wrong in either the sdf- or jdf-file; check the order of commands in the templates in the directory home/eb0/jeoleb/job/templates | |||
# The sdf- or jdf-files might have been opened in a text-program different from SuperEdi, e.g. notepad; this can corrupt the files and add linefeeds or tokens at line-ends. This can be checked in SuperEdi. In most cases, the problem can be solved by opening the sdf- and jdf-file in SuperEdi and save it again while setting the line endings to UNIX. | |||
# If none of the above works find a template home/eb0/jeoleb/job/templates and re-write your information into it, do NOT copy for the reasons of the last point above. | |||
# The path writing requires a scan speed larger than 100MHz; increase the shot pitch (SHOT) in the sdf-file and compile again. | |||