JobFile Checklist
Or... The most common job file mistakes I've made
So, you’ve got yourself a set of jobfiles assembled and ready to go. Before you click the “Expose” button, I’d recommend you take just a few more minutes to check through these items. The wafer re-work you save may be your own....
The Obvious
- Does it compile? Make sure your job compiles through the SCHD compiler with no error or warning messages.
- Does it look right? Use the ACHK program to open your job’s magazine (.mgn) file and check the layout to verify that it is what you want.
The More Subtle
- Avoid duplicate commands. Be very careful about having duplicate commands appear in both your SDF and JDF files. In fact, I’d recommend you just avoid ever having the same command in both files; it’s just confusing and asking for trouble. If you must, be sure you know which command has precedence. You may have to consult the JEOL manuals for this level of detail. As an example, you can set the resist base dose with the RESIST command in either the SDF or the JDF file. (In this case, a RESIST command in the SDF file will override the RESIST command in the jobdeck layer block.)
- DRIFT initialized? If your PATH includes a DRIFT command, make sure that you have properly initialized the BE mark position in the DRIFT subprogram before you execute your job. If the mark is out of range, the first DRIFT measurement will fail and your job will terminate.
- DRIFT on correct mark? If your PATH includes a DRIFT command, is the DRIFT option set to use the correct mark in the CALIB DRIFT window? If writing in MASK mode (no alignment to marks on the wafer, "BE Mark" must be selected. If writing in DW mode, aligning to marks on the wafer, typically choose "Rough scan not available" to only do fine scans (avoids long scans that might expose pattern areas.)
- HEIMAP settings correct? If you are using a HEIMAP in your path initialization, make sure the setting in the CALIB HEIMAP window are correct, especially the holder Material window, and measurement positions: number, pitch, and center offset. It's possible to measure the height on the wrong substrate, or off the substrate, and apply those incorrect height values to your writing.
- Window correct? If using a multi-substrate holder, verify that you have the correct position specified with the “%” command in your SDF file.
- Correct JDF and Layer? Verify the JDF file is the one you intend, and the layer number within that JDF is the one you intend.
In your JDF File
- Correct size? Check the substrate size is set correctly in the JOB command.
- Correct path? Verify the PATH is the one you want.
- Patterns correct? Verify the pattern files you specify are the correct files AND correct layers that you intend.
- Base dose? Verify the RESIST base dose is as you intend.
- MODULAT commands correct? Verify any MODULAT statements give you the correct dose you intend.
- MODULAT ASSIGNs correct? Have you specified the intended Shot Modulation Table to each intended pattern placement instance?
- All shot ranks defined? If using Shot Ranks other than 0, verify you have each Shot Rank with a MODULAT command.
Yes, if you’re curious about the derivation of this list, it is in fact, mostly a compilation of the mistakes I’ve made and lessons I’ve had to learn the hard way. So this list is as much for my own reference as yours -- I’m using it to make sure I don’t repeat my own mistakes!