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.




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.
E40/E94 Job and E87 Carrier Scenarios
Semilate offers two versatile Job Management modes when integrating Carrier Management: Job After Material and Job Before Material.
- Job After Material: The job is created only after the carrier has been successfully verified.
- Job Before Material: The job is created prior to carrier verification.
- Picks a Carrier, Cancels it if not already Ready to Unload
- Recreates the Carrier
- Waiting for Host with the Carrier ID
- Proceeds with the Carrier ID
- Waiting for Host with the Slot Map
- Proceeds with the Carrier Slot Map
- Reads the Slot Map and creates Jobs with two random Materials each
- Continues with the Job Management Scenario
- Picks a Carrier, Cancels it if not already Ready to Unload
- Recreates the Carrier
- Waiting for Host with the Carrier ID
- Proceeds with the Carrier ID
- Waiting for Host with the Slot Map
- Remembers the Slot Map
- Cancels the Carrier
- Recreates the Carrier
- Creates Jobs with two random Materials each based on the remembered Slot Map
- Waiting for Host with the Carrier ID
- Proceeds with the Carrier ID
- Waiting for Host with the Slot Map
- Proceeds with the Carrier Slot Map
- Continues with the Job Management Scenario
Job Management Scenarios
4 configurations that run a process job with auto and manual start and its control job with auto and manual start
- Creates a Process Job
- Cancels the Process Job
- Creates a Process Job with a Control Job
- Cancels the Control Job with Action SAVEJOBS
- Checks if the Process Job still exists
- Creates a Process Job with a Control Job
- Cancels the Control Job with Action REMOVEJOBS
- Checks if the Process Job doesn’t exists
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- Creates two Control Jobs
- Deselects the first Control Job that becomes Selected
- Verifies that the other Control Job becomes Selected
- 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