Specific Process Knowledge/Lithography/EBeamLithography/Dose Testing: Difference between revisions
Appearance
No edit summary |
|||
| (11 intermediate revisions by the same user not shown) | |||
| Line 1: | Line 1: | ||
'''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/Dose Testing click here]''' | |||
Content and illustration by Thomas Pedersen, DTU Nanolab unless otherwise noted. | |||
=Introduction= | =Introduction= | ||
In E-beam lithography it is often necesarry to do a dose test in order to get the required result. In a dose test one will expose critical parts of a pattern with various doses and determine the best dose by SEM analysis of the final pattern. There are several ways to set up a dose test array on the JEOL system, in this section we will describe four different setups, each with their own benefits and drawbacks. | In E-beam lithography it is often necesarry to do a dose test in order to get the required result. In a dose test one will expose critical parts of a pattern with various doses and determine the best dose by SEM analysis of the final pattern. There are several ways to set up a dose test array on the JEOL system, in this section we will describe four different setups, each with their own benefits and drawbacks. | ||
| Line 147: | Line 151: | ||
|- | |- | ||
| colspan="1" style="text-align: center;| | | colspan="1" style="text-align: center;| | ||
Example frome ChipPlace definine a 10 x 2 element dose matrix with relative doses from 1 to 2, ready for export to V30 | Example frome ChipPlace definine a 10 x 2 element dose matrix with relative doses from 1 to 2, ready for export to V30. | ||
|} | |} | ||
=Scripted expansion of a PEC modulation table= | =Scripted expansion of a PEC modulation table= | ||
The last method is basically the same as the second method above but with support for PEC modulation. This is achieved by expanding the dose modulation table into a set of tables, one for each dose of the dose test. Each modulation table is a scaled version of the initial modulation table, scaled simply by the dose test scaling between each dose. The scaling is done through a Matlab script which can be found | The last method is basically the same as the second method above but with support for PEC modulation. This is achieved by expanding the dose modulation table into a set of tables, one for each dose of the dose test. Each modulation table is a scaled version of the initial modulation table, scaled simply by the dose test scaling between each dose. The scaling is done through a Matlab script which can be found below. Since Labadviser does not allow upload of .m files, simply copy the script from below and save as a .m file. | ||
Benefits: | |||
*Supports PEC modulation | |||
*Faster execution since it is a single SDF sequence | |||
*Works with large V30 files | |||
Drawbacks: | |||
*A bit tricky for first time use | |||
{| class = "collapsible" width=65% style = "border-radius: 10px; border: 1px solid #CE002D;" | {| class = "collapsible" width=65% style = "border-radius: 10px; border: 1px solid #CE002D;" | ||
! width=100% | | ! width=100% | Matlab script for modulation table expansion | ||
|- | |- | ||
| | | | ||
<pre> | <pre> | ||
clearvars | |||
%Modulation table modding for dose test of PEC'ed V30's, see Labadviser for further information | %Modulation table modding for dose test of PEC'ed V30's, see Labadviser for further information | ||
%https://labadviser.nanolab.dtu.dk/index.php?title=Specific_Process_Knowledge/Lithography/EBeamLithography/Dose_Testing | %https://labadviser.nanolab.dtu.dk/index.php?title=Specific_Process_Knowledge/Lithography/EBeamLithography/Dose_Testing | ||
%THOPE 2023-11- | %THOPE 2023-11-13 | ||
%Input variables for modulation table | %Input variables for modulation table | ||
inputJDI = 'C:\Users\thope\Desktop\ | inputJDI = 'C:\Users\thope\Desktop\thope231113\withcross.jdi'; | ||
outputJDI = ' | outputJDI = 'C:\Users\thope\Desktop\thope231113\thope231113.jdi'; | ||
m = 9; %number of doses | m = 9; %number of doses | ||
modulation = | modulation = 5; %modulation between instances in percent, must be positive | ||
%shot time calculation | |||
Base = 220; %Base dose, only for indication, not used for modulation | |||
I = 2e-9; %beam current | |||
pitch = 12; %steps of 0.25 nm | |||
dp = pitch*0.25*1e-9; %beam step in m | |||
%Base dose calculation | |||
Doses = (0:1:m-1); | |||
Doses = (Doses*modulation/100+1)*Base; | |||
%Read file | %Read file | ||
| Line 192: | Line 215: | ||
[class(i),D(1,i)] = readMOD(A,k1(i),k2(i)); | [class(i),D(1,i)] = readMOD(A,k1(i),k2(i)); | ||
end | end | ||
%Calculate tables | %Calculate tables | ||
D(1,:) = 1 + D(1,:)./100 ; %convert from MOD to percent | D(1,:) = 1 + D(1,:)./100 ; %convert from MOD to percent | ||
for i = 2: | for i = 2:m | ||
D(i,:) = D(1,:)*(1+modulation*(i-1)/100); | D(i,:) = D(1,:)*(1+modulation*(i-1)/100); | ||
end | end | ||
D = round(D,3); %round to 1 decimal | D = round(D,3); %round to 1 decimal | ||
for i = 1: | for i = 1:m | ||
D(i,:) = 100*(D(i,:)-1); %convert to MOD from percent | D(i,:) = 100*(D(i,:)-1); %convert to MOD from percent | ||
end | end | ||
%Write modulated tables to file | %Write modulated tables to file | ||
| Line 223: | Line 248: | ||
end | end | ||
fclose(fileID); | fclose(fileID); | ||
%Modulation table range | |||
range = zeros(m,2); | |||
for i = 1:m | |||
range(i,1) = D(i,1); %minimum dose | |||
range(i,2) = D(i,end); %maximum dose | |||
end | |||
range = (range/100+1)*Base; | |||
%Frequency range | |||
F = zeros(m,2); | |||
for i = 1:m | |||
F(i,1) = I./(range(i,1)*dp^2); %minimum dose | |||
F(i,2) = I./(range(i,2)*dp^2); %maximum dose | |||
end | |||
F = F/1e4; | |||
%Display output | |||
disp(newline) | |||
disp('Modulation table | Base dose [µC/cm2] | Modulation range [µC/cm2] | Frequency range [MHz]') | |||
for i = 1:m | |||
disp(['MOD' num2str(i) ' | ' num2str(Doses(i)) ' | ' num2str(range(i,1),'%.0f')... | |||
' - ' num2str(range(i,2),'%.0f') ' | ' num2str(F(i,1),'%.0f') ' - ' num2str(F(i,2),'%.0f')]) | |||
end | |||
function [a,b] = readMOD(str,k1,k2) | function [a,b] = readMOD(str,k1,k2) | ||
| Line 238: | Line 287: | ||
The number of doses for dose testing is controlled by the parameter '''m''' while the increase in dose between doses is defined by '''modulation''', it is a percentwise change relative to the base dose. For instance, if one wants to do a dose test with 200 µC/cm<sup>2</sup> as base dose in steps of 10 µC/cm<sup>2</sup> one would set '''modulation = 5'''. | The number of doses for dose testing is controlled by the parameter '''m''' while the increase in dose between doses is defined by '''modulation''', it is a percentwise change relative to the base dose. For instance, if one wants to do a dose test with 200 µC/cm<sup>2</sup> as base dose in steps of 10 µC/cm<sup>2</sup> one would set '''modulation = 5'''. | ||
The output is a single JDI file containing all modulation tables named '''MODx''', where x is a running number from 1 to '''m'''. The array and reference to each modulation table can then be set up in the JDF file as seen below. It is convenient to use the include command '''@''' to reference the JDI file itself rather than copy-paste the tables into the JDF. | |||
{| class = "collapsible" width=65% style = "border-radius: 10px; border: 1px solid #CE002D;" | |||
! width=100% | Example JDF with a dose test setup defined by the '''ARRAY''' command and reference to individual modulation tables. | |||
|- | |||
| | |||
<pre> | |||
JOB/W 'THOPE',4 | |||
PATH DRF5M | |||
ARRAY (-4000,5,2000)/(0,1,0) | |||
ASSIGN P(1) -> ((1,1),MOD1) | |||
ASSIGN P(1) -> ((2,1),MOD2) | |||
ASSIGN P(1) -> ((3,1),MOD3) | |||
ASSIGN P(1) -> ((4,1),MOD4) | |||
ASSIGN P(1) -> ((5,1),MOD5) | |||
AEND | |||
PEND | |||
LAYER 1 | |||
P(1) 'mypattern.v30' | |||
SPPRM 4.0,,,,1.0,1 | |||
STDCUR 2.0 ;nA | |||
@'thopeExpanded.jdi' | |||
END | |||
</pre> | |||
|- | |||
|} | |||
{| class = "collapsible" width=65% style = "border-radius: 10px; border: 1px solid #CE002D;" | |||
! width=100% | Example JDI file as output by the Matlab script. | |||
|- | |||
| | |||
<pre> | |||
MOD1: MODULAT (( 0, -23.6 ) , ( 1, -22.8 ) , ( 2, -22 ) | |||
- , ( 3, -21.2 ) , ( 4, -20.5 ) , ( 5, -19.7 ) | |||
- , ( 6, -18.9 ) , ( 7, -18 ) , ( 8, -17.2 ) | |||
- , ( 9, -16.4 ) , ( 10, -15.6 ) , ( 11, -14.7 ) | |||
- , ( 12, -13.9 ) , ( 13, -13 ) , ( 14, -12.1 ) | |||
- , ( 15, -11.3 ) , ( 16, -10.4 ) , ( 17, -9.5 ) | |||
- , ( 18, -8.6 ) , ( 19, -7.7 ) , ( 20, -6.7 ) | |||
- , ( 21, -5.8 ) , ( 22, -4.8 ) , ( 23, -3.9 ) | |||
- , ( 24, -2.9 ) , ( 25, -2 ) , ( 26, -1 ) | |||
- , ( 27, 0 ) , ( 28, 1 ) , ( 29, 2 ) | |||
- , ( 30, 3 ) , ( 31, 4.1 ) , ( 32, 5.1 ) | |||
- , ( 33, 6.2 ) , ( 34, 7.2 ) , ( 35, 8.3 ) | |||
- , ( 36, 9.4 ) , ( 37, 10.5 ) , ( 38, 11.6 ) | |||
- , ( 39, 12.7 ) , ( 40, 13.8 ) , ( 41, 14.9 ) | |||
- , ( 42, 16.1 ) , ( 43, 17.3 ) , ( 44, 18.4 ) | |||
- , ( 45, 19.6 ) , ( 46, 20.8 ) , ( 47, 22 ) | |||
- , ( 48, 23.2 ) , ( 49, 24.5 ) , ( 50, 25.7 ) | |||
- , ( 51, 27 ) , ( 52, 28.2 ) , ( 53, 29.5 ) | |||
- , ( 54, 30.8 ) , ( 55, 32.1 ) , ( 56, 33.5 ) | |||
- , ( 57, 34.8 ) , ( 58, 36.1 ) , ( 59, 37.5 ) | |||
- , ( 60, 38.9 ) , ( 61, 40.3 ) , ( 62, 41.7 ) | |||
- , ( 63, 43.1 ) , ( 64, 44.5 ) , ( 65, 46 ) | |||
- , ( 66, 47.4 ) , ( 67, 48.9 ) , ( 68, 50.4 ) | |||
- ) | |||
MOD2: MODULAT (( 0, -16 ) , ( 1, -15.1 ) , ( 2, -14.2 ) | |||
- , ( 3, -13.3 ) , ( 4, -12.5 ) , ( 5, -11.7 ) | |||
- , ( 6, -10.8 ) , ( 7, -9.8 ) , ( 8, -8.9 ) | |||
- , ( 9, -8 ) , ( 10, -7.2 ) , ( 11, -6.2 ) | |||
- , ( 12, -5.3 ) , ( 13, -4.3 ) , ( 14, -3.3 ) | |||
- , ( 15, -2.4 ) , ( 16, -1.4 ) , ( 17, -0.4 ) | |||
- , ( 18, 0.5 ) , ( 19, 1.5 ) , ( 20, 2.6 ) | |||
- , ( 21, 3.6 ) , ( 22, 4.7 ) , ( 23, 5.7 ) | |||
- , ( 24, 6.8 ) , ( 25, 7.8 ) , ( 26, 8.9 ) | |||
- , ( 27, 10 ) , ( 28, 11.1 ) , ( 29, 12.2 ) | |||
- , ( 30, 13.3 ) , ( 31, 14.5 ) , ( 32, 15.6 ) | |||
- , ( 33, 16.8 ) , ( 34, 17.9 ) , ( 35, 19.1 ) | |||
- , ( 36, 20.3 ) , ( 37, 21.6 ) , ( 38, 22.8 ) | |||
- , ( 39, 24 ) , ( 40, 25.2 ) , ( 41, 26.4 ) | |||
- , ( 42, 27.7 ) , ( 43, 29 ) , ( 44, 30.2 ) | |||
- , ( 45, 31.6 ) , ( 46, 32.9 ) , ( 47, 34.2 ) | |||
- , ( 48, 35.5 ) , ( 49, 37 ) , ( 50, 38.3 ) | |||
- , ( 51, 39.7 ) , ( 52, 41 ) , ( 53, 42.5 ) | |||
- , ( 54, 43.9 ) , ( 55, 45.3 ) , ( 56, 46.9 ) | |||
- , ( 57, 48.3 ) , ( 58, 49.7 ) , ( 59, 51.3 ) | |||
- , ( 60, 52.8 ) , ( 61, 54.3 ) , ( 62, 55.9 ) | |||
- , ( 63, 57.4 ) , ( 64, 59 ) , ( 65, 60.6 ) | |||
- , ( 66, 62.1 ) , ( 67, 63.8 ) , ( 68, 65.4 ) | |||
- ) | |||
MOD3: MODULAT (( 0, -8.3 ) , ( 1, -7.4 ) , ( 2, -6.4 ) | |||
- , ( 3, -5.4 ) , ( 4, -4.6 ) , ( 5, -3.6 ) | |||
- , ( 6, -2.7 ) , ( 7, -1.6 ) , ( 8, -0.6 ) | |||
- , ( 9, 0.3 ) , ( 10, 1.3 ) , ( 11, 2.4 ) | |||
- , ( 12, 3.3 ) , ( 13, 4.4 ) , ( 14, 5.5 ) | |||
- , ( 15, 6.4 ) , ( 16, 7.5 ) , ( 17, 8.6 ) | |||
- , ( 18, 9.7 ) , ( 19, 10.8 ) , ( 20, 12 ) | |||
- , ( 21, 13 ) , ( 22, 14.2 ) , ( 23, 15.3 ) | |||
- , ( 24, 16.5 ) , ( 25, 17.6 ) , ( 26, 18.8 ) | |||
- , ( 27, 20 ) , ( 28, 21.2 ) , ( 29, 22.4 ) | |||
- , ( 30, 23.6 ) , ( 31, 24.9 ) , ( 32, 26.1 ) | |||
- , ( 33, 27.4 ) , ( 34, 28.6 ) , ( 35, 30 ) | |||
- , ( 36, 31.3 ) , ( 37, 32.6 ) , ( 38, 33.9 ) | |||
- , ( 39, 35.2 ) , ( 40, 36.6 ) , ( 41, 37.9 ) | |||
- , ( 42, 39.3 ) , ( 43, 40.8 ) , ( 44, 42.1 ) | |||
- , ( 45, 43.5 ) , ( 46, 45 ) , ( 47, 46.4 ) | |||
- , ( 48, 47.8 ) , ( 49, 49.4 ) , ( 50, 50.8 ) | |||
- , ( 51, 52.4 ) , ( 52, 53.8 ) , ( 53, 55.4 ) | |||
- , ( 54, 57 ) , ( 55, 58.5 ) , ( 56, 60.2 ) | |||
- , ( 57, 61.8 ) , ( 58, 63.3 ) , ( 59, 65 ) | |||
- , ( 60, 66.7 ) , ( 61, 68.4 ) , ( 62, 70 ) | |||
- , ( 63, 71.7 ) , ( 64, 73.4 ) , ( 65, 75.2 ) | |||
- , ( 66, 76.9 ) , ( 67, 78.7 ) , ( 68, 80.5 ) | |||
- ) | |||
MOD4: MODULAT (( 0, -0.7 ) , ( 1, 0.4 ) , ( 2, 1.4 ) | |||
- , ( 3, 2.4 ) , ( 4, 3.4 ) , ( 5, 4.4 ) | |||
- , ( 6, 5.4 ) , ( 7, 6.6 ) , ( 8, 7.6 ) | |||
- , ( 9, 8.7 ) , ( 10, 9.7 ) , ( 11, 10.9 ) | |||
- , ( 12, 11.9 ) , ( 13, 13.1 ) , ( 14, 14.3 ) | |||
- , ( 15, 15.3 ) , ( 16, 16.5 ) , ( 17, 17.7 ) | |||
- , ( 18, 18.8 ) , ( 19, 20 ) , ( 20, 21.3 ) | |||
- , ( 21, 22.5 ) , ( 22, 23.8 ) , ( 23, 24.9 ) | |||
- , ( 24, 26.2 ) , ( 25, 27.4 ) , ( 26, 28.7 ) | |||
- , ( 27, 30 ) , ( 28, 31.3 ) , ( 29, 32.6 ) | |||
- , ( 30, 33.9 ) , ( 31, 35.3 ) , ( 32, 36.6 ) | |||
- , ( 33, 38.1 ) , ( 34, 39.4 ) , ( 35, 40.8 ) | |||
- , ( 36, 42.2 ) , ( 37, 43.7 ) , ( 38, 45.1 ) | |||
- , ( 39, 46.5 ) , ( 40, 47.9 ) , ( 41, 49.4 ) | |||
- , ( 42, 50.9 ) , ( 43, 52.5 ) , ( 44, 53.9 ) | |||
- , ( 45, 55.5 ) , ( 46, 57 ) , ( 47, 58.6 ) | |||
- , ( 48, 60.2 ) , ( 49, 61.9 ) , ( 50, 63.4 ) | |||
- , ( 51, 65.1 ) , ( 52, 66.7 ) , ( 53, 68.4 ) | |||
- , ( 54, 70 ) , ( 55, 71.7 ) , ( 56, 73.6 ) | |||
- , ( 57, 75.2 ) , ( 58, 76.9 ) , ( 59, 78.8 ) | |||
- , ( 60, 80.6 ) , ( 61, 82.4 ) , ( 62, 84.2 ) | |||
- , ( 63, 86 ) , ( 64, 87.9 ) , ( 65, 89.8 ) | |||
- , ( 66, 91.6 ) , ( 67, 93.6 ) , ( 68, 95.5 ) | |||
- ) | |||
MOD5: MODULAT (( 0, 7 ) , ( 1, 8.1 ) , ( 2, 9.2 ) | |||
- , ( 3, 10.3 ) , ( 4, 11.3 ) , ( 5, 12.4 ) | |||
- , ( 6, 13.5 ) , ( 7, 14.8 ) , ( 8, 15.9 ) | |||
- , ( 9, 17 ) , ( 10, 18.2 ) , ( 11, 19.4 ) | |||
- , ( 12, 20.5 ) , ( 13, 21.8 ) , ( 14, 23.1 ) | |||
- , ( 15, 24.2 ) , ( 16, 25.4 ) , ( 17, 26.7 ) | |||
- , ( 18, 28 ) , ( 19, 29.2 ) , ( 20, 30.6 ) | |||
- , ( 21, 31.9 ) , ( 22, 33.3 ) , ( 23, 34.5 ) | |||
- , ( 24, 35.9 ) , ( 25, 37.2 ) , ( 26, 38.6 ) | |||
- , ( 27, 40 ) , ( 28, 41.4 ) , ( 29, 42.8 ) | |||
- , ( 30, 44.2 ) , ( 31, 45.7 ) , ( 32, 47.1 ) | |||
- , ( 33, 48.7 ) , ( 34, 50.1 ) , ( 35, 51.6 ) | |||
- , ( 36, 53.2 ) , ( 37, 54.7 ) , ( 38, 56.2 ) | |||
- , ( 39, 57.8 ) , ( 40, 59.3 ) , ( 41, 60.9 ) | |||
- , ( 42, 62.5 ) , ( 43, 64.2 ) , ( 44, 65.8 ) | |||
- , ( 45, 67.4 ) , ( 46, 69.1 ) , ( 47, 70.8 ) | |||
- , ( 48, 72.5 ) , ( 49, 74.3 ) , ( 50, 76 ) | |||
- , ( 51, 77.8 ) , ( 52, 79.5 ) , ( 53, 81.3 ) | |||
- , ( 54, 83.1 ) , ( 55, 84.9 ) , ( 56, 86.9 ) | |||
- , ( 57, 88.7 ) , ( 58, 90.5 ) , ( 59, 92.5 ) | |||
- , ( 60, 94.5 ) , ( 61, 96.4 ) , ( 62, 98.4 ) | |||
- , ( 63, 100.3 ) , ( 64, 102.3 ) , ( 65, 104.4 ) | |||
- , ( 66, 106.4 ) , ( 67, 108.5 ) , ( 68, 110.6 ) | |||
- ) | |||
</pre> | |||
|- | |||
|} | |||