GEM300 Host Scenarios

Semilate enables automated compliance testing by simulating GEM300 host interactions, ensuring the semiconductor equipment adheres to industry standards. By replicating host communications, Semilate validates equipment behavior, detects issues early, and simplifies integration processes.

Semilate's Scenario View executing common GEM300 compliance testing scenarios.

Minimum requirements

Establishing minimum requirements for host scenarios is essential for continuous and reliable testing of semiconductor equipment. These standards ensure consistent execution and accurate validation of equipment behavior. Additionally, they allow for efficient data cleanup after each test, maintaining data integrity and preventing interference with subsequent tests.

E87 - Carrier Management

To test load port and carrier requirements, it’s essential to have at least one load port equipped with a carrier. For process and control job scenarios, a minimum of six substrates should be present. Consistent slot map reading is important, especially in scenarios involving equipment-based carrier verification, where the slot map is read twice: initially to set up test data and subsequently to execute the test.

The minimum automatable equipment must implement:

  • S3F17: CarrierReCreate
  • S3F17: ProceedWithCarrier
  • S3F17: CancelCarrier for some scenarios

E40 & E94 - Job Management

To meet job management requirements, the equipment must be capable of processing substrates and subsequently moving them to a carrier. Ideally, the equipment should support cycling substrates through multiple processing iterations, facilitating consistent and repeatable testing scenarios.

The minimum automatable equipment must implement:

  • S16F11: Process Job Create Enhanced
  • S14F9: Create Object
  • S16F5: Process Job Command with STOP for cleanup
  • S16F27: Control Job Stop with Action REMOVEJOBS for cleanup

E90 - Substrate Management

Substrate management requirements apply when equipment possesses substrate reading capabilities. In such cases, the equipment must provide the ID reading location as a SubstLoc object.

The minimum automatable equipment with id reading must implement:

  • S14F1: GetAttr for object type SubstLoc 
  • S14F19: Process with Substrate

Supported scenarios

The following summaries provide an overview of each supported scenario’s objectives. These scenarios have been executed against Semilate’s proprietary equipment simulator, which likely results in faster cycle times compared to real-world equipment interactions.

Job Management Scenarios

Auto and Manual start combinations

4 configurations that run a process job with auto and manual start and its control job with auto and manual start

Process Job Cancellation

  • Creates a Process Job
  • Cancels the Process Job

Control Job Cancellation - Save Process Jobs

  • Creates a Process Job with a Control Job
  • Cancels the Control Job with Action SAVEJOBS
  • Checks if the Process Job still exists

Control Job Cancellation - Remove Process Jobs

  • Creates a Process Job with a Control Job
  • Cancels the Control Job with Action REMOVEJOBS
  • Checks if the Process Job doesn’t exists

Process Job Stop

  • Creates two Process Jobs with a Control Job
  • Stops the first Process Job on Start, Substrate movement or after a delay
  • Verifies that the first Process Job is stopped and that the second is started

Control Job Stop - Save Process Jobs

  • Creates two Process Jobs with a Control Job
  • Stops the Control Job on Process Job Start, Substrate movement or after a delay with Action SAVEJOBS
  • Verifies that the first Process Job is stopped and that the second is removed from the Control Job

Control Job Stop - Remove Process Jobs

  • Creates two Process Jobs with a Control Job
  • Stops the Control Job on Process Job Start, Substrate movement or after a delay with Action REMOVEJOBS
  • Verifies that the first Process Job is stopped and that the second is removed

Process Job Pausing/Resume

  • Creates a Process Jobs with a Control Job
  • Pauses the Process Job on Start, Substrate movement or after a delay
  • Resumes the Process Job immediately after it transitions to Pausing
  • Verifies that the Process Job is continuing

Process Job Pausing/Stop

  • Creates a Process Jobs with a Control Job
  • Pauses the Process Job on Start, Substrate movement or after a delay
  • Stops the Process Job immediately after it transitions to Pausing
  • Verifies that the Process Job is stopping

Process Job Pausing/Abort

  • Creates a Process Jobs with a Control Job
  • Pauses the Process Job on Start, Substrate movement or after a delay
  • Aborts the Process Job immediately after it transitions to Pausing
  • Verifies that the Process Job is aborting

Process Job Paused/Resume

  • Creates a Process Jobs with a Control Job
  • Pauses the Process Job on Start, Substrate movement or after a delay
  • Resumes the Process Job after it transitions to Paused
  • Verifies that the Process Job is continuing

Process Job Paused/Stop

  • Creates a Process Jobs with a Control Job
  • Pauses the Process Job on Start, Substrate movement or after a delay
  • Stops the Process Job after it transitions to Paused
  • Verifies that the Process Job is stopping

Process Job Paused/Abort

  • Creates a Process Jobs with a Control Job
  • Pauses the Process Job on Start, Substrate movement or after a delay
  • Aborts the Process Job after it transitions to Paused
  • Verifies that the Process Job is aborting

Control Job Paused/Resume

  • Creates two Process Jobs with a Control Job
  • Pauses the Control Job on Process Job Start, Substrate movement or after a delay
  • Resumes the Control Job after it transitions to Paused
  • Verifies that the Control Job is continuing

Control Job Paused/Stop

  • Creates two Process Jobs with a Control Job
  • Pauses the Control Job on Process Job Start, Substrate movement or after a delay
  • Stops the Control Job after it transitions to Paused
  • Verifies that the second Process Job is stopped

Control Job Paused/Abort

  • Creates two Process Jobs with a Control Job
  • Pauses the Control Job on Process Job Start, Substrate movement or after a delay
  • Aborts the Control Job after it transitions to Paused
  • Verifies that the second Process Job is aborted

Process Job Abort

  • Creates a Process Jobs with a Control Job
  • Aborts the Process Job on Start, Substrate movement or after a delay
  • Verifies that the Process Job is aborted

Control Job Abort - Save Process Jobs

  • Creates two Process Jobs with a Control Job
  • Aborts the Control Job on Process Job Start, Substrate movement or after a delay with Action SAVEJOBS
  • Verifies that the first Process Job is aborted and that the second is removed from the Control Job

Control Job Abort - Remove Process Jobs

  • Creates two Process Jobs with a Control Job
  • Aborts the Control Job on Process Job Start, Substrate movement or after a delay with Action REMOVEJOBS
  • Verifies that the first Process Job is aborted and that the second is removed

Control Job Deselection

  • Creates two Control Jobs
  • Deselects the first Control Job that becomes Selected
  • Verifies that the other Control Job becomes Selected

Control Job Head of Queue

  • Creates three Control Jobs
  • Puts the third Control Job to the Head of Queue
  • Verifies that the third Control Job is either Selected or Selected after the first Control Job is Stopped