📖 How to Use and Customize the Simulator Rules Text File
The simulator flow is defined as a JSON text file. You can copy the current flow, customize the steps, and paste/apply them back. A custom file can contain three main properties: flow, masks, and settings.
1. Flow Steps Array (flow)
Each step in the array represents a fabrication process. The step is processed from first to last:
- Deposition (dep):
{"id": 123, "name": "Nitride", "type": "dep", "thick": 50, "color": "#fbbf24", "depMode": "conformal"}. depMode can be "conformal" (covers all features) or "directional" (vertical-only).
- Spin Resist (spin):
{"id": 124, "name": "PR", "type": "spin", "thick": 80, "color": "#fca5a5"}.
- Lithography Exposure (litho):
{"id": 125, "name": "Expose", "type": "litho", "maskId": "mask1"}. Requires a maskId from the masks list.
- Development (develop):
{"id": 126, "name": "Develop", "type": "develop"}. Clears exposed resist.
- Etch (etch):
{"id": 127, "name": "Silicon Etch", "type": "etch", "thick": 60, "etchMode": "anisotropic", "maskId": "mask1"}. etchMode can be "anisotropic" (vertical only) or "isotropic" (undercutting).
- Resist Strip (strip):
{"id": 128, "name": "Strip PR", "type": "strip"}. Removes all spin-coated materials.
- Ion Implantation (implant):
{"id": 129, "name": "Implant", "type": "implant", "depth": 40, "straggle": 10, "targetMat": "Silicon", "color": "#10b981"}.
2. Masks (masks)
Masks define the horizontal openings where light/exposure penetrates. Example:
{
"id": "mask1",
"name": "Gate Mask",
"color": "#3b82f6",
"openings": [[40, 60], [140, 160]],
"gdsLayer": "1:0"
}
3. Settings (settings)
General visualization options such as view width, slice location, and simulation resolution:
{
"width": 2000,
"sliceY": 0,
"unit": "nm"
}