ASML Stepper 3 - Job Creator

From UCSB Nanofab Wiki
Revision as of 00:29, 4 January 2025 by John d (talk | contribs) (added instructions for usage)
Jump to navigation Jump to search

The "Job Creator" software option allows users to convert text files into binary job files that can be loaded into the Batch/Task Streaming for wafer exposures.

Screenshot of matplotlib wafer layout plot
Example wafer layout generated by Python scripting with for loops. Plotting functions utilize matplotlib module.

Demis D. John has created a python module for generating the text job files:

These text files can be uploaded remotely via the Nanofiles FTP system, and then converted into the usable binary job files when at the machine (locally).

Contact the supervisor if interested in utilizing this capability.

Use Cases

This scripting capability is especially useful for very complex jobs - such as complex stitching wafer-layouts in which a for() loop and some math can really help.

For remote engineers that are routinely writing similar jobs with only minor changes (eg. new masks but otherwise similar layouts), this can be used to upload jobs to to the tool, which your local lab-users can then convert & run.

Caveats

The python script does not include all the error-checking that the ASML GUI contains, so brand-new or complex jobs will likely show some conversion error, which needs to be fixed (in your python script) and re-converted. In this case, you should bring the laptop you ran the Python script on with you, and fix errors and re-upload/convert until the job runs as expected. (Be sure to actually run a test exposure as well - some errors only pop up during exposure.)

Some current limitations are listed in the GitHub Issues. Users are welcome to contribute solutions to the codebase!

Required Files

  • Usage instructions and scripting files/examples are found on the GitHub page, here:
  • The Defaults.py file for the UCSB ASML PAS5500/300 DUV Stepper is here:
    • Defaults.py (UCSB NetID login required)
    • This is available only to authorized users of the UCSB ASML Stepper, and requires a UCSB Login.
    • Contact Demis if you need the file or have questions, or want help on creating this file for your own system.

Instructions for Usage

  1. Contact Supervisor for the ASML, request to generate the JobCreator sub-folders on the ASML and on Nanofiles FTP.
  2. Use the above Python script from GitHub to generate a Text Job File. Use the Example scripts as templates to start your programming.
    1. You will get a plain-text output file like Example01.txt
  3. Log into Nanofiles SFTP, you will now see a new JobCreator subfolder, with a few subfolders:
    1. screenshot of ASML JobCreator FTP Folders
  4. Upload your *.txt file into the incoming_TXT folder. You can upload multiple files if desired.
  5. In the cleanroom, at the ASML:
  6. Right-click the blue Desktop to get a menu.
  7. Right-click the (local) menu, to show an additional menu.
  8. Left-click JobCreator: Sync & Convert
    1. A script will run and pop up, asking for the Group name.
  9. Type in your Group name & <Enter>
    1. The name must Exactly match the folder name used on the ASML & Nanofiles, including capitalization.
    2. Remember the mouse must be over the script window to type.
  10. The script will do the following:
    1. sync to nanofiles, to download your *.txt file to the ASML
    2. convert the *.txt file to a job file, and
    3. move your converted *.txt file into completed_TXT/
    4. sync again to push log files to the SFTP server.
  11. Check the Log Window for errors.
    1. If your file was converted successfully, you should see a message like ASCII job file 'jobs/users/<YourGroup>/<YourFile>.txt' converted to GNFH job file 'users/<YourGroup>/<YourFile>'.
    2. If your file was not converted due to errors, you will see a message like:
      1. EVENT ASCII job file 'jobs/users/<YourGroup>/<YourFile>.txt' not converted, errors are logged in ER_event_log. ASCII Job Creator ended, status: 2.
      2. You need to scroll up in the Log Window and identify the error, and fix it in your job's python script, then reupload/convert etc.
      3. The last lines of the Log file are automatically copied into the FTP folder asml/error-Logs/<YourFile>_<CurrentDate>.txt so the errors are viewable via Nanofiles FTP.
      4. See the GitHub Issues page for common limitations, or send the error log to Demis for advice.

Author Credits

Please consider our Publication Policy if you publish using this code, especially if this code was enabling to your work (for example, enabling highly complex layouts that may have been infeasible otherwise). This module was authored by Demis D. John at the UCSB Nanofabrication Facility, in addition to any other contributors listed on the Github page. You may cite this module using standard formats for referencing open-source software packages. Thank you for understanding!