requriesments of .yml for bridge written #4

Merged
PotatoMaxwell merged 4 commits from develope into main 2026-05-17 13:26:27 +00:00
3 changed files with 85 additions and 1 deletions
Showing only changes of commit 1db40d36f3 - Show all commits
+84
View File
@@ -2,3 +2,87 @@
The EDA coding for the layout for optihk The EDA coding for the layout for optihk
# requirements # requirements
flask flask
# Frontend - backend GDS bridge
Each canvas in the fronend should create a same name **.yaml** file.
This **.yaml** should contain the following parts.
- basic description : name, type, version
- ports : the output connection ports for this canvas object
- instances : the instance objects from **PDK** or other **canvas**, together with their **x, y, a, mirror** informations.
- bundles : 1-1 or N-N conenctions that used for auto routing. "***This***" refers to the canvas ports.
```
[ Project Canvas ]
│ (Contains instances of Component A and Component B)
[ Component A Canvas ]
│ (Contains instances of DC_2x2 and Ubend)
[ PDK Primitives ] ──> (Loads raw .gds + physical port data .yml)
```
``` yaml
# ==========================================
# mxPIC Cell/Project Definition File
# ==========================================
name: MMI_Splitter_Module # Name of this cell/component/project
type: composite # "primitive" (PDK base) or "composite" (hierarchical)
version: "1.0.0"
# 1. External Ports (How this cell connects to the outside world)
ports:
- name: in0
layer: WG_CORE
x: 0.0
y: 0.0
angle: 180.0
width: 0.5
- name: out0
layer: WG_CORE
x: 100.0
y: 10.0
angle: 0.0
width: 0.5
- name: out1
layer: WG_CORE
x: 100.0
y: -10.0
angle: 0.0
width: 0.5
# 2. Instances (The sub-components dropped onto this canvas)
instances:
mmi_inst1:
component: MMI_2x2 # References another PDK cell or composite YAML
x: 20.0 # Placement origin X
y: 0.0 # Placement origin Y
rotation: 0.0 # Rotation angle in degrees
mirror: false # True/False for layout mirroring
settings: # Local parameter overrides if parametric
length: 25.5
ubend_top:
component: Ubend
x: 60.0
y: 5.0
rotation: 0.0
mirror: false
ubend_bottom:
component: Ubend
x: 60.0
y: -5.0
rotation: 0.0
mirror: true # Flipped for symmetrical routing
# 3. Bundles (Grouped links for multi-bus/parallel routing)
bundles:
output_bus:
routing_type: euler_bend # Metadata for the backend router
links:
- from: ubend_top:out0
to: this:out0
- from: ubend_bottom:out0
to: this:out1
```
BIN
View File
Binary file not shown.
BIN
View File
Binary file not shown.