requriesments of .yml for bridge written #4
@@ -1,4 +1,88 @@
|
|||||||
# mxpic_EDA
|
# mxpic_EDA
|
||||||
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
|
||||||
|
```
|
||||||
|
|||||||
Binary file not shown.
Binary file not shown.
Reference in New Issue
Block a user