|Stage locked errors when trying to load/unload or move the stage|| Unlock the stage using the command
|Can’t calculate substrate error when starting an aligned write||Double-check that you’re putting your global alignment marks in the command line in the same order that they’re defined in CJOB. They need to be listed left to right.|
|Too many/too few arguments in command line error when trying to start write|| Make sure each coordinate in the command line is an XY pair separated by a comma and no spaces (e.g.
|Random/nonsensical errors when trying to execute a job||Check for spaces and special characters (/, ~, &, *, etc) in your CJOB file, particularly in the object names. This can cause all kinds of seemingly-random weirdness. Also double-check that your command line arguments are all correct.|
|Job finds global alignment marks successfully, but then crashes immediately after||The angular correction needed by the system exceeds its maximum of 0.2 degrees. Take the holder out and double-check the rotational adjustment in the alignment microscope. You should see less than 3.5 microns of translation in one axis per 1 mm of translation in the other. You may also have your alignment marks listed out of order; see “can’t calculate substrate” error above|
|Can’t reopen a .cjob file with CJOB|| There’s probably a space in one of your object names. Open the .cjob file as a text file by typing
|CJOB won’t display a newly-defined alignment mark in the list of available marks|| Close CJOB, run the command
|Write is crashing due to height-measurement errors at the beginning (asterisks in the 9-point height map)||Make sure your starting coordinate(s) put you over your sample and that the pattern you're trying to write isn't larger than your sample area. If this is fine, previous patterning and/or roughness could be confusing the height meter. Open the job in CJOB, go into the Exposure object, and change the “Height” option from “check” to “none” to disable the initial height check (the height will still be checked in real-time during the write itself). If you're encountering this problem while writing on a transparent substrate, see the transparent substrate guide for solutions.|
| Errors when trying to locate calibration mark using
|| Rerun the command a few times; sometimes it doesn’t work on the first try if the beam current has just been switched.
If it still isn’t finding it, turn on the SEM and make sure you’re over the mark and it’s visible. If you aren’t, the wrong holder is probably selected. If you are, try switching to a lower beam current and running the command again.
|Random issues with CSEM, CSYS, or pg commands, particularly lock-ups when executing commands.|| Restart the software. Open another terminal window (if necessary) and run the
|CSEM keeps coming up in “read-only” mode (no SEM or stage movement controls)|| Use the desktop icon or
|Buttons in CSEM aren't responding; error messages displayed in the bottom of the window|| Use the desktop icon or
%ECC_W_MONSCUR – STAGE motor control current
%ENG_E_SHMECA – Substrate mechanical handling error
ohnoto get his contact info) if it isn't the middle of the night. If it is the middle of the night, send him an email explaining as much about what led to the problem as you know, turn on the red light on the operator desk, and mark the system down in Badger. Under no circumstances should you do any of the following:
$pg cold, or
$pg hot. Restarting the software will home the stage, which will burn out the stage motors if the stage is stuck. See above
%EHT_E_HBTRIP - HotBox? has tripped out
%EHT_E_HTOFF - High Voltage is switched off
ohnocommand to get contact information) during normal hours or an email in the middle of the night. Mark the system down in Badger and turn on the red light by the operator desk, as the high-voltage supply needs to be reset and the gun needs to be run up and stabilized, a process that generally takes about 8 hours.
%ECC_E_BCC2ST – C2 setpoint differs from actual current
%ECC_E_BCFLST – FL setpoint differs from actual current
pg move marketc). Sometimes this can happen even when the mark is clearly visible in SEM view in CSEM.
%ECC_E_NOMARK Ė Marker is not present in the search area
%ENG_E_NOIRED Ė Available filters not sufficient for noise reduction
%ECC_E_VICOBA -- Move marker: video level contrast too bad
%ECC_E_MMLEOT -- Move marker: measured marker video level not within tolerance
%ECC_E_MBLEOT -- Move marker: measured background video level not within tolerance
ENG_E_NOIRED(Available filters etc) error isnít fatal; the system is still finding your mark if no other errors appear. The signal-to-noise ratio is lower than ideal though; consider changing the height or material of your marks to speed up detection and improve accuracy.
pg move markto drive to the calibration mark (a 20x20um positive rectangle) and turn the SEM on.
pg move position(shortcuts are
mvrl/mvab) command and switching to SEM mode. Your alignment mark should be approximately in the center of the field. If it is not, move the stage by double-clicking on the mark until it is centered and read the new coordinates from the lower-right corner of the CSEM window. Be sure to turn on the crosshairs in CSEM (the crosshair button on the left of the window), as they will make this process much easier.
findmark <markname>, which will try to find the mark
<markname>at the current stage location. If it doesnít return an error, jot down the stage coordinates as your new mark location. If you do get an error, go back to SEM mode and keep trying to center it. Crosses in particular are very sensitive to off-center starting positions, so some tweaking may be required.
%ENG_E_NOIREDerrors are appearing during the mark-location procedure, try turning up the beam current. A current of at least 5-10 nA is usually reliable for mark location; lower currents can leave the locator algorithm with a signal-to-noise ratio thatís too low to work with (usually indicated by
%ENG_E_NOIREDerrors). Once youíve located the mark at the higher current, make sure you switch the current to whatever youíll be using in your job and find it again!
ENG_E_NOIREDerror codes while trying to find the mark, the mark contrast may be too low for the locator algorithm to work. Modifying the algorithmís threshold settings may help you work around this.
hicontrast <markname>will set
contrato 99 and
blvtol/mlvtolto 170 for the given mark. This will often solve contrast-related problems without the need to play around with individual parameters
hicontrastshortcut doesn't help, you can try manually modifying the mark-finder parameters. The table below describes the ones you care about and suggests possible changes:
| || Video contrast. change from 75 (default) to 99. Increase this if you get |
| || Marker-level tolerance. Change from 40 (default) up to 200. Increase this one if you're seeing |
| || Black-level tolerance. Change from 40 (default) up to 200. Increase if you're getting |
| ||Edge-positive video level measurement minimum. Reduce from 300 (default) to 200. This will decrease precision but increase noise-immunity.|
| || Edge-positive video level measurement maximum. Increase from 1000 (default) to 1020. See |
| || Marker search radius. Decrease if mark-finding is taking too long, increase if marks are consistently falling outside the search radius (|
pg marker set <markname> <parameter> <value>, where
<markname>is the name of the mark definition youíre using,
<parameter>is the setting youíre modifying, and
<value>is the new value of that setting.
pg info marker <markname> /test=paror the shortcut
marktable <markname>, where
<markname>is the name of the mark definition.
$pg savecommand to save the values before searching for the mark again.
<markname>(or the shortcut
resetcontrast <markname>). If you modify the values for a mark you didnít create yourself, please reset them when youíre done.
JOYmark is missing, create it with any set of parameters you want, they donít matter). When the system tries to find a
JOYmark, it will stop and prompt the user to continue instead of running the usual detection routine. When it stops, turn on the SEM and manually center the mark in the field by double-clicking. Once the mark is centered, go back to the terminal window and hit Enter to continue. The system will use the current stage position (which you centered on the mark with the SEM) as the mark location and continue.
JOYmark. Essentially, the center of the SEM-view window isnít the true field center. You can correct this by doing a
pg move markcommand to center the field on the calibration mark, switching to SEM mode in CSEM, clicking ďcalibrate center,Ē and dragging the crosshair so itís centered on the calibration mark. Alternately, running the
joypluscommand before starting your write will automatically apply the same correction.
JOYmark is substantially less accurate than the automated alignment. Depending on how good your eyes are, expect to get 100-500 nm overlay accuracy at best. Again, itís a last-resort solution when the alternative is being unable to do the write at all.
pg move marker 0,0 <markname> --rel(shortcut:
findmark <markname>). If it finds the mark, it will return to the prompt without an error; otherwise youíll see the usual error codes.