211 lines
4.0 KiB
YAML
211 lines
4.0 KiB
YAML
# =============================================
|
|
# mxPIC Cell/Project Definition File
|
|
# =============================================
|
|
schema_version: "2.0.0"
|
|
kind: cell
|
|
coordinate_system: gds_y_up
|
|
canvas_size:
|
|
width: 500
|
|
height: 600
|
|
project: mxpic_project_1
|
|
name: canvas_1
|
|
type: composite
|
|
version: "1.0.0"
|
|
|
|
# 1. External Ports (How this cell connects to the outside world)
|
|
pins:
|
|
- name: port_io1
|
|
layer: WG_CORE
|
|
element: port
|
|
pin: io1
|
|
x: 40.0
|
|
y: -90.0
|
|
angle: 180.0
|
|
width: 0.5
|
|
- name: port_1_io1
|
|
layer: WG_CORE
|
|
element: port_1
|
|
pin: io1
|
|
x: 410.0
|
|
y: -35.0
|
|
angle: 0.0
|
|
width: 0.5
|
|
- name: port_1_io2
|
|
layer: WG_CORE
|
|
element: port_1
|
|
pin: io2
|
|
x: 410.0
|
|
y: -25.0
|
|
angle: 0.0
|
|
width: 0.5
|
|
- name: port_2_io1
|
|
layer: WG_CORE
|
|
element: port_2
|
|
pin: io1
|
|
x: 390.0
|
|
y: -215.0
|
|
angle: 0.0
|
|
width: 0.5
|
|
- name: port_2_io2
|
|
layer: WG_CORE
|
|
element: port_2
|
|
pin: io2
|
|
x: 390.0
|
|
y: -205.0
|
|
angle: 0.0
|
|
width: 0.5
|
|
|
|
# 2. Instances (The sub-components dropped onto this canvas)
|
|
instances:
|
|
MMI_1:
|
|
component: Silterra/EMO1_2ML_CU_Al_RDL/primitives/multimode_interferometers/1x2MMI_1310nm_TE_Silterra_202603_ZKY_v2
|
|
x: 130.0
|
|
y: -90.0
|
|
rotation: 0.0
|
|
flip: 0
|
|
flop: 0
|
|
mirror: false
|
|
settings:
|
|
length:
|
|
|
|
MMI_2:
|
|
component: Silterra/EMO1_2ML_CU_Al_RDL/primitives/multimode_interferometers/1x2MMI_1310nm_TE_Silterra_202603_ZKY_v2
|
|
x: 280.0
|
|
y: -30.0
|
|
rotation: 0.0
|
|
flip: 0
|
|
flop: 0
|
|
mirror: false
|
|
settings:
|
|
length:
|
|
|
|
MMI_3:
|
|
component: Silterra/EMO1_2ML_CU_Al_RDL/primitives/multimode_interferometers/1x2MMI_1310nm_TE_Silterra_202603_ZKY_v2
|
|
x: 320.1
|
|
y: -144.7
|
|
rotation: 0.0
|
|
flip: 0
|
|
flop: 0
|
|
mirror: false
|
|
settings:
|
|
length:
|
|
|
|
elements:
|
|
port:
|
|
type: port
|
|
x: 40.0
|
|
y: -90.0
|
|
angle: 180.0
|
|
pin_number: 1
|
|
pitch: 10
|
|
layer: WG_CORE
|
|
width: 0.5
|
|
description: ""
|
|
pins:
|
|
- name: port_io1
|
|
role: io1
|
|
port:
|
|
type: port
|
|
x: 40.0
|
|
y: -90.0
|
|
angle: 0.0
|
|
pin_number: 1
|
|
pitch: 10
|
|
layer: WG_CORE
|
|
width: 0.5
|
|
description: ""
|
|
pins:
|
|
- name: port_io1
|
|
role: io1
|
|
port_1:
|
|
type: port
|
|
x: 410.0
|
|
y: -30.0
|
|
angle: 180.0
|
|
pin_number: 2
|
|
pitch: 10
|
|
layer: WG_CORE
|
|
width: 0.5
|
|
description: ""
|
|
pins:
|
|
- name: port_1_io1
|
|
role: io1
|
|
- name: port_1_io2
|
|
role: io2
|
|
port_2:
|
|
type: port
|
|
x: 390.0
|
|
y: -210.0
|
|
angle: 180.0
|
|
pin_number: 2
|
|
pitch: 10
|
|
layer: WG_CORE
|
|
width: 0.5
|
|
description: ""
|
|
pins:
|
|
- name: port_2_io1
|
|
role: io1
|
|
- name: port_2_io2
|
|
role: io2
|
|
|
|
# 3. Bundles (Grouped links for multi-bus/parallel routing)
|
|
bundles:
|
|
output_bus:
|
|
routing_type: euler_bend
|
|
links:
|
|
- from: MMI_1:a1
|
|
to: port:port_io1
|
|
xsection: strip
|
|
family: optical
|
|
width: 0.45
|
|
radius: 10
|
|
routing_type: euler_bend
|
|
- from: MMI_2:a1
|
|
to: MMI_1:b1
|
|
xsection: strip
|
|
family: optical
|
|
width: 0.45
|
|
radius: 10
|
|
routing_type: euler_bend
|
|
- from: MMI_3:a1
|
|
to: MMI_1:b2
|
|
xsection: strip
|
|
family: optical
|
|
width: 0.45
|
|
radius: 10
|
|
routing_type: euler_bend
|
|
- from: MMI_2:b1
|
|
to: port_1:port_1_io1
|
|
xsection: strip
|
|
family: optical
|
|
width: 0.45
|
|
radius: 10
|
|
routing_type: euler_bend
|
|
- from: MMI_2:b1
|
|
to: port_1:port_1_io2
|
|
xsection: strip
|
|
family: optical
|
|
width: 0.45
|
|
radius: 10
|
|
routing_type: euler_bend
|
|
- from: MMI_2:b2
|
|
to: port_1:port_1_io1
|
|
xsection: strip
|
|
family: optical
|
|
width: 0.45
|
|
radius: 10
|
|
routing_type: euler_bend
|
|
- from: MMI_3:b1
|
|
to: port_2:port_2_io2
|
|
xsection: strip
|
|
family: optical
|
|
width: 0.45
|
|
radius: 10
|
|
routing_type: euler_bend
|
|
- from: MMI_3:b2
|
|
to: port_2:port_2_io1
|
|
xsection: strip
|
|
family: optical
|
|
width: 0.45
|
|
radius: 10
|
|
routing_type: euler_bend |