MRAlpha High Level Software Design
- 1 Software Organization
- 1.1 System Architecture
- 1.1.1 Activities
- 1.1.2 Processes
- 1.1.3 Subsystems
- 1.1.4 Subsystem Development Process
- 1.1.5 System Architecture Diagram
- 1.1.6 Material Tracker
- 1.1.7 Sequences
- 1.1 System Architecture
- 2 Process Overview
- 2.1 Software Release Process
- 2.2 Wafer Bond Process
- 2.2.1 State Table
- 2.2.2 Diagram
Software Organization
System Architecture
The D2W system consists of six main software components:
Hardware Libraries
EFEM
Subsystems
High-Level Processes, Sequences and Activities
Additional components:
Scripts
Utilities
Activities
UI elements; may call sequences.
Processes
High-level orchestrators; can invoke activities and sequences.
Subsystems
Subsystems are divided into:
Logical Subsystems: Inherit directly from the Subsystem class; allow simulation.
Hardware Subsystems: Wrappers for hardware libraries; inherit from hardware abstraction classes such as:
Motion Controller
IO Controller (digital lines and pneumatics)
Cameras
Sensors
Subsystem Development Process
Define Hardware
Create Hardware Control Library
Create Subsystem for the hardware
Create Manual Control Process and Activity
Test with Hardware
Integrate into higher-level system
Add to D2W Manual Control (create Tab)
Test Integration
Create Activities and Automated Sequences
Process Testing
System Architecture Diagram
Material Tracker
Material tracker is a logical subsystem that tracks the materials in the machine
Material | Locations in D2W | Material Path | Notes |
|---|---|---|---|
Tape-Frame | Tape Frame chuck (TFC) | EFEM ->TFC -> EFEM | Is both a location and a material |
Face Up Wafer (FUW) | Wafer chuck (WC) | EFEM → WC-> EFEM | Is both a location and a material |
Face Down Wafer (FDW) | FUW (jig) ZHead FUW | EFEM -> FUW(jig) -> ZHead -> FUW |
|
Die
| Tape-Frame (position array) FUW (position array) Die carriage ZHead | Tape-Frame -> Die Carriage -> ZHead -> FUW |
|
Sequences
Automated, ordered machine actions; no user input.
Process Overview
Software Release Process
Automated builds are deployed from the main branch of MRAlphaController via Github CI pipeline. They are stored in an S3 bucket.
You can also build a deployable binary via
buildtoolin the MATLAB cmd line.We place released software builds on the CR lab computer in
C:/Software/MRalpha_latest_release/directory.We place untested development builds on the CR lab computer in
C:/Software/MRalpha_latest_dev/directory.We expect this release process to be automated further as we get closer to production level code.
Wafer Bond Process
State Table
Action |
| Wafer Chuck |
| ZHead |
| Face Up Wafer | Notes |
|---|---|---|---|---|---|---|---|
Initial State |
| FUW 0 |
| FDW 0 |
| FDW 0 |
|
| -> | FUW 1 |
| FDW 0 |
| FDW 0 |
|
|
| FUW 1 |
| FDW 0 | -> | FDW 1 | It has the jig |
|
| FUW 1 |
| FDW 1 | <- | FDW 0 |
|
| <- | FUW 0 |
| FDW 1 |
| FDW 0 |
|
| -> | FUW 1 |
| FDW 1 |
| FDW 0 |
|
|
| FUW 1 |
| FDW 0 | -> | FDW 1 | Bonded |
| <- | FUW 0 |
| FDW 0 |
| FDW 0 |
|
Diagram