diff --git a/docs/components.rst b/docs/components.rst index 3b463e95..d0f46301 100644 --- a/docs/components.rst +++ b/docs/components.rst @@ -68,6 +68,7 @@ Cells summary ring_with_crossing spiral straight + straight_heater_metal straight_one_pin taper terminator_short diff --git a/docs/components_plot.rst b/docs/components_plot.rst index 1c313ee6..2a5d9717 100644 --- a/docs/components_plot.rst +++ b/docs/components_plot.rst @@ -182,7 +182,7 @@ bend_s import ubcpdk - c = ubcpdk.components.bend_s(size=(11.0, 1.8), npoints=99, cross_section='xs_sc', with_bbox=True, add_pins=True) + c = ubcpdk.components.bend_s(size=(11.0, 1.8), npoints=99, cross_section='xs_sc') c.plot() @@ -707,7 +707,7 @@ mmi1x2 import ubcpdk - c = ubcpdk.components.mmi1x2(width_taper=1.0, length_taper=10.0, length_mmi=5.5, width_mmi=2.5, gap_mmi=0.25, with_bbox=True) + c = ubcpdk.components.mmi1x2(width_taper=1.0, length_taper=10.0, length_mmi=5.5, width_mmi=2.5, gap_mmi=0.25) c.plot() @@ -902,7 +902,22 @@ straight import ubcpdk - c = ubcpdk.components.straight(length=10.0, npoints=2, add_pins=True, cross_section='xs_sc') + c = ubcpdk.components.straight(length=10.0, npoints=2, cross_section='xs_sc', post_process=(functools.partial(, layers=((68, 0),), default=0, top=0.5, bottom=0.5),)) + c.plot() + + + +straight_heater_metal +---------------------------------------------------- + +.. autofunction:: ubcpdk.components.straight_heater_metal + +.. plot:: + :include-source: + + import ubcpdk + + c = ubcpdk.components.straight_heater_metal(length=320.0, length_undercut_spacing=6.0, length_undercut=30.0, length_straight=0.1, length_straight_input=15.0, cross_section='xs_sc', cross_section_heater='xs_heater_metal', cross_section_waveguide_heater='xs_sc_heater_metal', cross_section_heater_undercut='xs_sc_heater_metal_undercut', with_undercut=False, via_stack='via_stack_heater_mtop', heater_taper_length=5.0) c.plot() @@ -932,7 +947,7 @@ taper import ubcpdk - c = ubcpdk.components.taper(length=10.0, width1=0.5, with_bbox=True, with_two_ports=True, cross_section='xs_sc', port_order_name=('o1', 'o2'), port_order_types=('optical', 'optical'), add_pins=True) + c = ubcpdk.components.taper(length=10.0, width1=0.5, with_two_ports=True, cross_section='xs_sc', port_order_name=('o1', 'o2'), port_order_types=('optical', 'optical')) c.plot() diff --git a/docs/notebooks/00_layout.ipynb b/docs/notebooks/00_layout.ipynb index 0bbcd6f1..4957ff67 100644 --- a/docs/notebooks/00_layout.ipynb +++ b/docs/notebooks/00_layout.ipynb @@ -343,7 +343,6 @@ " radius=radius,\n", " y_straight_inner_top=0,\n", " x_inner_length_cutback=0,\n", - " info=dict(does=[\"spiral\", \"te1550\"]),\n", " )\n", " )\n", " ]\n", diff --git a/docs/notebooks/12_sim_plugins_tidy3d.ipynb b/docs/notebooks/12_sim_plugins_tidy3d.ipynb index 338d512a..791e35ef 100644 --- a/docs/notebooks/12_sim_plugins_tidy3d.ipynb +++ b/docs/notebooks/12_sim_plugins_tidy3d.ipynb @@ -240,6 +240,14 @@ "metadata": {}, "outputs": [], "source": [] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "c5e44e25", + "metadata": {}, + "outputs": [], + "source": [] } ], "metadata": { diff --git a/pyproject.toml b/pyproject.toml index f44610ee..6b2f4edf 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -15,8 +15,8 @@ classifiers = [ "Operating System :: OS Independent" ] dependencies = [ - "gdsfactory==7.18.0", - "gplugins[tidy3d,sax,schematic]>=0.10.2,<0.11" + "gdsfactory==7.22.2", + "gplugins[tidy3d,sax,schematic]>=0.11,<0.12" ] description = "ubcpdk pdk" keywords = ["python"] diff --git a/tests/ref/add_electrical_pads_top_dc_ring_single_heater_add_electrical_pads_top_dc_984bbf2d.gds b/tests/ref/add_electrical_pads_top_dc_ring_single_heater_add_electrical_pads_top_dc_984bbf2d.gds new file mode 100644 index 00000000..80906892 Binary files /dev/null and b/tests/ref/add_electrical_pads_top_dc_ring_single_heater_add_electrical_pads_top_dc_984bbf2d.gds differ diff --git a/tests/ref/add_electrical_pads_top_ring_single_heater_add_electrical_pads_top_984bbf2d.gds b/tests/ref/add_electrical_pads_top_ring_single_heater_add_electrical_pads_top_984bbf2d.gds new file mode 100644 index 00000000..1bb24a66 Binary files /dev/null and b/tests/ref/add_electrical_pads_top_ring_single_heater_add_electrical_pads_top_984bbf2d.gds differ diff --git a/tests/ref/add_fiber_array_add_fiber_array_add_fiber_array.gds b/tests/ref/add_fiber_array_add_fiber_array_add_fiber_array.gds index 9b537c18..21d23e46 100644 Binary files a/tests/ref/add_fiber_array_add_fiber_array_add_fiber_array.gds and b/tests/ref/add_fiber_array_add_fiber_array_add_fiber_array.gds differ diff --git a/tests/ref/add_fiber_array_add_fiber_array_add_fiber_array_componentdbr_cavity.gds b/tests/ref/add_fiber_array_add_fiber_array_add_fiber_array_componentdbr_cavity.gds index a84aaed3..8c098942 100644 Binary files a/tests/ref/add_fiber_array_add_fiber_array_add_fiber_array_componentdbr_cavity.gds and b/tests/ref/add_fiber_array_add_fiber_array_add_fiber_array_componentdbr_cavity.gds differ diff --git a/tests/ref/add_fiber_array_pads_rf.gds b/tests/ref/add_fiber_array_pads_rf.gds index 15acb013..2fff3cc9 100644 Binary files a/tests/ref/add_fiber_array_pads_rf.gds and b/tests/ref/add_fiber_array_pads_rf.gds differ diff --git a/tests/ref/coupler.gds b/tests/ref/coupler.gds new file mode 100644 index 00000000..7e59845d Binary files /dev/null and b/tests/ref/coupler.gds differ diff --git a/tests/ref/coupler_coupler1.gds b/tests/ref/coupler_coupler1.gds new file mode 100644 index 00000000..01aa820c Binary files /dev/null and b/tests/ref/coupler_coupler1.gds differ diff --git a/tests/ref/coupler_coupler_e0bb2bc4.gds b/tests/ref/coupler_coupler_e0bb2bc4.gds new file mode 100644 index 00000000..8de6299c Binary files /dev/null and b/tests/ref/coupler_coupler_e0bb2bc4.gds differ diff --git a/tests/ref/coupler_ring.gds b/tests/ref/coupler_ring.gds new file mode 100644 index 00000000..248af055 Binary files /dev/null and b/tests/ref/coupler_ring.gds differ diff --git a/tests/ref/coupler_ring_coupler_ring1.gds b/tests/ref/coupler_ring_coupler_ring1.gds new file mode 100644 index 00000000..2e0993f8 Binary files /dev/null and b/tests/ref/coupler_ring_coupler_ring1.gds differ diff --git a/tests/ref/coupler_ring_coupler_ring_e0bb2bc4.gds b/tests/ref/coupler_ring_coupler_ring_e0bb2bc4.gds new file mode 100644 index 00000000..6d30276b Binary files /dev/null and b/tests/ref/coupler_ring_coupler_ring_e0bb2bc4.gds differ diff --git a/tests/ref/dbr_cavity.gds b/tests/ref/dbr_cavity.gds index 8df91432..1cdbb6f3 100644 Binary files a/tests/ref/dbr_cavity.gds and b/tests/ref/dbr_cavity.gds differ diff --git a/tests/ref/ebeam_y_adiabatic_tapers.gds b/tests/ref/ebeam_y_adiabatic_tapers.gds index 51d015d7..c19cec66 100644 Binary files a/tests/ref/ebeam_y_adiabatic_tapers.gds and b/tests/ref/ebeam_y_adiabatic_tapers.gds differ diff --git a/tests/ref/gc_te1310.gds b/tests/ref/gc_te1310.gds index 8f90f063..bcee8432 100644 Binary files a/tests/ref/gc_te1310.gds and b/tests/ref/gc_te1310.gds differ diff --git a/tests/ref/gc_te1310_8deg.gds b/tests/ref/gc_te1310_8deg.gds index 7b6fd553..9fb94954 100644 Binary files a/tests/ref/gc_te1310_8deg.gds and b/tests/ref/gc_te1310_8deg.gds differ diff --git a/tests/ref/gc_te1310_broadband.gds b/tests/ref/gc_te1310_broadband.gds index 5bf89339..f5f317d8 100644 Binary files a/tests/ref/gc_te1310_broadband.gds and b/tests/ref/gc_te1310_broadband.gds differ diff --git a/tests/ref/gc_te1550.gds b/tests/ref/gc_te1550.gds index e11481db..00ba3c11 100644 Binary files a/tests/ref/gc_te1550.gds and b/tests/ref/gc_te1550.gds differ diff --git a/tests/ref/gc_te1550_90nmSlab.gds b/tests/ref/gc_te1550_90nmSlab.gds index c313236d..f59446d9 100644 Binary files a/tests/ref/gc_te1550_90nmSlab.gds and b/tests/ref/gc_te1550_90nmSlab.gds differ diff --git a/tests/ref/gc_te1550_broadband.gds b/tests/ref/gc_te1550_broadband.gds index 8a2a84ae..6009c07c 100644 Binary files a/tests/ref/gc_te1550_broadband.gds and b/tests/ref/gc_te1550_broadband.gds differ diff --git a/tests/ref/gc_tm1550.gds b/tests/ref/gc_tm1550.gds index 7977dfde..047bed5f 100644 Binary files a/tests/ref/gc_tm1550.gds and b/tests/ref/gc_tm1550.gds differ diff --git a/tests/ref/mmi1x2_mmi1x21.gds b/tests/ref/mmi1x2_mmi1x21.gds new file mode 100644 index 00000000..4551b8f0 Binary files /dev/null and b/tests/ref/mmi1x2_mmi1x21.gds differ diff --git a/tests/ref/mmi1x2_mmi1x2_e0bb2bc4.gds b/tests/ref/mmi1x2_mmi1x2_e0bb2bc4.gds new file mode 100644 index 00000000..048d31cf Binary files /dev/null and b/tests/ref/mmi1x2_mmi1x2_e0bb2bc4.gds differ diff --git a/tests/ref/mzi_mzi_a1fe9d55.gds b/tests/ref/mzi_mzi_a1fe9d55.gds new file mode 100644 index 00000000..cf5d9623 Binary files /dev/null and b/tests/ref/mzi_mzi_a1fe9d55.gds differ diff --git a/tests/ref/mzi_mzi_f5c6fc9f.gds b/tests/ref/mzi_mzi_f5c6fc9f.gds new file mode 100644 index 00000000..267e1779 Binary files /dev/null and b/tests/ref/mzi_mzi_f5c6fc9f.gds differ diff --git a/tests/ref/pad_array_pad_array_25dc0e38.gds b/tests/ref/pad_array_pad_array_25dc0e38.gds new file mode 100644 index 00000000..9dc91c8c Binary files /dev/null and b/tests/ref/pad_array_pad_array_25dc0e38.gds differ diff --git a/tests/ref/pad_pad_0210fbc6.gds b/tests/ref/pad_pad_0210fbc6.gds new file mode 100644 index 00000000..bd62c046 Binary files /dev/null and b/tests/ref/pad_pad_0210fbc6.gds differ diff --git a/tests/ref/ring_double_heater_ring_double_heater_dde86d0f.gds b/tests/ref/ring_double_heater_ring_double_heater_dde86d0f.gds new file mode 100644 index 00000000..5b30da50 Binary files /dev/null and b/tests/ref/ring_double_heater_ring_double_heater_dde86d0f.gds differ diff --git a/tests/ref/ring_double_heater_ring_double_heater_f261383d.gds b/tests/ref/ring_double_heater_ring_double_heater_f261383d.gds new file mode 100644 index 00000000..1648e925 Binary files /dev/null and b/tests/ref/ring_double_heater_ring_double_heater_f261383d.gds differ diff --git a/tests/ref/ring_double_ring_double_64b48b6b.gds b/tests/ref/ring_double_ring_double_64b48b6b.gds new file mode 100644 index 00000000..7b5d6117 Binary files /dev/null and b/tests/ref/ring_double_ring_double_64b48b6b.gds differ diff --git a/tests/ref/ring_double_ring_double_a459ac5d.gds b/tests/ref/ring_double_ring_double_a459ac5d.gds new file mode 100644 index 00000000..c1acbb74 Binary files /dev/null and b/tests/ref/ring_double_ring_double_a459ac5d.gds differ diff --git a/tests/ref/ring_single_dut_ring_single_dut_26538df6.gds b/tests/ref/ring_single_dut_ring_single_dut_26538df6.gds new file mode 100644 index 00000000..6f80370b Binary files /dev/null and b/tests/ref/ring_single_dut_ring_single_dut_26538df6.gds differ diff --git a/tests/ref/ring_single_dut_ring_single_dut_5f7261fe.gds b/tests/ref/ring_single_dut_ring_single_dut_5f7261fe.gds new file mode 100644 index 00000000..75059059 Binary files /dev/null and b/tests/ref/ring_single_dut_ring_single_dut_5f7261fe.gds differ diff --git a/tests/ref/ring_single_heater_ring_single_heater_59bd74a4.gds b/tests/ref/ring_single_heater_ring_single_heater_59bd74a4.gds new file mode 100644 index 00000000..d2aef0f1 Binary files /dev/null and b/tests/ref/ring_single_heater_ring_single_heater_59bd74a4.gds differ diff --git a/tests/ref/ring_single_heater_ring_single_heater_cc91df46.gds b/tests/ref/ring_single_heater_ring_single_heater_cc91df46.gds new file mode 100644 index 00000000..bf5f1c80 Binary files /dev/null and b/tests/ref/ring_single_heater_ring_single_heater_cc91df46.gds differ diff --git a/tests/ref/ring_single_ring_single_382b19ee.gds b/tests/ref/ring_single_ring_single_382b19ee.gds new file mode 100644 index 00000000..19e73ff2 Binary files /dev/null and b/tests/ref/ring_single_ring_single_382b19ee.gds differ diff --git a/tests/ref/ring_single_ring_single_7ee9a328.gds b/tests/ref/ring_single_ring_single_7ee9a328.gds new file mode 100644 index 00000000..e9893499 Binary files /dev/null and b/tests/ref/ring_single_ring_single_7ee9a328.gds differ diff --git a/tests/ref/straight.gds b/tests/ref/straight.gds new file mode 100644 index 00000000..b18af9a7 Binary files /dev/null and b/tests/ref/straight.gds differ diff --git a/tests/ref/straight_heater_metal_undercut_straight_heater_metal_undercut_with_undercutFalse.gds b/tests/ref/straight_heater_metal_undercut_straight_heater_metal_undercut_with_undercutFalse.gds new file mode 100644 index 00000000..7983b3ba Binary files /dev/null and b/tests/ref/straight_heater_metal_undercut_straight_heater_metal_undercut_with_undercutFalse.gds differ diff --git a/tests/test_components.py b/tests/test_components.py index 3af02499..d29373a0 100644 --- a/tests/test_components.py +++ b/tests/test_components.py @@ -18,6 +18,8 @@ "add_pins_bbox_siepic", "add_pads", "add_pins_bbox_siepic_remove_layers", + "import_gds", + "mzi", } cell_names = set(cells.keys()) - set(skip_test) dirpath_ref = pathlib.Path(__file__).absolute().parent / "ref" diff --git a/tests/test_components/test_pdk_settings_add_fiber_array_.yml b/tests/test_components/test_pdk_settings_add_fiber_array_.yml index 517c32f6..3409cf54 100644 --- a/tests/test_components/test_pdk_settings_add_fiber_array_.yml +++ b/tests/test_components/test_pdk_settings_add_fiber_array_.yml @@ -1,29 +1,16 @@ function: add_fiber_array info: - length: 10.0 - route_info_length: 10.0 + length: 1.0 + route_info_length: 1.0 route_info_type: xs_sc - route_info_weight: 10.0 - route_info_xs_sc_length: 10.0 + route_info_weight: 1.0 + route_info_xs_sc_length: 1.0 width: 0.5 module: ubcpdk.components name: add_fiber_array_add_fiber_array settings: component: function: straight - module: gdsfactory.components.straight - settings: - cross_section: xs_sc - post_process: - - function: add_padding - module: gdsfactory.add_padding - settings: - bottom: 0.5 - default: 0 - layers: - - - 68 - - 0 - top: 0.5 component_name: null cross_section: xs_sc fanout_length: 0.0 @@ -32,25 +19,10 @@ settings: function: get_input_labels grating_coupler: function: gc_te1550 - info: null layer_label: - 10 - 0 optical_routing_type: 0 - post_process: null straight: function: straight - module: gdsfactory.components.straight - settings: - cross_section: xs_sc - post_process: - - function: add_padding - module: gdsfactory.add_padding - settings: - bottom: 0.5 - default: 0 - layers: - - - 68 - - 0 - top: 0.5 with_loopback: false diff --git a/tests/test_components/test_pdk_settings_add_pads_dc_.yml b/tests/test_components/test_pdk_settings_add_pads_dc_.yml index 4d025a6e..ed8ffd79 100644 --- a/tests/test_components/test_pdk_settings_add_pads_dc_.yml +++ b/tests/test_components/test_pdk_settings_add_pads_dc_.yml @@ -1,7 +1,7 @@ function: add_electrical_pads_top_dc info: {} module: gdsfactory.routing.add_electrical_pads_top_dc -name: ring_single_heater_add_electrical_pads_top_dc_cc2475fe +name: ring_single_heater_add_electrical_pads_top_dc_984bbf2d settings: component: ring_single_heater get_bundle_function: @@ -11,7 +11,6 @@ settings: bend: function: wire_corner cross_section: xs_metal_routing - info: null pad_array: function: pad_array module: gdsfactory.components.pad @@ -28,14 +27,6 @@ settings: layer: - 12 - 0 - post_process: - function: add_pins_siepic - module: ubcpdk.tech - settings: - layer_pin: - - 1 - - 11 - port_type: placement size: - 75 - 75 @@ -43,7 +34,6 @@ settings: - 125 - 125 port_names: null - post_process: null select_ports: function: select_ports module: gdsfactory.port diff --git a/tests/test_components/test_pdk_settings_add_pads_rf_.yml b/tests/test_components/test_pdk_settings_add_pads_rf_.yml index b5c91837..873b53c5 100644 --- a/tests/test_components/test_pdk_settings_add_pads_rf_.yml +++ b/tests/test_components/test_pdk_settings_add_pads_rf_.yml @@ -1,11 +1,10 @@ function: add_electrical_pads_top info: {} module: gdsfactory.routing.add_electrical_pads_top -name: ring_single_heater_add_electrical_pads_top_cc2475fe +name: ring_single_heater_add_electrical_pads_top_984bbf2d settings: component: ring_single_heater direction: top - info: null layer: MTOP pad_array: function: pad_array @@ -23,14 +22,6 @@ settings: layer: - 12 - 0 - post_process: - function: add_pins_siepic - module: ubcpdk.tech - settings: - layer_pin: - - 1 - - 11 - port_type: placement size: - 75 - 75 @@ -38,7 +29,6 @@ settings: - 125 - 125 port_names: null - post_process: null select_ports: function: select_ports module: gdsfactory.port diff --git a/tests/test_components/test_pdk_settings_bend_s_.yml b/tests/test_components/test_pdk_settings_bend_s_.yml index 471a9d03..3da9531c 100644 --- a/tests/test_components/test_pdk_settings_bend_s_.yml +++ b/tests/test_components/test_pdk_settings_bend_s_.yml @@ -8,9 +8,7 @@ module: gdsfactory.components.bend_s name: bend_s settings: cross_section: xs_sc - info: null npoints: 99 - post_process: null size: - 11.0 - 1.8 diff --git a/tests/test_components/test_pdk_settings_coupler_.yml b/tests/test_components/test_pdk_settings_coupler_.yml index 182dbcae..bc04f258 100644 --- a/tests/test_components/test_pdk_settings_coupler_.yml +++ b/tests/test_components/test_pdk_settings_coupler_.yml @@ -3,49 +3,14 @@ info: length: 10.186 min_bend_radius: 11.857 module: gdsfactory.components.coupler -name: coupler_4abc60df +name: coupler settings: coupler_straight: function: coupler_straight coupler_symmetric: function: coupler_symmetric - cross_section: - add_pins_function_module: ubcpdk.tech - add_pins_function_name: add_pins_siepic - auto_widen: false - auto_widen_minimum_length: 200.0 - bbox_layers: null - bbox_offsets: null - components_along_path: [] - end_straight_length: 0.01 - gap: 3.0 - info: {} - min_length: 0.01 - radius: 10.0 - radius_min: 5.0 - sections: - - hidden: false - insets: null - layer: WG - name: _default - offset: 0.0 - offset_function: null - port_names: - - o1 - - o2 - port_types: - - optical - - optical - simplify: null - width: 0.5 - width_function: null - start_straight_length: 0.01 - taper_length: 10.0 - width_wide: null + cross_section: xs_sc dx: 10.0 dy: 4.0 gap: 0.236 - info: null length: 20.0 - post_process: - function: add_pins_bbox_siepic diff --git a/tests/test_components/test_pdk_settings_coupler_ring_.yml b/tests/test_components/test_pdk_settings_coupler_ring_.yml index 15895216..d232a33d 100644 --- a/tests/test_components/test_pdk_settings_coupler_ring_.yml +++ b/tests/test_components/test_pdk_settings_coupler_ring_.yml @@ -1,7 +1,7 @@ function: coupler_ring info: {} module: gdsfactory.components.coupler_ring -name: coupler_ring_4abc60df +name: coupler_ring settings: bend: function: bend_euler @@ -9,44 +9,9 @@ settings: function: coupler90 coupler_straight: function: coupler_straight - cross_section: - add_pins_function_module: ubcpdk.tech - add_pins_function_name: add_pins_siepic - auto_widen: false - auto_widen_minimum_length: 200.0 - bbox_layers: null - bbox_offsets: null - components_along_path: [] - end_straight_length: 0.01 - gap: 3.0 - info: {} - min_length: 0.01 - radius: 10.0 - radius_min: 5.0 - sections: - - hidden: false - insets: null - layer: WG - name: _default - offset: 0.0 - offset_function: null - port_names: - - o1 - - o2 - port_types: - - optical - - optical - simplify: null - width: 0.5 - width_function: null - start_straight_length: 0.01 - taper_length: 10.0 - width_wide: null + cross_section: xs_sc cross_section_bend: null gap: 0.2 - info: null length_extension: 3 length_x: 4.0 - post_process: - function: add_pins_bbox_siepic radius: 5.0 diff --git a/tests/test_components/test_pdk_settings_dbr_cavity_.yml b/tests/test_components/test_pdk_settings_dbr_cavity_.yml index f079899a..030952cd 100644 --- a/tests/test_components/test_pdk_settings_dbr_cavity_.yml +++ b/tests/test_components/test_pdk_settings_dbr_cavity_.yml @@ -5,42 +5,5 @@ name: dbr_cavity settings: coupler: function: coupler - module: gdsfactory.components.coupler - settings: - cross_section: - add_pins_function_module: ubcpdk.tech - add_pins_function_name: add_pins_siepic - auto_widen: false - auto_widen_minimum_length: 200.0 - bbox_layers: null - bbox_offsets: null - components_along_path: [] - end_straight_length: 0.01 - gap: 3.0 - info: {} - min_length: 0.01 - radius: 10.0 - radius_min: 5.0 - sections: - - hidden: false - insets: null - layer: WG - name: _default - offset: 0.0 - offset_function: null - port_names: - - o1 - - o2 - port_types: - - optical - - optical - simplify: null - width: 0.5 - width_function: null - start_straight_length: 0.01 - taper_length: 10.0 - width_wide: null - post_process: - function: add_pins_bbox_siepic dbr: function: dbr diff --git a/tests/test_components/test_pdk_settings_dbr_cavity_te_.yml b/tests/test_components/test_pdk_settings_dbr_cavity_te_.yml index 9b41f639..9d68abcf 100644 --- a/tests/test_components/test_pdk_settings_dbr_cavity_te_.yml +++ b/tests/test_components/test_pdk_settings_dbr_cavity_te_.yml @@ -9,43 +9,6 @@ settings: settings: coupler: function: coupler - module: gdsfactory.components.coupler - settings: - cross_section: - add_pins_function_module: ubcpdk.tech - add_pins_function_name: add_pins_siepic - auto_widen: false - auto_widen_minimum_length: 200.0 - bbox_layers: null - bbox_offsets: null - components_along_path: [] - end_straight_length: 0.01 - gap: 3.0 - info: {} - min_length: 0.01 - radius: 10.0 - radius_min: 5.0 - sections: - - hidden: false - insets: null - layer: WG - name: _default - offset: 0.0 - offset_function: null - port_names: - - o1 - - o2 - port_types: - - optical - - optical - simplify: null - width: 0.5 - width_function: null - start_straight_length: 0.01 - taper_length: 10.0 - width_wide: null - post_process: - function: add_pins_bbox_siepic dbr: function: dbr component_name: null @@ -56,25 +19,10 @@ settings: function: get_input_labels grating_coupler: function: gc_te1550 - info: null layer_label: - 10 - 0 optical_routing_type: 0 - post_process: null straight: function: straight - module: gdsfactory.components.straight - settings: - cross_section: xs_sc - post_process: - - function: add_padding - module: gdsfactory.add_padding - settings: - bottom: 0.5 - default: 0 - layers: - - - 68 - - 0 - top: 0.5 with_loopback: false diff --git a/tests/test_components/test_pdk_settings_ebeam_dc_te1550_.yml b/tests/test_components/test_pdk_settings_ebeam_dc_te1550_.yml index 7b07e047..bc04f258 100644 --- a/tests/test_components/test_pdk_settings_ebeam_dc_te1550_.yml +++ b/tests/test_components/test_pdk_settings_ebeam_dc_te1550_.yml @@ -3,7 +3,7 @@ info: length: 10.186 min_bend_radius: 11.857 module: gdsfactory.components.coupler -name: coupler_17b65cbd +name: coupler settings: coupler_straight: function: coupler_straight @@ -13,10 +13,4 @@ settings: dx: 10.0 dy: 4.0 gap: 0.236 - info: null length: 20.0 - post_process: - function: add_pins_bbox_siepic - module: ubcpdk.tech - settings: - remove_layers: true diff --git a/tests/test_components/test_pdk_settings_mmi1x2_.yml b/tests/test_components/test_pdk_settings_mmi1x2_.yml index 850bb6e8..57995a7a 100644 --- a/tests/test_components/test_pdk_settings_mmi1x2_.yml +++ b/tests/test_components/test_pdk_settings_mmi1x2_.yml @@ -1,47 +1,12 @@ function: mmi1x2 info: {} module: gdsfactory.components.mmi1x2 -name: mmi1x2_4abc60df +name: mmi1x2 settings: - cross_section: - add_pins_function_module: ubcpdk.tech - add_pins_function_name: add_pins_siepic - auto_widen: false - auto_widen_minimum_length: 200.0 - bbox_layers: null - bbox_offsets: null - components_along_path: [] - end_straight_length: 0.01 - gap: 3.0 - info: {} - min_length: 0.01 - radius: 10.0 - radius_min: 5.0 - sections: - - hidden: false - insets: null - layer: WG - name: _default - offset: 0.0 - offset_function: null - port_names: - - o1 - - o2 - port_types: - - optical - - optical - simplify: null - width: 0.5 - width_function: null - start_straight_length: 0.01 - taper_length: 10.0 - width_wide: null + cross_section: xs_sc gap_mmi: 0.25 - info: null length_mmi: 5.5 length_taper: 10.0 - post_process: - function: add_pins_bbox_siepic taper: function: taper width: null diff --git a/tests/test_components/test_pdk_settings_mzi_.yml b/tests/test_components/test_pdk_settings_mzi_.yml index c0da023d..ba1f5c4d 100644 --- a/tests/test_components/test_pdk_settings_mzi_.yml +++ b/tests/test_components/test_pdk_settings_mzi_.yml @@ -1,7 +1,7 @@ function: mzi info: {} module: gdsfactory.components.mzi -name: mzi_0e264d4b +name: mzi_f5c6fc9f settings: add_electrical_ports_bot: true add_optical_ports_arms: false @@ -13,33 +13,19 @@ settings: cross_section_x_top: null delta_length: 10.0 extend_ports_straight_x: null - info: null length_x: 0.1 length_y: 2.0 + min_length: 0.01 mirror_bot: false nbends: 2 port_e0_combiner: o3 port_e0_splitter: o3 port_e1_combiner: o2 port_e1_splitter: o2 - post_process: null splitter: function: ebeam_y_1550 straight: function: straight - module: gdsfactory.components.straight - settings: - cross_section: xs_sc - post_process: - - function: add_padding - module: gdsfactory.add_padding - settings: - bottom: 0.5 - default: 0 - layers: - - - 68 - - 0 - top: 0.5 straight_x_bot: null straight_x_top: null straight_y: null diff --git a/tests/test_components/test_pdk_settings_mzi_heater_.yml b/tests/test_components/test_pdk_settings_mzi_heater_.yml index dd8dd650..3850fb5a 100644 --- a/tests/test_components/test_pdk_settings_mzi_heater_.yml +++ b/tests/test_components/test_pdk_settings_mzi_heater_.yml @@ -1,7 +1,7 @@ function: mzi info: {} module: gdsfactory.components.mzi -name: mzi_5a8609eb +name: mzi_a1fe9d55 settings: add_electrical_ports_bot: true add_optical_ports_arms: false @@ -13,33 +13,19 @@ settings: cross_section_x_top: null delta_length: 10.0 extend_ports_straight_x: null - info: null length_x: 200 length_y: 2.0 + min_length: 0.01 mirror_bot: false nbends: 2 port_e0_combiner: o3 port_e0_splitter: o3 port_e1_combiner: o2 port_e1_splitter: o2 - post_process: null splitter: function: ebeam_y_1550 straight: function: straight - module: gdsfactory.components.straight - settings: - cross_section: xs_sc - post_process: - - function: add_padding - module: gdsfactory.add_padding - settings: - bottom: 0.5 - default: 0 - layers: - - - 68 - - 0 - top: 0.5 straight_x_bot: null straight_x_top: straight_heater_metal straight_y: null diff --git a/tests/test_components/test_pdk_settings_pad_.yml b/tests/test_components/test_pdk_settings_pad_.yml index 85fd0d7c..a7786a50 100644 --- a/tests/test_components/test_pdk_settings_pad_.yml +++ b/tests/test_components/test_pdk_settings_pad_.yml @@ -9,27 +9,18 @@ info: xsize: 75 ysize: 75 module: gdsfactory.components.pad -name: pad_a56a8c7f +name: pad_0210fbc6 settings: bbox_layers: - - 13 - 0 bbox_offsets: - -1.8 - info: null layer: - 12 - 0 port_inclusion: 0 port_orientation: null - post_process: - function: add_pins_siepic - module: ubcpdk.tech - settings: - layer_pin: - - 1 - - 11 - port_type: placement size: - 75 - 75 diff --git a/tests/test_components/test_pdk_settings_pad_array_.yml b/tests/test_components/test_pdk_settings_pad_array_.yml index 73852c30..173e3b95 100644 --- a/tests/test_components/test_pdk_settings_pad_array_.yml +++ b/tests/test_components/test_pdk_settings_pad_array_.yml @@ -3,10 +3,9 @@ info: xsize: 75 ysize: 75 module: gdsfactory.components.pad -name: pad_array_2e24007e +name: pad_array_25dc0e38 settings: columns: 6 - info: null orientation: 270 pad: function: pad @@ -20,18 +19,9 @@ settings: layer: - 12 - 0 - post_process: - function: add_pins_siepic - module: ubcpdk.tech - settings: - layer_pin: - - 1 - - 11 - port_type: placement size: - 75 - 75 - post_process: null rows: 1 spacing: - 125 diff --git a/tests/test_components/test_pdk_settings_ring_double_.yml b/tests/test_components/test_pdk_settings_ring_double_.yml index d7a7d687..a9cae3ce 100644 --- a/tests/test_components/test_pdk_settings_ring_double_.yml +++ b/tests/test_components/test_pdk_settings_ring_double_.yml @@ -1,61 +1,16 @@ function: ring_double info: {} module: gdsfactory.components.ring_double -name: ring_double_b0e5609f +name: ring_double_a459ac5d settings: bend: function: bend_euler coupler_ring: function: coupler_ring - module: gdsfactory.components.coupler_ring - settings: - cross_section: - add_pins_function_module: ubcpdk.tech - add_pins_function_name: add_pins_siepic - auto_widen: false - auto_widen_minimum_length: 200.0 - bbox_layers: null - bbox_offsets: null - components_along_path: [] - end_straight_length: 0.01 - gap: 3.0 - info: {} - min_length: 0.01 - radius: 10.0 - radius_min: 5.0 - sections: - - hidden: false - insets: null - layer: WG - name: _default - offset: 0.0 - offset_function: null - port_names: - - o1 - - o2 - port_types: - - optical - - optical - simplify: null - width: 0.5 - width_function: null - start_straight_length: 0.01 - taper_length: 10.0 - width_wide: null - post_process: - function: add_pins_bbox_siepic cross_section: - add_pins_function_module: ubcpdk.tech - add_pins_function_name: add_pins_siepic - auto_widen: false - auto_widen_minimum_length: 200.0 bbox_layers: null bbox_offsets: null components_along_path: [] - end_straight_length: 0.01 - gap: 3.0 - info: {} - min_length: 0.01 radius: 10.0 radius_min: 5.0 sections: @@ -74,9 +29,6 @@ settings: simplify: null width: 0.5 width_function: null - start_straight_length: 0.01 - taper_length: 10.0 - width_wide: null gap: 0.2 gap_top: null length_x: 0.01 @@ -84,16 +36,3 @@ settings: radius: 10.0 straight: function: straight - module: gdsfactory.components.straight - settings: - cross_section: xs_sc - post_process: - - function: add_padding - module: gdsfactory.add_padding - settings: - bottom: 0.5 - default: 0 - layers: - - - 68 - - 0 - top: 0.5 diff --git a/tests/test_components/test_pdk_settings_ring_double_heater_.yml b/tests/test_components/test_pdk_settings_ring_double_heater_.yml index db86f3dd..43c6d386 100644 --- a/tests/test_components/test_pdk_settings_ring_double_heater_.yml +++ b/tests/test_components/test_pdk_settings_ring_double_heater_.yml @@ -1,62 +1,17 @@ function: ring_double_heater info: {} module: gdsfactory.components.ring_double_heater -name: ring_double_heater_30105b49 +name: ring_double_heater_dde86d0f settings: bend: function: bend_euler coupler_ring: function: coupler_ring - module: gdsfactory.components.coupler_ring - settings: - cross_section: - add_pins_function_module: ubcpdk.tech - add_pins_function_name: add_pins_siepic - auto_widen: false - auto_widen_minimum_length: 200.0 - bbox_layers: null - bbox_offsets: null - components_along_path: [] - end_straight_length: 0.01 - gap: 3.0 - info: {} - min_length: 0.01 - radius: 10.0 - radius_min: 5.0 - sections: - - hidden: false - insets: null - layer: WG - name: _default - offset: 0.0 - offset_function: null - port_names: - - o1 - - o2 - port_types: - - optical - - optical - simplify: null - width: 0.5 - width_function: null - start_straight_length: 0.01 - taper_length: 10.0 - width_wide: null - post_process: - function: add_pins_bbox_siepic coupler_ring_top: null cross_section: - add_pins_function_module: ubcpdk.tech - add_pins_function_name: add_pins_siepic - auto_widen: false - auto_widen_minimum_length: 200.0 bbox_layers: null bbox_offsets: null components_along_path: [] - end_straight_length: 0.01 - gap: 3.0 - info: {} - min_length: 0.01 radius: 10.0 radius_min: 5.0 sections: @@ -75,9 +30,6 @@ settings: simplify: null width: 0.5 width_function: null - start_straight_length: 0.01 - taper_length: 10.0 - width_wide: null cross_section_heater: xs_heater_metal cross_section_waveguide_heater: xs_sc_heater_metal gap: 0.2 @@ -88,19 +40,6 @@ settings: radius: 10.0 straight: function: straight - module: gdsfactory.components.straight - settings: - cross_section: xs_sc - post_process: - - function: add_padding - module: gdsfactory.add_padding - settings: - bottom: 0.5 - default: 0 - layers: - - - 68 - - 0 - top: 0.5 straight_heater: function: straight via_stack: diff --git a/tests/test_components/test_pdk_settings_ring_single_.yml b/tests/test_components/test_pdk_settings_ring_single_.yml index 433cd454..5d481b98 100644 --- a/tests/test_components/test_pdk_settings_ring_single_.yml +++ b/tests/test_components/test_pdk_settings_ring_single_.yml @@ -1,7 +1,7 @@ function: ring_single info: {} module: gdsfactory.components.ring_single -name: ring_single_f7a07c6e +name: ring_single_382b19ee settings: bend: function: bend_euler_sc @@ -9,55 +9,10 @@ settings: function: bend_euler coupler_ring: function: coupler_ring - module: gdsfactory.components.coupler_ring - settings: - cross_section: - add_pins_function_module: ubcpdk.tech - add_pins_function_name: add_pins_siepic - auto_widen: false - auto_widen_minimum_length: 200.0 - bbox_layers: null - bbox_offsets: null - components_along_path: [] - end_straight_length: 0.01 - gap: 3.0 - info: {} - min_length: 0.01 - radius: 10.0 - radius_min: 5.0 - sections: - - hidden: false - insets: null - layer: WG - name: _default - offset: 0.0 - offset_function: null - port_names: - - o1 - - o2 - port_types: - - optical - - optical - simplify: null - width: 0.5 - width_function: null - start_straight_length: 0.01 - taper_length: 10.0 - width_wide: null - post_process: - function: add_pins_bbox_siepic cross_section: - add_pins_function_module: ubcpdk.tech - add_pins_function_name: add_pins_siepic - auto_widen: false - auto_widen_minimum_length: 200.0 bbox_layers: null bbox_offsets: null components_along_path: [] - end_straight_length: 0.01 - gap: 3.0 - info: {} - min_length: 0.01 radius: 10.0 radius_min: 5.0 sections: @@ -76,9 +31,6 @@ settings: simplify: null width: 0.5 width_function: null - start_straight_length: 0.01 - taper_length: 10.0 - width_wide: null gap: 0.2 length_x: 4.0 length_y: 0.6 @@ -86,16 +38,3 @@ settings: radius: 10.0 straight: function: straight - module: gdsfactory.components.straight - settings: - cross_section: xs_sc - post_process: - - function: add_padding - module: gdsfactory.add_padding - settings: - bottom: 0.5 - default: 0 - layers: - - - 68 - - 0 - top: 0.5 diff --git a/tests/test_components/test_pdk_settings_ring_single_heater_.yml b/tests/test_components/test_pdk_settings_ring_single_heater_.yml index 8297d403..c93dfb19 100644 --- a/tests/test_components/test_pdk_settings_ring_single_heater_.yml +++ b/tests/test_components/test_pdk_settings_ring_single_heater_.yml @@ -1,7 +1,7 @@ function: ring_single_heater info: {} module: gdsfactory.components.ring_single_heater -name: ring_single_heater_2c28c6d4 +name: ring_single_heater_cc91df46 settings: bend: function: bend_euler @@ -9,55 +9,10 @@ settings: function: bend_euler coupler_ring: function: coupler_ring - module: gdsfactory.components.coupler_ring - settings: - cross_section: - add_pins_function_module: ubcpdk.tech - add_pins_function_name: add_pins_siepic - auto_widen: false - auto_widen_minimum_length: 200.0 - bbox_layers: null - bbox_offsets: null - components_along_path: [] - end_straight_length: 0.01 - gap: 3.0 - info: {} - min_length: 0.01 - radius: 10.0 - radius_min: 5.0 - sections: - - hidden: false - insets: null - layer: WG - name: _default - offset: 0.0 - offset_function: null - port_names: - - o1 - - o2 - port_types: - - optical - - optical - simplify: null - width: 0.5 - width_function: null - start_straight_length: 0.01 - taper_length: 10.0 - width_wide: null - post_process: - function: add_pins_bbox_siepic cross_section: - add_pins_function_module: ubcpdk.tech - add_pins_function_name: add_pins_siepic - auto_widen: false - auto_widen_minimum_length: 200.0 bbox_layers: null bbox_offsets: null components_along_path: [] - end_straight_length: 0.01 - gap: 3.0 - info: {} - min_length: 0.01 radius: 10.0 radius_min: 5.0 sections: @@ -76,9 +31,6 @@ settings: simplify: null width: 0.5 width_function: null - start_straight_length: 0.01 - taper_length: 10.0 - width_wide: null cross_section_waveguide_heater: xs_sc_heater_metal gap: 0.2 length_x: 4.0 @@ -87,19 +39,6 @@ settings: radius: 10.0 straight: function: straight - module: gdsfactory.components.straight - settings: - cross_section: xs_sc - post_process: - - function: add_padding - module: gdsfactory.add_padding - settings: - bottom: 0.5 - default: 0 - layers: - - - 68 - - 0 - top: 0.5 via_stack: function: via_stack module: gdsfactory.components.via_stack diff --git a/tests/test_components/test_pdk_settings_ring_with_crossing_.yml b/tests/test_components/test_pdk_settings_ring_with_crossing_.yml index 89e46b33..f279fddd 100644 --- a/tests/test_components/test_pdk_settings_ring_with_crossing_.yml +++ b/tests/test_components/test_pdk_settings_ring_with_crossing_.yml @@ -1,7 +1,7 @@ function: ring_single_dut info: {} module: gdsfactory.components.ring_single_dut -name: ring_single_dut_ec96572d +name: ring_single_dut_26538df6 settings: bend: function: bend_euler_sc @@ -9,43 +9,6 @@ settings: function: ebeam_crossing4_2ports coupler: function: coupler_ring - module: gdsfactory.components.coupler_ring - settings: - cross_section: - add_pins_function_module: ubcpdk.tech - add_pins_function_name: add_pins_siepic - auto_widen: false - auto_widen_minimum_length: 200.0 - bbox_layers: null - bbox_offsets: null - components_along_path: [] - end_straight_length: 0.01 - gap: 3.0 - info: {} - min_length: 0.01 - radius: 10.0 - radius_min: 5.0 - sections: - - hidden: false - insets: null - layer: WG - name: _default - offset: 0.0 - offset_function: null - port_names: - - o1 - - o2 - port_types: - - optical - - optical - simplify: null - width: 0.5 - width_function: null - start_straight_length: 0.01 - taper_length: 10.0 - width_wide: null - post_process: - function: add_pins_bbox_siepic cross_section: xs_sc gap: 0.2 length_x: 4 @@ -54,17 +17,4 @@ settings: radius: 5.0 straight: function: straight - module: gdsfactory.components.straight - settings: - cross_section: xs_sc - post_process: - - function: add_padding - module: gdsfactory.add_padding - settings: - bottom: 0.5 - default: 0 - layers: - - - 68 - - 0 - top: 0.5 with_component: true diff --git a/tests/test_components/test_pdk_settings_straight_.yml b/tests/test_components/test_pdk_settings_straight_.yml index 9e8609e4..d4e24ff4 100644 --- a/tests/test_components/test_pdk_settings_straight_.yml +++ b/tests/test_components/test_pdk_settings_straight_.yml @@ -1,25 +1,14 @@ function: straight info: - length: 10.0 - route_info_length: 10.0 + length: 1.0 + route_info_length: 1.0 route_info_type: xs_sc - route_info_weight: 10.0 - route_info_xs_sc_length: 10.0 + route_info_weight: 1.0 + route_info_xs_sc_length: 1.0 width: 0.5 -module: gdsfactory.components.straight -name: straight_af6b139c +module: ubcpdk.components +name: straight settings: cross_section: xs_sc - info: null - length: 10.0 + length: 1.0 npoints: 2 - post_process: - - function: add_padding - module: gdsfactory.add_padding - settings: - bottom: 0.5 - default: 0 - layers: - - - 68 - - 0 - top: 0.5 diff --git a/tests/test_components/test_pdk_settings_straight_heater_metal_.yml b/tests/test_components/test_pdk_settings_straight_heater_metal_.yml new file mode 100644 index 00000000..68c076ad --- /dev/null +++ b/tests/test_components/test_pdk_settings_straight_heater_metal_.yml @@ -0,0 +1,23 @@ +function: straight_heater_metal_undercut +info: + resistance: 0 +module: gdsfactory.components.straight_heater_metal +name: straight_heater_metal_undercut_with_undercutFalse +settings: + cross_section: xs_sc + cross_section_heater: xs_heater_metal + cross_section_heater_undercut: xs_sc_heater_metal_undercut + cross_section_waveguide_heater: xs_sc_heater_metal + heater_taper_length: 5.0 + length: 320.0 + length_straight: 0.1 + length_straight_input: 15.0 + length_undercut: 30.0 + length_undercut_spacing: 6.0 + ohms_per_square: null + port_orientation1: null + port_orientation2: null + straight: + function: straight + via_stack: via_stack_heater_mtop + with_undercut: false diff --git a/tests/test_components/test_pdk_settings_straight_one_pin_.yml b/tests/test_components/test_pdk_settings_straight_one_pin_.yml index 6d949f67..f9a37ae2 100644 --- a/tests/test_components/test_pdk_settings_straight_one_pin_.yml +++ b/tests/test_components/test_pdk_settings_straight_one_pin_.yml @@ -7,8 +7,6 @@ settings: function: cross_section module: gdsfactory.cross_section settings: - add_pins_function_module: ubcpdk.tech - add_pins_function_name: add_pins_siepic bbox_layers: null bbox_offsets: null radius_min: 5 diff --git a/tests/test_components/test_pdk_settings_taper_.yml b/tests/test_components/test_pdk_settings_taper_.yml index d85384db..d9457867 100644 --- a/tests/test_components/test_pdk_settings_taper_.yml +++ b/tests/test_components/test_pdk_settings_taper_.yml @@ -7,7 +7,6 @@ module: gdsfactory.components.taper name: taper settings: cross_section: xs_sc - info: null length: 10.0 port: null port_order_name: @@ -16,7 +15,6 @@ settings: port_order_types: - optical - optical - post_process: null width1: 0.5 width2: null with_two_ports: true diff --git a/tests/test_components/test_pdk_settings_via_stack_heater_mtop_.yml b/tests/test_components/test_pdk_settings_via_stack_heater_mtop_.yml index 88845eb7..620e593e 100644 --- a/tests/test_components/test_pdk_settings_via_stack_heater_mtop_.yml +++ b/tests/test_components/test_pdk_settings_via_stack_heater_mtop_.yml @@ -12,7 +12,6 @@ module: gdsfactory.components.via_stack name: via_stack_627f28a4 settings: correct_size: true - info: null layer_offsets: null layer_port: null layers: @@ -20,7 +19,6 @@ settings: - 0 - - 12 - 0 - post_process: null size: - 10 - 10 diff --git a/tests/test_netlists.py b/tests/test_netlists.py new file mode 100644 index 00000000..a6d5b688 --- /dev/null +++ b/tests/test_netlists.py @@ -0,0 +1,56 @@ +from __future__ import annotations + +import gdsfactory as gf +import jsondiff +import pytest +from omegaconf import OmegaConf +from pytest_regressions.data_regression import DataRegressionFixture + +from ubcpdk import PDK + +cells = PDK.cells +skip_test = { + "via_stack_heater_mtop", + "add_pins_bbox_siepic_metal", + "add_pins_bbox_siepic", + "add_pins_siepic", + "add_pins_siepic_metal", + "add_pads", + "dbr", + "dbg", + "import_gds", + "pad_array", + "add_pads_dc", +} +cell_names = cells.keys() - skip_test + + +@pytest.mark.parametrize("component_type", cell_names) +def test_netlists( + component_type: str, + data_regression: DataRegressionFixture, + check: bool = True, + component_factory=cells, +) -> None: + """Write netlists for hierarchical circuits. + Checks that both netlists are the same jsondiff does a hierarchical diff. + Component -> netlist -> Component -> netlist + + Args: + component_type: component type. + data_regression: regression testing fixture. + check: whether to check the netlist. + component_factory: component factory. + + """ + c = component_factory[component_type]() + n = c.get_netlist() + if check: + data_regression.check(n) + + yaml_str = OmegaConf.to_yaml(n, sort_keys=True) + c2 = gf.read.from_yaml(yaml_str, name=c.name) + n2 = c2.get_netlist() + + d = jsondiff.diff(n, n2) + assert len(d) == 0, d diff --git a/tests/test_netlists/test_netlists_add_fiber_array_.yml b/tests/test_netlists/test_netlists_add_fiber_array_.yml new file mode 100644 index 00000000..c4e8aaa8 --- /dev/null +++ b/tests/test_netlists/test_netlists_add_fiber_array_.yml @@ -0,0 +1,56 @@ +connections: {} +instances: + add_fiber_array_1: + component: add_fiber_array + info: + length: 1.0 + route_info_length: 1.0 + route_info_type: xs_sc + route_info_weight: 1.0 + route_info_xs_sc_length: 1.0 + width: 0.5 + settings: + bend: + function: bend_euler_sc + component: + function: straight + component_name: null + cross_section: xs_sc + dev_id: null + fanout_length: 0.0 + gc_port_labels: null + gc_port_name: o1 + get_input_label_text_function: + function: get_input_label_text + get_input_labels_function: + function: get_input_labels + grating_coupler: + function: gc_te1550 + id_placement: center + id_placement_offset: + - 0 + - 0 + io_rotation: null + layer_label: + - 10 + - 0 + optical_routing_type: 0 + select_ports: + function: select_ports + module: gdsfactory.port + settings: + port_type: optical + straight: + function: straight + text: null + with_loopback: false +name: add_fiber_array_add_fiber_array +placements: + add_fiber_array_1: + mirror: 0 + rotation: 270 + x: 0.0 + y: 0.0 +ports: + o1: add_fiber_array_1,o1 + o2: add_fiber_array_1,o2 diff --git a/tests/test_netlists/test_netlists_add_fiber_array_pads_rf_.yml b/tests/test_netlists/test_netlists_add_fiber_array_pads_rf_.yml new file mode 100644 index 00000000..1bf19c27 --- /dev/null +++ b/tests/test_netlists/test_netlists_add_fiber_array_pads_rf_.yml @@ -0,0 +1,152 @@ +connections: {} +instances: + add_fiber_array_1: + component: add_fiber_array + info: {} + settings: + bend: + function: bend_euler_sc + component: + function: add_electrical_pads_top + module: gdsfactory.routing.add_electrical_pads_top + settings: + component: + function: ring_single_heater + module: gdsfactory.components.ring_single_heater + settings: + bend: + function: bend_euler + bend_coupler: + function: bend_euler + coupler_ring: + function: coupler_ring + cross_section: + bbox_layers: null + bbox_offsets: null + components_along_path: [] + radius: 10.0 + radius_min: 5.0 + sections: + - hidden: false + insets: null + layer: WG + name: _default + offset: 0.0 + offset_function: null + port_names: + - o1 + - o2 + port_types: + - optical + - optical + simplify: null + width: 0.5 + width_function: null + cross_section_waveguide_heater: xs_sc_heater_metal + gap: 0.2 + length_x: 4.0 + length_y: 0.6 + port_orientation: null + radius: 10.0 + straight: + function: straight + via_stack: + function: via_stack + module: gdsfactory.components.via_stack + settings: + layers: + - - 11 + - 0 + - - 12 + - 0 + size: + - 10 + - 10 + vias: + - null + - null + via_stack_offset: + - 0 + - 0 + direction: top + layer: MTOP + orientation: 0 + pad_array: + function: pad_array + module: gdsfactory.components.pad + settings: + pad: + function: pad + module: gdsfactory.components.pad + settings: + bbox_layers: + - - 13 + - 0 + bbox_offsets: + - -1.8 + layer: + - 12 + - 0 + size: + - 75 + - 75 + spacing: + - 125 + - 125 + port_names: null + select_ports: + function: select_ports + module: gdsfactory.port + settings: + port_type: electrical + spacing: + - 0.0 + - 100.0 + component_name: null + cross_section: xs_sc + dev_id: null + fanout_length: 0.0 + gc_port_labels: null + gc_port_name: o1 + get_input_label_text_function: + function: get_input_label_text + get_input_labels_function: + function: get_input_labels + grating_coupler: + function: gc_te1550 + id_placement: center + id_placement_offset: + - 0 + - 0 + io_rotation: null + layer_label: + - 10 + - 0 + optical_routing_type: 0 + select_ports: + function: select_ports + module: gdsfactory.port + settings: + port_type: optical + straight: + function: straight + text: null + with_loopback: false +name: add_fiber_array_pads_rf +placements: + add_fiber_array_1: + mirror: 0 + rotation: 270 + x: 0.0 + y: 0.0 +ports: + elec-ring_single_heater_cc91df46-1: add_fiber_array_1,elec-ring_single_heater_cc91df46-1 + elec-ring_single_heater_cc91df46-2: add_fiber_array_1,elec-ring_single_heater_cc91df46-2 + elec-ring_single_heater_cc91df46-3: add_fiber_array_1,elec-ring_single_heater_cc91df46-3 + elec-ring_single_heater_cc91df46-4: add_fiber_array_1,elec-ring_single_heater_cc91df46-4 + elec-ring_single_heater_cc91df46-5: add_fiber_array_1,elec-ring_single_heater_cc91df46-5 + elec-ring_single_heater_cc91df46-6: add_fiber_array_1,elec-ring_single_heater_cc91df46-6 + elec-ring_single_heater_cc91df46-7: add_fiber_array_1,elec-ring_single_heater_cc91df46-7 + elec-ring_single_heater_cc91df46-8: add_fiber_array_1,elec-ring_single_heater_cc91df46-8 + o1: add_fiber_array_1,o1 + o2: add_fiber_array_1,o2 diff --git a/tests/test_netlists/test_netlists_add_pads_.yml b/tests/test_netlists/test_netlists_add_pads_.yml new file mode 100644 index 00000000..5ebac3a1 --- /dev/null +++ b/tests/test_netlists/test_netlists_add_pads_.yml @@ -0,0 +1,489 @@ +connections: {} +instances: + pad_array_1: + component: pad_array + info: + xsize: 75 + ysize: 75 + settings: + columns: 8 + orientation: 270 + pad: + function: pad + module: gdsfactory.components.pad + settings: + bbox_layers: + - - 13 + - 0 + bbox_offsets: + - -1.8 + layer: + - 12 + - 0 + size: + - 75 + - 75 + rows: 1 + spacing: + - 125 + - 125 + ring_single_heater_1: + component: ring_single_heater + info: {} + settings: + bend: + function: bend_euler + bend_coupler: + function: bend_euler + coupler_ring: + function: coupler_ring + cross_section: + bbox_layers: null + bbox_offsets: null + components_along_path: [] + radius: 10.0 + radius_min: 5.0 + sections: + - hidden: false + insets: null + layer: WG + name: _default + offset: 0.0 + offset_function: null + port_names: + - o1 + - o2 + port_types: + - optical + - optical + simplify: null + width: 0.5 + width_function: null + cross_section_waveguide_heater: xs_sc_heater_metal + gap: 0.2 + length_x: 4.0 + length_y: 0.6 + port_orientation: null + radius: 10.0 + straight: + function: straight + via_stack: + function: via_stack + module: gdsfactory.components.via_stack + settings: + layers: + - - 11 + - 0 + - - 12 + - 0 + size: + - 10 + - 10 + vias: + - null + - null + via_stack_offset: + - 0 + - 0 + route_quad_1: + component: route_quad + info: {} + settings: + layer: MTOP + manhattan_target_step: null + port1: + center: + - -14.0 + - 0.0 + layer: + - 12 + - 0 + name: l_e1 + orientation: 180.0 + port_type: electrical + shear_angle: null + width: 10.0 + port2: + center: + - -439.5 + - 160.05 + layer: + - 12 + - 0 + name: e11 + orientation: 270.0 + port_type: electrical + shear_angle: null + width: 75 + width1: null + width2: null + route_quad_2: + component: route_quad + info: {} + settings: + layer: MTOP + manhattan_target_step: null + port1: + center: + - -9.0 + - 5.0 + layer: + - 12 + - 0 + name: l_e2 + orientation: 90.0 + port_type: electrical + shear_angle: null + width: 10.0 + port2: + center: + - -314.5 + - 160.05 + layer: + - 12 + - 0 + name: e12 + orientation: 270.0 + port_type: electrical + shear_angle: null + width: 75 + width1: null + width2: null + route_quad_3: + component: route_quad + info: {} + settings: + layer: MTOP + manhattan_target_step: null + port1: + center: + - -9.0 + - -5.0 + layer: + - 12 + - 0 + name: l_e4 + orientation: 270.0 + port_type: electrical + shear_angle: null + width: 10.0 + port2: + center: + - -189.5 + - 160.05 + layer: + - 12 + - 0 + name: e13 + orientation: 270.0 + port_type: electrical + shear_angle: null + width: 75 + width1: null + width2: null + route_quad_4: + component: route_quad + info: {} + settings: + layer: MTOP + manhattan_target_step: null + port1: + center: + - -4.0 + - 0.0 + layer: + - 12 + - 0 + name: l_e3 + orientation: 0.0 + port_type: electrical + shear_angle: null + width: 10.0 + port2: + center: + - -64.5 + - 160.05 + layer: + - 12 + - 0 + name: e14 + orientation: 270.0 + port_type: electrical + shear_angle: null + width: 75 + width1: null + width2: null + route_quad_5: + component: route_quad + info: {} + settings: + layer: MTOP + manhattan_target_step: null + port1: + center: + - 0.0 + - 0.0 + layer: + - 12 + - 0 + name: r_e1 + orientation: 180.0 + port_type: electrical + shear_angle: null + width: 10.0 + port2: + center: + - 60.5 + - 160.05 + layer: + - 12 + - 0 + name: e15 + orientation: 270.0 + port_type: electrical + shear_angle: null + width: 75 + width1: null + width2: null + route_quad_6: + component: route_quad + info: {} + settings: + layer: MTOP + manhattan_target_step: null + port1: + center: + - 5.0 + - 5.0 + layer: + - 12 + - 0 + name: r_e2 + orientation: 90.0 + port_type: electrical + shear_angle: null + width: 10.0 + port2: + center: + - 185.5 + - 160.05 + layer: + - 12 + - 0 + name: e16 + orientation: 270.0 + port_type: electrical + shear_angle: null + width: 75 + width1: null + width2: null + route_quad_7: + component: route_quad + info: {} + settings: + layer: MTOP + manhattan_target_step: null + port1: + center: + - 5.0 + - -5.0 + layer: + - 12 + - 0 + name: r_e4 + orientation: 270.0 + port_type: electrical + shear_angle: null + width: 10.0 + port2: + center: + - 310.5 + - 160.05 + layer: + - 12 + - 0 + name: e17 + orientation: 270.0 + port_type: electrical + shear_angle: null + width: 75 + width1: null + width2: null + route_quad_8: + component: route_quad + info: {} + settings: + layer: MTOP + manhattan_target_step: null + port1: + center: + - 10.0 + - 0.0 + layer: + - 12 + - 0 + name: r_e3 + orientation: 0.0 + port_type: electrical + shear_angle: null + width: 10.0 + port2: + center: + - 435.5 + - 160.05 + layer: + - 12 + - 0 + name: e18 + orientation: 270.0 + port_type: electrical + shear_angle: null + width: 75 + width1: null + width2: null +name: add_pads +placements: + pad_array_1: + mirror: 0 + rotation: 0 + x: -439.5 + y: 160.05 + ring_single_heater_1: + mirror: 0 + rotation: 0 + x: 0.0 + y: 0.0 + route_quad_1: + mirror: 0 + rotation: 0 + x: 0.0 + y: 0.0 + route_quad_2: + mirror: 0 + rotation: 0 + x: 0.0 + y: 0.0 + route_quad_3: + mirror: 0 + rotation: 0 + x: 0.0 + y: 0.0 + route_quad_4: + mirror: 0 + rotation: 0 + x: 0.0 + y: 0.0 + route_quad_5: + mirror: 0 + rotation: 0 + x: 0.0 + y: 0.0 + route_quad_6: + mirror: 0 + rotation: 0 + x: 0.0 + y: 0.0 + route_quad_7: + mirror: 0 + rotation: 0 + x: 0.0 + y: 0.0 + route_quad_8: + mirror: 0 + rotation: 0 + x: 0.0 + y: 0.0 +ports: + elec-ring_single_heater_cc91df46-1: pad_array_1,e18 + elec-ring_single_heater_cc91df46-2: pad_array_1,e17 + elec-ring_single_heater_cc91df46-3: pad_array_1,e16 + elec-ring_single_heater_cc91df46-4: pad_array_1,e15 + elec-ring_single_heater_cc91df46-5: pad_array_1,e14 + elec-ring_single_heater_cc91df46-6: pad_array_1,e13 + elec-ring_single_heater_cc91df46-7: pad_array_1,e12 + elec-ring_single_heater_cc91df46-8: pad_array_1,e11 + o1: ring_single_heater_1,o1 + o2: ring_single_heater_1,o2 +warnings: + electrical: + unconnected_ports: + - message: 8 unconnected electrical ports! + ports: + - ring_single_heater_1,l_e1 + - ring_single_heater_1,l_e2 + - ring_single_heater_1,l_e3 + - ring_single_heater_1,l_e4 + - ring_single_heater_1,r_e1 + - ring_single_heater_1,r_e2 + - ring_single_heater_1,r_e3 + - ring_single_heater_1,r_e4 + values: + - - -14.0 + - 0.0 + - - -9.0 + - 5.0 + - - -4.0 + - 0.0 + - - -9.0 + - -5.0 + - - 0.0 + - 0.0 + - - 5.0 + - 5.0 + - - 10.0 + - 0.0 + - - 5.0 + - -5.0 + optical: + unconnected_ports: + - message: 16 unconnected optical ports! + ports: + - route_quad_1,e1 + - route_quad_1,e2 + - route_quad_2,e1 + - route_quad_2,e2 + - route_quad_3,e1 + - route_quad_3,e2 + - route_quad_4,e1 + - route_quad_4,e2 + - route_quad_5,e1 + - route_quad_5,e2 + - route_quad_6,e1 + - route_quad_6,e2 + - route_quad_7,e1 + - route_quad_7,e2 + - route_quad_8,e1 + - route_quad_8,e2 + values: + - - -14.0 + - 0.0 + - - -439.5 + - 160.05 + - - -9.0 + - 5.0 + - - -314.5 + - 160.05 + - - -9.0 + - -5.0 + - - -189.5 + - 160.05 + - - -4.0 + - 0.0 + - - -64.5 + - 160.05 + - - 0.0 + - 0.0 + - - 60.5 + - 160.05 + - - 5.0 + - 5.0 + - - 185.5 + - 160.05 + - - 5.0 + - -5.0 + - - 310.5 + - 160.05 + - - 10.0 + - 0.0 + - - 435.5 + - 160.05 diff --git a/tests/test_netlists/test_netlists_add_pads_rf_.yml b/tests/test_netlists/test_netlists_add_pads_rf_.yml new file mode 100644 index 00000000..d994d81d --- /dev/null +++ b/tests/test_netlists/test_netlists_add_pads_rf_.yml @@ -0,0 +1,489 @@ +connections: {} +instances: + pad_array_1: + component: pad_array + info: + xsize: 75 + ysize: 75 + settings: + columns: 8 + orientation: 270 + pad: + function: pad + module: gdsfactory.components.pad + settings: + bbox_layers: + - - 13 + - 0 + bbox_offsets: + - -1.8 + layer: + - 12 + - 0 + size: + - 75 + - 75 + rows: 1 + spacing: + - 125 + - 125 + ring_single_heater_1: + component: ring_single_heater + info: {} + settings: + bend: + function: bend_euler + bend_coupler: + function: bend_euler + coupler_ring: + function: coupler_ring + cross_section: + bbox_layers: null + bbox_offsets: null + components_along_path: [] + radius: 10.0 + radius_min: 5.0 + sections: + - hidden: false + insets: null + layer: WG + name: _default + offset: 0.0 + offset_function: null + port_names: + - o1 + - o2 + port_types: + - optical + - optical + simplify: null + width: 0.5 + width_function: null + cross_section_waveguide_heater: xs_sc_heater_metal + gap: 0.2 + length_x: 4.0 + length_y: 0.6 + port_orientation: null + radius: 10.0 + straight: + function: straight + via_stack: + function: via_stack + module: gdsfactory.components.via_stack + settings: + layers: + - - 11 + - 0 + - - 12 + - 0 + size: + - 10 + - 10 + vias: + - null + - null + via_stack_offset: + - 0 + - 0 + route_quad_1: + component: route_quad + info: {} + settings: + layer: MTOP + manhattan_target_step: null + port1: + center: + - -14.0 + - 0.0 + layer: + - 12 + - 0 + name: l_e1 + orientation: 180.0 + port_type: electrical + shear_angle: null + width: 10.0 + port2: + center: + - -439.5 + - 160.05 + layer: + - 12 + - 0 + name: e11 + orientation: 270.0 + port_type: electrical + shear_angle: null + width: 75 + width1: null + width2: null + route_quad_2: + component: route_quad + info: {} + settings: + layer: MTOP + manhattan_target_step: null + port1: + center: + - -9.0 + - 5.0 + layer: + - 12 + - 0 + name: l_e2 + orientation: 90.0 + port_type: electrical + shear_angle: null + width: 10.0 + port2: + center: + - -314.5 + - 160.05 + layer: + - 12 + - 0 + name: e12 + orientation: 270.0 + port_type: electrical + shear_angle: null + width: 75 + width1: null + width2: null + route_quad_3: + component: route_quad + info: {} + settings: + layer: MTOP + manhattan_target_step: null + port1: + center: + - -9.0 + - -5.0 + layer: + - 12 + - 0 + name: l_e4 + orientation: 270.0 + port_type: electrical + shear_angle: null + width: 10.0 + port2: + center: + - -189.5 + - 160.05 + layer: + - 12 + - 0 + name: e13 + orientation: 270.0 + port_type: electrical + shear_angle: null + width: 75 + width1: null + width2: null + route_quad_4: + component: route_quad + info: {} + settings: + layer: MTOP + manhattan_target_step: null + port1: + center: + - -4.0 + - 0.0 + layer: + - 12 + - 0 + name: l_e3 + orientation: 0.0 + port_type: electrical + shear_angle: null + width: 10.0 + port2: + center: + - -64.5 + - 160.05 + layer: + - 12 + - 0 + name: e14 + orientation: 270.0 + port_type: electrical + shear_angle: null + width: 75 + width1: null + width2: null + route_quad_5: + component: route_quad + info: {} + settings: + layer: MTOP + manhattan_target_step: null + port1: + center: + - 0.0 + - 0.0 + layer: + - 12 + - 0 + name: r_e1 + orientation: 180.0 + port_type: electrical + shear_angle: null + width: 10.0 + port2: + center: + - 60.5 + - 160.05 + layer: + - 12 + - 0 + name: e15 + orientation: 270.0 + port_type: electrical + shear_angle: null + width: 75 + width1: null + width2: null + route_quad_6: + component: route_quad + info: {} + settings: + layer: MTOP + manhattan_target_step: null + port1: + center: + - 5.0 + - 5.0 + layer: + - 12 + - 0 + name: r_e2 + orientation: 90.0 + port_type: electrical + shear_angle: null + width: 10.0 + port2: + center: + - 185.5 + - 160.05 + layer: + - 12 + - 0 + name: e16 + orientation: 270.0 + port_type: electrical + shear_angle: null + width: 75 + width1: null + width2: null + route_quad_7: + component: route_quad + info: {} + settings: + layer: MTOP + manhattan_target_step: null + port1: + center: + - 5.0 + - -5.0 + layer: + - 12 + - 0 + name: r_e4 + orientation: 270.0 + port_type: electrical + shear_angle: null + width: 10.0 + port2: + center: + - 310.5 + - 160.05 + layer: + - 12 + - 0 + name: e17 + orientation: 270.0 + port_type: electrical + shear_angle: null + width: 75 + width1: null + width2: null + route_quad_8: + component: route_quad + info: {} + settings: + layer: MTOP + manhattan_target_step: null + port1: + center: + - 10.0 + - 0.0 + layer: + - 12 + - 0 + name: r_e3 + orientation: 0.0 + port_type: electrical + shear_angle: null + width: 10.0 + port2: + center: + - 435.5 + - 160.05 + layer: + - 12 + - 0 + name: e18 + orientation: 270.0 + port_type: electrical + shear_angle: null + width: 75 + width1: null + width2: null +name: ring_single_heater_add_electrical_pads_top_984bbf2d +placements: + pad_array_1: + mirror: 0 + rotation: 0 + x: -439.5 + y: 160.05 + ring_single_heater_1: + mirror: 0 + rotation: 0 + x: 0.0 + y: 0.0 + route_quad_1: + mirror: 0 + rotation: 0 + x: 0.0 + y: 0.0 + route_quad_2: + mirror: 0 + rotation: 0 + x: 0.0 + y: 0.0 + route_quad_3: + mirror: 0 + rotation: 0 + x: 0.0 + y: 0.0 + route_quad_4: + mirror: 0 + rotation: 0 + x: 0.0 + y: 0.0 + route_quad_5: + mirror: 0 + rotation: 0 + x: 0.0 + y: 0.0 + route_quad_6: + mirror: 0 + rotation: 0 + x: 0.0 + y: 0.0 + route_quad_7: + mirror: 0 + rotation: 0 + x: 0.0 + y: 0.0 + route_quad_8: + mirror: 0 + rotation: 0 + x: 0.0 + y: 0.0 +ports: + elec-ring_single_heater_cc91df46-1: pad_array_1,e18 + elec-ring_single_heater_cc91df46-2: pad_array_1,e17 + elec-ring_single_heater_cc91df46-3: pad_array_1,e16 + elec-ring_single_heater_cc91df46-4: pad_array_1,e15 + elec-ring_single_heater_cc91df46-5: pad_array_1,e14 + elec-ring_single_heater_cc91df46-6: pad_array_1,e13 + elec-ring_single_heater_cc91df46-7: pad_array_1,e12 + elec-ring_single_heater_cc91df46-8: pad_array_1,e11 + o1: ring_single_heater_1,o1 + o2: ring_single_heater_1,o2 +warnings: + electrical: + unconnected_ports: + - message: 8 unconnected electrical ports! + ports: + - ring_single_heater_1,l_e1 + - ring_single_heater_1,l_e2 + - ring_single_heater_1,l_e3 + - ring_single_heater_1,l_e4 + - ring_single_heater_1,r_e1 + - ring_single_heater_1,r_e2 + - ring_single_heater_1,r_e3 + - ring_single_heater_1,r_e4 + values: + - - -14.0 + - 0.0 + - - -9.0 + - 5.0 + - - -4.0 + - 0.0 + - - -9.0 + - -5.0 + - - 0.0 + - 0.0 + - - 5.0 + - 5.0 + - - 10.0 + - 0.0 + - - 5.0 + - -5.0 + optical: + unconnected_ports: + - message: 16 unconnected optical ports! + ports: + - route_quad_1,e1 + - route_quad_1,e2 + - route_quad_2,e1 + - route_quad_2,e2 + - route_quad_3,e1 + - route_quad_3,e2 + - route_quad_4,e1 + - route_quad_4,e2 + - route_quad_5,e1 + - route_quad_5,e2 + - route_quad_6,e1 + - route_quad_6,e2 + - route_quad_7,e1 + - route_quad_7,e2 + - route_quad_8,e1 + - route_quad_8,e2 + values: + - - -14.0 + - 0.0 + - - -439.5 + - 160.05 + - - -9.0 + - 5.0 + - - -314.5 + - 160.05 + - - -9.0 + - -5.0 + - - -189.5 + - 160.05 + - - -4.0 + - 0.0 + - - -64.5 + - 160.05 + - - 0.0 + - 0.0 + - - 60.5 + - 160.05 + - - 5.0 + - 5.0 + - - 185.5 + - 160.05 + - - 5.0 + - -5.0 + - - 310.5 + - 160.05 + - - 10.0 + - 0.0 + - - 435.5 + - 160.05 diff --git a/tests/test_netlists/test_netlists_bend_.yml b/tests/test_netlists/test_netlists_bend_.yml new file mode 100644 index 00000000..171d3c42 --- /dev/null +++ b/tests/test_netlists/test_netlists_bend_.yml @@ -0,0 +1,5 @@ +connections: {} +instances: {} +name: bend_euler_sc +placements: {} +ports: {} diff --git a/tests/test_netlists/test_netlists_bend_euler180_sc_.yml b/tests/test_netlists/test_netlists_bend_euler180_sc_.yml new file mode 100644 index 00000000..6114b46d --- /dev/null +++ b/tests/test_netlists/test_netlists_bend_euler180_sc_.yml @@ -0,0 +1,5 @@ +connections: {} +instances: {} +name: bend_euler_sc_angle180 +placements: {} +ports: {} diff --git a/tests/test_netlists/test_netlists_bend_euler_sc_.yml b/tests/test_netlists/test_netlists_bend_euler_sc_.yml new file mode 100644 index 00000000..171d3c42 --- /dev/null +++ b/tests/test_netlists/test_netlists_bend_euler_sc_.yml @@ -0,0 +1,5 @@ +connections: {} +instances: {} +name: bend_euler_sc +placements: {} +ports: {} diff --git a/tests/test_netlists/test_netlists_bend_s_.yml b/tests/test_netlists/test_netlists_bend_s_.yml new file mode 100644 index 00000000..907247aa --- /dev/null +++ b/tests/test_netlists/test_netlists_bend_s_.yml @@ -0,0 +1,35 @@ +connections: {} +instances: + bezier_1: + component: bezier + info: + end_angle: 0 + length: 11.206 + min_bend_radius: 13.012 + start_angle: 0 + settings: + bend_radius_error_type: null + control_points: + - - 0 + - 0 + - - 5.5 + - 0 + - - 5.5 + - 1.8 + - - 11.0 + - 1.8 + cross_section: xs_sc + end_angle: null + npoints: 99 + start_angle: null + with_manhattan_facing_angles: true +name: bend_s +placements: + bezier_1: + mirror: 0 + rotation: 0 + x: 0.0 + y: 0.0 +ports: + o1: bezier_1,o1 + o2: bezier_1,o2 diff --git a/tests/test_netlists/test_netlists_coupler_.yml b/tests/test_netlists/test_netlists_coupler_.yml new file mode 100644 index 00000000..79540eb5 --- /dev/null +++ b/tests/test_netlists/test_netlists_coupler_.yml @@ -0,0 +1,5 @@ +connections: {} +instances: {} +name: coupler +placements: {} +ports: {} diff --git a/tests/test_netlists/test_netlists_coupler_ring_.yml b/tests/test_netlists/test_netlists_coupler_ring_.yml new file mode 100644 index 00000000..c0570ace --- /dev/null +++ b/tests/test_netlists/test_netlists_coupler_ring_.yml @@ -0,0 +1,246 @@ +connections: + coupler90_1,o1: coupler_straight_1,o1 + coupler90_1,o2: coupler_straight_1,o2 + coupler90_1,o4: straight_1,o2 + coupler90_2,o1: coupler_straight_1,o4 + coupler90_2,o2: coupler_straight_1,o3 + coupler90_2,o4: straight_2,o1 +instances: + coupler90_1: + component: coupler90 + info: {} + settings: + bend: + function: bend_euler + cross_section: + bbox_layers: null + bbox_offsets: null + components_along_path: [] + radius: 10.0 + radius_min: 5.0 + sections: + - hidden: false + insets: null + layer: WG + name: _default + offset: 0.0 + offset_function: null + port_names: + - o1 + - o2 + port_types: + - optical + - optical + simplify: null + width: 0.5 + width_function: null + cross_section_bend: + bbox_layers: null + bbox_offsets: null + components_along_path: [] + radius: 5.0 + radius_min: 5.0 + sections: + - hidden: false + insets: null + layer: WG + name: _default + offset: 0.0 + offset_function: null + port_names: + - o1 + - o2 + port_types: + - optical + - optical + simplify: null + width: 0.5 + width_function: null + gap: 0.2 + radius: 5.0 + straight: + function: straight + coupler90_2: + component: coupler90 + info: {} + settings: + bend: + function: bend_euler + cross_section: + bbox_layers: null + bbox_offsets: null + components_along_path: [] + radius: 10.0 + radius_min: 5.0 + sections: + - hidden: false + insets: null + layer: WG + name: _default + offset: 0.0 + offset_function: null + port_names: + - o1 + - o2 + port_types: + - optical + - optical + simplify: null + width: 0.5 + width_function: null + cross_section_bend: + bbox_layers: null + bbox_offsets: null + components_along_path: [] + radius: 5.0 + radius_min: 5.0 + sections: + - hidden: false + insets: null + layer: WG + name: _default + offset: 0.0 + offset_function: null + port_names: + - o1 + - o2 + port_types: + - optical + - optical + simplify: null + width: 0.5 + width_function: null + gap: 0.2 + radius: 5.0 + straight: + function: straight + coupler_straight_1: + component: coupler_straight + info: {} + settings: + cross_section: + bbox_layers: null + bbox_offsets: null + components_along_path: [] + radius: 10.0 + radius_min: 5.0 + sections: + - hidden: false + insets: null + layer: WG + name: _default + offset: 0.0 + offset_function: null + port_names: + - o1 + - o2 + port_types: + - optical + - optical + simplify: null + width: 0.5 + width_function: null + gap: 0.2 + length: 4.0 + straight: + function: straight + straight_1: + component: straight + info: + length: 3 + route_info_length: 3.0 + route_info_type: xs_sc + route_info_weight: 3.0 + route_info_xs_sc_length: 3.0 + width: 0.5 + settings: + cross_section: + bbox_layers: null + bbox_offsets: null + components_along_path: [] + radius: 10.0 + radius_min: 5.0 + sections: + - hidden: false + insets: null + layer: WG + name: _default + offset: 0.0 + offset_function: null + port_names: + - o1 + - o2 + port_types: + - optical + - optical + simplify: null + width: 0.5 + width_function: null + length: 3 + npoints: 2 + straight_2: + component: straight + info: + length: 3 + route_info_length: 3.0 + route_info_type: xs_sc + route_info_weight: 3.0 + route_info_xs_sc_length: 3.0 + width: 0.5 + settings: + cross_section: + bbox_layers: null + bbox_offsets: null + components_along_path: [] + radius: 10.0 + radius_min: 5.0 + sections: + - hidden: false + insets: null + layer: WG + name: _default + offset: 0.0 + offset_function: null + port_names: + - o1 + - o2 + port_types: + - optical + - optical + simplify: null + width: 0.5 + width_function: null + length: 3 + npoints: 2 +name: coupler_ring +placements: + coupler90_1: + mirror: true + rotation: 180 + x: -4.0 + y: 0.0 + coupler90_2: + mirror: 0 + rotation: 0 + x: 0.0 + y: 0.0 + coupler_straight_1: + mirror: 0 + rotation: 0 + x: -4.0 + y: 0.0 + straight_1: + mirror: 0 + rotation: 0 + x: -12.0 + y: 0.0 + straight_2: + mirror: 0 + rotation: 0 + x: 5.0 + y: 0.0 +ports: + o1: straight_1,o1 + o2: coupler90_1,o3 + o3: coupler90_2,o3 + o4: straight_2,o2 diff --git a/tests/test_netlists/test_netlists_dbr_cavity_.yml b/tests/test_netlists/test_netlists_dbr_cavity_.yml new file mode 100644 index 00000000..12d6b47f --- /dev/null +++ b/tests/test_netlists/test_netlists_dbr_cavity_.yml @@ -0,0 +1,60 @@ +connections: + coupler_1,o2: dbr_1,o1 + coupler_1,o3: dbr_2,o1 +instances: + coupler_1: + component: coupler + info: + length: 10.19 + min_bend_radius: 11.744 + settings: + gap: 0.2 + length: 0.1 + dbr_1: + component: dbr + info: {} + settings: + cross_section: + function: cross_section + module: gdsfactory.cross_section + settings: + radius_min: 5 + dw: 0.1 + l1: 0.079406 + l2: 0.079406 + n: 100 + w0: 0.5 + dbr_2: + component: dbr + info: {} + settings: + cross_section: + function: cross_section + module: gdsfactory.cross_section + settings: + radius_min: 5 + dw: 0.1 + l1: 0.079406 + l2: 0.079406 + n: 100 + w0: 0.5 +name: dbr_cavity +placements: + coupler_1: + mirror: 0 + rotation: 0 + x: 0.0 + y: 0.0 + dbr_1: + mirror: 0 + rotation: 180 + x: -10.079 + y: 2.35 + dbr_2: + mirror: 0 + rotation: 0 + x: 10.179 + y: 2.35 +ports: + o1: coupler_1,o1 + o2: coupler_1,o4 diff --git a/tests/test_netlists/test_netlists_dbr_cavity_te_.yml b/tests/test_netlists/test_netlists_dbr_cavity_te_.yml new file mode 100644 index 00000000..cf512432 --- /dev/null +++ b/tests/test_netlists/test_netlists_dbr_cavity_te_.yml @@ -0,0 +1,56 @@ +connections: {} +instances: + add_fiber_array_1: + component: add_fiber_array + info: {} + settings: + bend: + function: bend_euler_sc + component: + function: dbr_cavity + module: ubcpdk.components + settings: + coupler: + function: coupler + dbr: + function: dbr + component_name: null + cross_section: xs_sc + dev_id: null + fanout_length: 0.0 + gc_port_labels: null + gc_port_name: o1 + get_input_label_text_function: + function: get_input_label_text + get_input_labels_function: + function: get_input_labels + grating_coupler: + function: gc_te1550 + id_placement: center + id_placement_offset: + - 0 + - 0 + io_rotation: null + layer_label: + - 10 + - 0 + optical_routing_type: 0 + select_ports: + function: select_ports + module: gdsfactory.port + settings: + port_type: optical + straight: + function: straight + text: null + with_loopback: false +name: add_fiber_array_add_fiber_array_componentdbr_cavity +placements: + add_fiber_array_1: + mirror: 0 + rotation: 270 + x: 0.0 + y: 0.0 +ports: + o1: add_fiber_array_1,o1 + o2: add_fiber_array_1,o2 diff --git a/tests/test_netlists/test_netlists_ebeam_BondPad_.yml b/tests/test_netlists/test_netlists_ebeam_BondPad_.yml new file mode 100644 index 00000000..541b3606 --- /dev/null +++ b/tests/test_netlists/test_netlists_ebeam_BondPad_.yml @@ -0,0 +1,14 @@ +connections: {} +instances: + BondPad$1_1: + component: BondPad$1 + info: {} + settings: {} +name: ebeam_BondPad +placements: + BondPad$1_1: + mirror: 0 + rotation: 180 + x: 50.0 + y: 50.0 +ports: {} diff --git a/tests/test_netlists/test_netlists_ebeam_adiabatic_te1550_.yml b/tests/test_netlists/test_netlists_ebeam_adiabatic_te1550_.yml new file mode 100644 index 00000000..bd0f31c0 --- /dev/null +++ b/tests/test_netlists/test_netlists_ebeam_adiabatic_te1550_.yml @@ -0,0 +1,14 @@ +connections: {} +instances: + Adiabatic3dB_TE_FullEtch_1: + component: Adiabatic3dB_TE_FullEtch + info: {} + settings: {} +name: ebeam_adiabatic_te1550 +placements: + Adiabatic3dB_TE_FullEtch_1: + mirror: 0 + rotation: 0 + x: 0.0 + y: 0.0 +ports: {} diff --git a/tests/test_netlists/test_netlists_ebeam_adiabatic_tm1550_.yml b/tests/test_netlists/test_netlists_ebeam_adiabatic_tm1550_.yml new file mode 100644 index 00000000..dbd72e5e --- /dev/null +++ b/tests/test_netlists/test_netlists_ebeam_adiabatic_tm1550_.yml @@ -0,0 +1,14 @@ +connections: {} +instances: + Adiabatic3dB_TM_FullEtch_1: + component: Adiabatic3dB_TM_FullEtch + info: {} + settings: {} +name: ebeam_adiabatic_tm1550 +placements: + Adiabatic3dB_TM_FullEtch_1: + mirror: 0 + rotation: 0 + x: 0.0 + y: 0.0 +ports: {} diff --git a/tests/test_netlists/test_netlists_ebeam_bdc_te1550_.yml b/tests/test_netlists/test_netlists_ebeam_bdc_te1550_.yml new file mode 100644 index 00000000..69d57661 --- /dev/null +++ b/tests/test_netlists/test_netlists_ebeam_bdc_te1550_.yml @@ -0,0 +1,5 @@ +connections: {} +instances: {} +name: ebeam_bdc_te1550 +placements: {} +ports: {} diff --git a/tests/test_netlists/test_netlists_ebeam_bdc_tm1550_.yml b/tests/test_netlists/test_netlists_ebeam_bdc_tm1550_.yml new file mode 100644 index 00000000..61f5b68c --- /dev/null +++ b/tests/test_netlists/test_netlists_ebeam_bdc_tm1550_.yml @@ -0,0 +1,5 @@ +connections: {} +instances: {} +name: ebeam_bdc_tm1550 +placements: {} +ports: {} diff --git a/tests/test_netlists/test_netlists_ebeam_crossing4_.yml b/tests/test_netlists/test_netlists_ebeam_crossing4_.yml new file mode 100644 index 00000000..839ef78f --- /dev/null +++ b/tests/test_netlists/test_netlists_ebeam_crossing4_.yml @@ -0,0 +1,5 @@ +connections: {} +instances: {} +name: ebeam_crossing4 +placements: {} +ports: {} diff --git a/tests/test_netlists/test_netlists_ebeam_crossing4_2ports_.yml b/tests/test_netlists/test_netlists_ebeam_crossing4_2ports_.yml new file mode 100644 index 00000000..a37fb35f --- /dev/null +++ b/tests/test_netlists/test_netlists_ebeam_crossing4_2ports_.yml @@ -0,0 +1,66 @@ +connections: + ebeam_crossing4_1,o2: straight_one_pin_1,o1 + ebeam_crossing4_1,o4: straight_one_pin_2,o1 +instances: + ebeam_crossing4_1: + component: ebeam_crossing4 + info: + library: Design kits/ebeam + model: ebeam_crossing4 + settings: {} + straight_one_pin_1: + component: straight_one_pin + info: {} + settings: + cross_section: + function: cross_section + module: gdsfactory.cross_section + settings: + bbox_layers: null + bbox_offsets: null + radius_min: 5 + length: 1 + straight_one_pin_2: + component: straight_one_pin + info: {} + settings: + cross_section: + function: cross_section + module: gdsfactory.cross_section + settings: + bbox_layers: null + bbox_offsets: null + radius_min: 5 + length: 1 +name: ebeam_crossing4_2ports +placements: + ebeam_crossing4_1: + mirror: 0 + rotation: 0 + x: 0.0 + y: 0.0 + straight_one_pin_1: + mirror: 0 + rotation: 90 + x: 0.0 + y: 4.8 + straight_one_pin_2: + mirror: 0 + rotation: 270 + x: 0.0 + y: -4.8 +ports: + o1: ebeam_crossing4_1,o1 + o4: ebeam_crossing4_1,o3 +warnings: + optical: + unconnected_ports: + - message: 2 unconnected optical ports! + ports: + - straight_one_pin_1,o2 + - straight_one_pin_2,o2 + values: + - - 0.0 + - 5.8 + - - -0.0 + - -5.8 diff --git a/tests/test_netlists/test_netlists_ebeam_dc_halfring_straight_.yml b/tests/test_netlists/test_netlists_ebeam_dc_halfring_straight_.yml new file mode 100644 index 00000000..01990fcc --- /dev/null +++ b/tests/test_netlists/test_netlists_ebeam_dc_halfring_straight_.yml @@ -0,0 +1,21 @@ +connections: {} +instances: + coupler_ring_1: + component: coupler_ring + info: {} + settings: + gap: 0.2 + length_x: 4.0 + radius: 5.0 +name: ebeam_dc_halfring_straight +placements: + coupler_ring_1: + mirror: 0 + rotation: 0 + x: 0.0 + y: 0.0 +ports: + o1: coupler_ring_1,o1 + o2: coupler_ring_1,o2 + o3: coupler_ring_1,o3 + o4: coupler_ring_1,o4 diff --git a/tests/test_netlists/test_netlists_ebeam_dc_te1550_.yml b/tests/test_netlists/test_netlists_ebeam_dc_te1550_.yml new file mode 100644 index 00000000..79540eb5 --- /dev/null +++ b/tests/test_netlists/test_netlists_ebeam_dc_te1550_.yml @@ -0,0 +1,5 @@ +connections: {} +instances: {} +name: coupler +placements: {} +ports: {} diff --git a/tests/test_netlists/test_netlists_ebeam_splitter_adiabatic_swg_te1550_.yml b/tests/test_netlists/test_netlists_ebeam_splitter_adiabatic_swg_te1550_.yml new file mode 100644 index 00000000..a7a7816f --- /dev/null +++ b/tests/test_netlists/test_netlists_ebeam_splitter_adiabatic_swg_te1550_.yml @@ -0,0 +1,14 @@ +connections: {} +instances: + Han_SWGA3dB_1: + component: Han_SWGA3dB + info: {} + settings: {} +name: ebeam_splitter_adiabatic_swg_te1550 +placements: + Han_SWGA3dB_1: + mirror: 0 + rotation: 0 + x: 0.0 + y: 0.0 +ports: {} diff --git a/tests/test_netlists/test_netlists_ebeam_splitter_swg_assist_te1310_.yml b/tests/test_netlists/test_netlists_ebeam_splitter_swg_assist_te1310_.yml new file mode 100644 index 00000000..798daa5c --- /dev/null +++ b/tests/test_netlists/test_netlists_ebeam_splitter_swg_assist_te1310_.yml @@ -0,0 +1,5 @@ +connections: {} +instances: {} +name: ebeam_splitter_swg_assist_te1310 +placements: {} +ports: {} diff --git a/tests/test_netlists/test_netlists_ebeam_splitter_swg_assist_te1550_.yml b/tests/test_netlists/test_netlists_ebeam_splitter_swg_assist_te1550_.yml new file mode 100644 index 00000000..c10b5266 --- /dev/null +++ b/tests/test_netlists/test_netlists_ebeam_splitter_swg_assist_te1550_.yml @@ -0,0 +1,5 @@ +connections: {} +instances: {} +name: ebeam_splitter_swg_assist_te1550 +placements: {} +ports: {} diff --git a/tests/test_netlists/test_netlists_ebeam_swg_edgecoupler_.yml b/tests/test_netlists/test_netlists_ebeam_swg_edgecoupler_.yml new file mode 100644 index 00000000..fe0256a6 --- /dev/null +++ b/tests/test_netlists/test_netlists_ebeam_swg_edgecoupler_.yml @@ -0,0 +1,14 @@ +connections: {} +instances: + EC_1: + component: EC + info: {} + settings: {} +name: ebeam_swg_edgecoupler +placements: + EC_1: + mirror: 0 + rotation: 0 + x: 0.0 + y: 0.0 +ports: {} diff --git a/tests/test_netlists/test_netlists_ebeam_terminator_te1310_.yml b/tests/test_netlists/test_netlists_ebeam_terminator_te1310_.yml new file mode 100644 index 00000000..3dd60240 --- /dev/null +++ b/tests/test_netlists/test_netlists_ebeam_terminator_te1310_.yml @@ -0,0 +1,5 @@ +connections: {} +instances: {} +name: ebeam_terminator_te1310 +placements: {} +ports: {} diff --git a/tests/test_netlists/test_netlists_ebeam_terminator_te1550_.yml b/tests/test_netlists/test_netlists_ebeam_terminator_te1550_.yml new file mode 100644 index 00000000..e74c67a2 --- /dev/null +++ b/tests/test_netlists/test_netlists_ebeam_terminator_te1550_.yml @@ -0,0 +1,5 @@ +connections: {} +instances: {} +name: ebeam_terminator_te1550 +placements: {} +ports: {} diff --git a/tests/test_netlists/test_netlists_ebeam_terminator_tm1550_.yml b/tests/test_netlists/test_netlists_ebeam_terminator_tm1550_.yml new file mode 100644 index 00000000..9b78a545 --- /dev/null +++ b/tests/test_netlists/test_netlists_ebeam_terminator_tm1550_.yml @@ -0,0 +1,5 @@ +connections: {} +instances: {} +name: ebeam_terminator_tm1550 +placements: {} +ports: {} diff --git a/tests/test_netlists/test_netlists_ebeam_y_1550_.yml b/tests/test_netlists/test_netlists_ebeam_y_1550_.yml new file mode 100644 index 00000000..fe43e0a2 --- /dev/null +++ b/tests/test_netlists/test_netlists_ebeam_y_1550_.yml @@ -0,0 +1,5 @@ +connections: {} +instances: {} +name: ebeam_y_1550 +placements: {} +ports: {} diff --git a/tests/test_netlists/test_netlists_ebeam_y_adiabatic_.yml b/tests/test_netlists/test_netlists_ebeam_y_adiabatic_.yml new file mode 100644 index 00000000..a148d846 --- /dev/null +++ b/tests/test_netlists/test_netlists_ebeam_y_adiabatic_.yml @@ -0,0 +1,5 @@ +connections: {} +instances: {} +name: ebeam_y_adiabatic +placements: {} +ports: {} diff --git a/tests/test_netlists/test_netlists_ebeam_y_adiabatic_1310_.yml b/tests/test_netlists/test_netlists_ebeam_y_adiabatic_1310_.yml new file mode 100644 index 00000000..dbde4db2 --- /dev/null +++ b/tests/test_netlists/test_netlists_ebeam_y_adiabatic_1310_.yml @@ -0,0 +1,5 @@ +connections: {} +instances: {} +name: ebeam_y_adiabatic_1310 +placements: {} +ports: {} diff --git a/tests/test_netlists/test_netlists_ebeam_y_adiabatic_tapers_.yml b/tests/test_netlists/test_netlists_ebeam_y_adiabatic_tapers_.yml new file mode 100644 index 00000000..b2ee9bca --- /dev/null +++ b/tests/test_netlists/test_netlists_ebeam_y_adiabatic_tapers_.yml @@ -0,0 +1,95 @@ +connections: + import_gds_1,o1: taper_1,o2 + import_gds_1,o2: taper_2,o2 + import_gds_1,o3: taper_3,o2 +instances: + import_gds_1: + component: import_gds + info: + library: Design kits/ebeam + model: ebeam_y_adiabatic + settings: + gdspath: ebeam_y_adiabatic.gds + taper_1: + component: taper + info: + length: 10.0 + width1: 0.5 + width2: 0.45 + settings: + cross_section: xs_sc + length: 10.0 + port: null + port_order_name: + - o1 + - o2 + port_order_types: + - optical + - optical + width1: 0.5 + width2: 0.45 + with_two_ports: true + taper_2: + component: taper + info: + length: 10.0 + width1: 0.5 + width2: 0.45 + settings: + cross_section: xs_sc + length: 10.0 + port: null + port_order_name: + - o1 + - o2 + port_order_types: + - optical + - optical + width1: 0.5 + width2: 0.45 + with_two_ports: true + taper_3: + component: taper + info: + length: 10.0 + width1: 0.5 + width2: 0.45 + settings: + cross_section: xs_sc + length: 10.0 + port: null + port_order_name: + - o1 + - o2 + port_order_types: + - optical + - optical + width1: 0.5 + width2: 0.45 + with_two_ports: true +name: ebeam_y_adiabatic_tapers +placements: + import_gds_1: + mirror: 0 + rotation: 0 + x: 0.0 + y: 0.0 + taper_1: + mirror: 0 + rotation: 0 + x: -9.95 + y: 0.0 + taper_2: + mirror: 0 + rotation: 180 + x: 60.05 + y: 1.25 + taper_3: + mirror: 0 + rotation: 180 + x: 60.05 + y: -1.25 +ports: + o1: taper_1,o1 + o2: taper_2,o1 + o3: taper_3,o1 diff --git a/tests/test_netlists/test_netlists_gc_te1310_.yml b/tests/test_netlists/test_netlists_gc_te1310_.yml new file mode 100644 index 00000000..e17e3b9a --- /dev/null +++ b/tests/test_netlists/test_netlists_gc_te1310_.yml @@ -0,0 +1,28 @@ +connections: {} +instances: + mirror_1: + component: mirror + info: + library: Design kits/ebeam + model: ebeam_gc_te1310 + settings: + component: + function: import_gds + module: ubcpdk.import_gds + settings: + gdspath: ebeam_gc_te1310.gds + p1: + - 0 + - 1 + p2: + - 0 + - 0 +name: gc_te1310 +placements: + mirror_1: + mirror: 0 + rotation: 0 + x: 0.0 + y: 0.0 +ports: + o1: mirror_1,o1 diff --git a/tests/test_netlists/test_netlists_gc_te1310_8deg_.yml b/tests/test_netlists/test_netlists_gc_te1310_8deg_.yml new file mode 100644 index 00000000..98aa4c0e --- /dev/null +++ b/tests/test_netlists/test_netlists_gc_te1310_8deg_.yml @@ -0,0 +1,28 @@ +connections: {} +instances: + mirror_1: + component: mirror + info: + library: Design kits/ebeam + model: ebeam_gc_te1310_8deg + settings: + component: + function: import_gds + module: ubcpdk.import_gds + settings: + gdspath: ebeam_gc_te1310_8deg.gds + p1: + - 0 + - 1 + p2: + - 0 + - 0 +name: gc_te1310_8deg +placements: + mirror_1: + mirror: 0 + rotation: 0 + x: 0.0 + y: 0.0 +ports: + o1: mirror_1,o1 diff --git a/tests/test_netlists/test_netlists_gc_te1310_broadband_.yml b/tests/test_netlists/test_netlists_gc_te1310_broadband_.yml new file mode 100644 index 00000000..73aee9e5 --- /dev/null +++ b/tests/test_netlists/test_netlists_gc_te1310_broadband_.yml @@ -0,0 +1,28 @@ +connections: {} +instances: + mirror_1: + component: mirror + info: + library: Design kits/ebeam + model: ebeam_gc_te1310_broadband + settings: + component: + function: import_gds + module: ubcpdk.import_gds + settings: + gdspath: ebeam_gc_te1310_broadband.gds + p1: + - 0 + - 1 + p2: + - 0 + - 0 +name: gc_te1310_broadband +placements: + mirror_1: + mirror: 0 + rotation: 0 + x: 0.0 + y: 0.0 +ports: + o1: mirror_1,o1 diff --git a/tests/test_netlists/test_netlists_gc_te1550_.yml b/tests/test_netlists/test_netlists_gc_te1550_.yml new file mode 100644 index 00000000..316de4e2 --- /dev/null +++ b/tests/test_netlists/test_netlists_gc_te1550_.yml @@ -0,0 +1,28 @@ +connections: {} +instances: + mirror_1: + component: mirror + info: + library: Design kits/ebeam + model: ebeam_gc_te1550 + settings: + component: + function: import_gds + module: ubcpdk.import_gds + settings: + gdspath: ebeam_gc_te1550.gds + p1: + - 0 + - 1 + p2: + - 0 + - 0 +name: gc_te1550 +placements: + mirror_1: + mirror: 0 + rotation: 0 + x: 0.0 + y: 0.0 +ports: + o1: mirror_1,o1 diff --git a/tests/test_netlists/test_netlists_gc_te1550_90nmSlab_.yml b/tests/test_netlists/test_netlists_gc_te1550_90nmSlab_.yml new file mode 100644 index 00000000..8c2b5979 --- /dev/null +++ b/tests/test_netlists/test_netlists_gc_te1550_90nmSlab_.yml @@ -0,0 +1,28 @@ +connections: {} +instances: + mirror_1: + component: mirror + info: + library: Design kits/ebeam + model: ebeam_gc_te1550_90nmSlab + settings: + component: + function: import_gds + module: ubcpdk.import_gds + settings: + gdspath: ebeam_gc_te1550_90nmSlab.gds + p1: + - 0 + - 1 + p2: + - 0 + - 0 +name: gc_te1550_90nmSlab +placements: + mirror_1: + mirror: 0 + rotation: 0 + x: 0.0 + y: 0.0 +ports: + o1: mirror_1,o1 diff --git a/tests/test_netlists/test_netlists_gc_te1550_broadband_.yml b/tests/test_netlists/test_netlists_gc_te1550_broadband_.yml new file mode 100644 index 00000000..a33c446d --- /dev/null +++ b/tests/test_netlists/test_netlists_gc_te1550_broadband_.yml @@ -0,0 +1,28 @@ +connections: {} +instances: + mirror_1: + component: mirror + info: + library: Design kits/ebeam + model: ebeam_gc_te1550_broadband + settings: + component: + function: import_gds + module: ubcpdk.import_gds + settings: + gdspath: ebeam_gc_te1550_broadband.gds + p1: + - 0 + - 1 + p2: + - 0 + - 0 +name: gc_te1550_broadband +placements: + mirror_1: + mirror: 0 + rotation: 0 + x: 0.0 + y: 0.0 +ports: + o1: mirror_1,o1 diff --git a/tests/test_netlists/test_netlists_gc_tm1550_.yml b/tests/test_netlists/test_netlists_gc_tm1550_.yml new file mode 100644 index 00000000..2e1bdd28 --- /dev/null +++ b/tests/test_netlists/test_netlists_gc_tm1550_.yml @@ -0,0 +1,28 @@ +connections: {} +instances: + mirror_1: + component: mirror + info: + library: Design kits/ebeam + model: ebeam_gc_tm1550 + settings: + component: + function: import_gds + module: ubcpdk.import_gds + settings: + gdspath: ebeam_gc_tm1550.gds + p1: + - 0 + - 1 + p2: + - 0 + - 0 +name: gc_tm1550 +placements: + mirror_1: + mirror: 0 + rotation: 0 + x: 0.0 + y: 0.0 +ports: + o1: mirror_1,o1 diff --git a/tests/test_netlists/test_netlists_metal_via_.yml b/tests/test_netlists/test_netlists_metal_via_.yml new file mode 100644 index 00000000..f36b9c3e --- /dev/null +++ b/tests/test_netlists/test_netlists_metal_via_.yml @@ -0,0 +1,5 @@ +connections: {} +instances: {} +name: metal_via +placements: {} +ports: {} diff --git a/tests/test_netlists/test_netlists_mmi1x2_.yml b/tests/test_netlists/test_netlists_mmi1x2_.yml new file mode 100644 index 00000000..e2c95eb5 --- /dev/null +++ b/tests/test_netlists/test_netlists_mmi1x2_.yml @@ -0,0 +1,5 @@ +connections: {} +instances: {} +name: mmi1x2 +placements: {} +ports: {} diff --git a/tests/test_netlists/test_netlists_mzi_.yml b/tests/test_netlists/test_netlists_mzi_.yml new file mode 100644 index 00000000..325d62d8 --- /dev/null +++ b/tests/test_netlists/test_netlists_mzi_.yml @@ -0,0 +1,599 @@ +connections: + bend_euler_sc_1,o1: cp1,o3 + bend_euler_sc_1,o2: syl,o1 + bend_euler_sc_2,o1: syl,o2 + bend_euler_sc_2,o2: sxb,o1 + bend_euler_sc_3,o1: cp1,o2 + bend_euler_sc_3,o2: sytl,o1 + bend_euler_sc_4,o1: sxt,o1 + bend_euler_sc_4,o2: sytl,o2 + bend_euler_sc_5,o1: straight_5,o2 + bend_euler_sc_5,o2: straight_6,o1 + bend_euler_sc_6,o1: straight_6,o2 + bend_euler_sc_6,o2: straight_7,o1 + bend_euler_sc_7,o1: straight_8,o2 + bend_euler_sc_7,o2: straight_9,o1 + bend_euler_sc_8,o1: straight_9,o2 + bend_euler_sc_8,o2: straight_10,o1 + cp2,o2: straight_7,o2 + cp2,o3: straight_10,o2 + straight_5,o1: sxt,o2 + straight_8,o1: sxb,o2 +instances: + bend_euler_sc_1: + component: bend_euler_sc + info: + dy: 10.0 + length: 16.637 + radius: 10.0 + radius_min: 7.061 + route_info_length: 16.637 + route_info_n_bend_90: 1.0 + route_info_type: xs_sc_devrec + route_info_weight: 16.637 + route_info_xs_sc_devrec_length: 16.637 + width: 0.5 + settings: + cross_section: xs_sc + bend_euler_sc_2: + component: bend_euler_sc + info: + dy: 10.0 + length: 16.637 + radius: 10.0 + radius_min: 7.061 + route_info_length: 16.637 + route_info_n_bend_90: 1.0 + route_info_type: xs_sc_devrec + route_info_weight: 16.637 + route_info_xs_sc_devrec_length: 16.637 + width: 0.5 + settings: + cross_section: xs_sc + bend_euler_sc_3: + component: bend_euler_sc + info: + dy: 10.0 + length: 16.637 + radius: 10.0 + radius_min: 7.061 + route_info_length: 16.637 + route_info_n_bend_90: 1.0 + route_info_type: xs_sc_devrec + route_info_weight: 16.637 + route_info_xs_sc_devrec_length: 16.637 + width: 0.5 + settings: + cross_section: xs_sc + bend_euler_sc_4: + component: bend_euler_sc + info: + dy: 10.0 + length: 16.637 + radius: 10.0 + radius_min: 7.061 + route_info_length: 16.637 + route_info_n_bend_90: 1.0 + route_info_type: xs_sc_devrec + route_info_weight: 16.637 + route_info_xs_sc_devrec_length: 16.637 + width: 0.5 + settings: + cross_section: xs_sc + bend_euler_sc_5: + component: bend_euler_sc + info: + dy: 10.0 + length: 16.637 + radius: 10.0 + radius_min: 7.061 + route_info_length: 16.637 + route_info_n_bend_90: 1.0 + route_info_type: xs_sc_devrec + route_info_weight: 16.637 + route_info_xs_sc_devrec_length: 16.637 + width: 0.5 + settings: + cross_section: + bbox_layers: null + bbox_offsets: null + components_along_path: [] + radius: 10.0 + radius_min: 5.0 + sections: + - hidden: false + insets: null + layer: WG + name: _default + offset: 0.0 + offset_function: null + port_names: + - o1 + - o2 + port_types: + - optical + - optical + simplify: null + width: 0.5 + width_function: null + bend_euler_sc_6: + component: bend_euler_sc + info: + dy: 10.0 + length: 16.637 + radius: 10.0 + radius_min: 7.061 + route_info_length: 16.637 + route_info_n_bend_90: 1.0 + route_info_type: xs_sc_devrec + route_info_weight: 16.637 + route_info_xs_sc_devrec_length: 16.637 + width: 0.5 + settings: + cross_section: + bbox_layers: null + bbox_offsets: null + components_along_path: [] + radius: 10.0 + radius_min: 5.0 + sections: + - hidden: false + insets: null + layer: WG + name: _default + offset: 0.0 + offset_function: null + port_names: + - o1 + - o2 + port_types: + - optical + - optical + simplify: null + width: 0.5 + width_function: null + bend_euler_sc_7: + component: bend_euler_sc + info: + dy: 10.0 + length: 16.637 + radius: 10.0 + radius_min: 7.061 + route_info_length: 16.637 + route_info_n_bend_90: 1.0 + route_info_type: xs_sc_devrec + route_info_weight: 16.637 + route_info_xs_sc_devrec_length: 16.637 + width: 0.5 + settings: + cross_section: + bbox_layers: null + bbox_offsets: null + components_along_path: [] + radius: 10.0 + radius_min: 5.0 + sections: + - hidden: false + insets: null + layer: WG + name: _default + offset: 0.0 + offset_function: null + port_names: + - o1 + - o2 + port_types: + - optical + - optical + simplify: null + width: 0.5 + width_function: null + bend_euler_sc_8: + component: bend_euler_sc + info: + dy: 10.0 + length: 16.637 + radius: 10.0 + radius_min: 7.061 + route_info_length: 16.637 + route_info_n_bend_90: 1.0 + route_info_type: xs_sc_devrec + route_info_weight: 16.637 + route_info_xs_sc_devrec_length: 16.637 + width: 0.5 + settings: + cross_section: + bbox_layers: null + bbox_offsets: null + components_along_path: [] + radius: 10.0 + radius_min: 5.0 + sections: + - hidden: false + insets: null + layer: WG + name: _default + offset: 0.0 + offset_function: null + port_names: + - o1 + - o2 + port_types: + - optical + - optical + simplify: null + width: 0.5 + width_function: null + cp1: + component: ebeam_y_1550 + info: + library: Design kits/ebeam + model: ebeam_y_1550 + settings: {} + cp2: + component: ebeam_y_1550 + info: + library: Design kits/ebeam + model: ebeam_y_1550 + settings: {} + straight_10: + component: straight + info: + length: 0.01 + route_info_length: 0.01 + route_info_type: xs_sc + route_info_weight: 0.01 + route_info_xs_sc_length: 0.01 + width: 0.5 + settings: + cross_section: + bbox_layers: null + bbox_offsets: null + components_along_path: [] + radius: 10.0 + radius_min: 5.0 + sections: + - hidden: false + insets: null + layer: WG + name: _default + offset: 0.0 + offset_function: null + port_names: + - o1 + - o2 + port_types: + - optical + - optical + simplify: null + width: 0.5 + width_function: null + length: 0.01 + npoints: 2 + straight_5: + component: straight + info: + length: 0.015 + route_info_length: 0.015 + route_info_type: xs_sc + route_info_weight: 0.015 + route_info_xs_sc_length: 0.015 + width: 0.5 + settings: + cross_section: + bbox_layers: null + bbox_offsets: null + components_along_path: [] + radius: 10.0 + radius_min: 5.0 + sections: + - hidden: false + insets: null + layer: WG + name: _default + offset: 0.0 + offset_function: null + port_names: + - o1 + - o2 + port_types: + - optical + - optical + simplify: null + width: 0.5 + width_function: null + length: 0.015 + npoints: 2 + straight_6: + component: straight + info: + length: 2.0 + route_info_length: 2.0 + route_info_type: xs_sc + route_info_weight: 2.0 + route_info_xs_sc_length: 2.0 + width: 0.5 + settings: + cross_section: + bbox_layers: null + bbox_offsets: null + components_along_path: [] + radius: 10.0 + radius_min: 5.0 + sections: + - hidden: false + insets: null + layer: WG + name: _default + offset: 0.0 + offset_function: null + port_names: + - o1 + - o2 + port_types: + - optical + - optical + simplify: null + width: 0.5 + width_function: null + length: 2.0 + npoints: 2 + straight_7: + component: straight + info: + length: 0.01 + route_info_length: 0.01 + route_info_type: xs_sc + route_info_weight: 0.01 + route_info_xs_sc_length: 0.01 + width: 0.5 + settings: + cross_section: + bbox_layers: null + bbox_offsets: null + components_along_path: [] + radius: 10.0 + radius_min: 5.0 + sections: + - hidden: false + insets: null + layer: WG + name: _default + offset: 0.0 + offset_function: null + port_names: + - o1 + - o2 + port_types: + - optical + - optical + simplify: null + width: 0.5 + width_function: null + length: 0.01 + npoints: 2 + straight_8: + component: straight + info: + length: 0.015 + route_info_length: 0.015 + route_info_type: xs_sc + route_info_weight: 0.015 + route_info_xs_sc_length: 0.015 + width: 0.5 + settings: + cross_section: + bbox_layers: null + bbox_offsets: null + components_along_path: [] + radius: 10.0 + radius_min: 5.0 + sections: + - hidden: false + insets: null + layer: WG + name: _default + offset: 0.0 + offset_function: null + port_names: + - o1 + - o2 + port_types: + - optical + - optical + simplify: null + width: 0.5 + width_function: null + length: 0.015 + npoints: 2 + straight_9: + component: straight + info: + length: 7.0 + route_info_length: 7.0 + route_info_type: xs_sc + route_info_weight: 7.0 + route_info_xs_sc_length: 7.0 + width: 0.5 + settings: + cross_section: + bbox_layers: null + bbox_offsets: null + components_along_path: [] + radius: 10.0 + radius_min: 5.0 + sections: + - hidden: false + insets: null + layer: WG + name: _default + offset: 0.0 + offset_function: null + port_names: + - o1 + - o2 + port_types: + - optical + - optical + simplify: null + width: 0.5 + width_function: null + length: 7.0 + npoints: 2 + sxb: + component: straight + info: + length: 0.1 + route_info_length: 0.1 + route_info_type: xs_sc + route_info_weight: 0.1 + route_info_xs_sc_length: 0.1 + width: 0.5 + settings: + cross_section: xs_sc + length: 0.1 + npoints: 2 + sxt: + component: straight + info: + length: 0.1 + route_info_length: 0.1 + route_info_type: xs_sc + route_info_weight: 0.1 + route_info_xs_sc_length: 0.1 + width: 0.5 + settings: + cross_section: xs_sc + length: 0.1 + npoints: 2 + syl: + component: straight + info: + length: 7.0 + route_info_length: 7.0 + route_info_type: xs_sc + route_info_weight: 7.0 + route_info_xs_sc_length: 7.0 + width: 0.5 + settings: + cross_section: xs_sc + length: 7.0 + npoints: 2 + sytl: + component: straight + info: + length: 2.0 + route_info_length: 2.0 + route_info_type: xs_sc + route_info_weight: 2.0 + route_info_xs_sc_length: 2.0 + width: 0.5 + settings: + cross_section: xs_sc + length: 2.0 + npoints: 2 +name: mzi_f5c6fc9f +placements: + bend_euler_sc_1: + mirror: true + rotation: 0 + x: 7.4 + y: -2.75 + bend_euler_sc_2: + mirror: 0 + rotation: 270 + x: 17.4 + y: -19.75 + bend_euler_sc_3: + mirror: 0 + rotation: 0 + x: 7.4 + y: 2.75 + bend_euler_sc_4: + mirror: 0 + rotation: 180 + x: 27.4 + y: 24.75 + bend_euler_sc_5: + mirror: true + rotation: 0 + x: 27.515 + y: 24.75 + bend_euler_sc_6: + mirror: 0 + rotation: 270 + x: 37.515 + y: 12.75 + bend_euler_sc_7: + mirror: 0 + rotation: 0 + x: 27.515 + y: -29.75 + bend_euler_sc_8: + mirror: true + rotation: 90 + x: 37.515 + y: -12.75 + cp1: + mirror: 0 + rotation: 0 + x: 0.0 + y: 0.0 + cp2: + mirror: true + rotation: 180 + x: 54.925 + y: 0.0 + straight_10: + mirror: 0 + rotation: 0 + x: 47.515 + y: -2.75 + straight_5: + mirror: 0 + rotation: 0 + x: 27.5 + y: 24.75 + straight_6: + mirror: 0 + rotation: 270 + x: 37.515 + y: 14.75 + straight_7: + mirror: 0 + rotation: 0 + x: 47.515 + y: 2.75 + straight_8: + mirror: 0 + rotation: 0 + x: 27.5 + y: -29.75 + straight_9: + mirror: 0 + rotation: 90 + x: 37.515 + y: -19.75 + sxb: + mirror: 0 + rotation: 0 + x: 27.4 + y: -29.75 + sxt: + mirror: 0 + rotation: 0 + x: 27.4 + y: 24.75 + syl: + mirror: 0 + rotation: 270 + x: 17.4 + y: -12.75 + sytl: + mirror: 0 + rotation: 90 + x: 17.4 + y: 12.75 +ports: + o1: cp1,o1 + o2: cp2,o1 diff --git a/tests/test_netlists/test_netlists_mzi_heater_.yml b/tests/test_netlists/test_netlists_mzi_heater_.yml new file mode 100644 index 00000000..b5c1db53 --- /dev/null +++ b/tests/test_netlists/test_netlists_mzi_heater_.yml @@ -0,0 +1,616 @@ +connections: + bend_euler_sc_1,o1: cp1,o3 + bend_euler_sc_1,o2: syl,o1 + bend_euler_sc_2,o1: syl,o2 + bend_euler_sc_2,o2: sxb,o1 + bend_euler_sc_3,o1: cp1,o2 + bend_euler_sc_3,o2: sytl,o1 + bend_euler_sc_4,o1: sxt,o1 + bend_euler_sc_4,o2: sytl,o2 + bend_euler_sc_5,o1: straight_4,o2 + bend_euler_sc_5,o2: straight_5,o1 + bend_euler_sc_6,o1: straight_5,o2 + bend_euler_sc_6,o2: straight_6,o1 + bend_euler_sc_7,o1: straight_7,o2 + bend_euler_sc_7,o2: straight_8,o1 + bend_euler_sc_8,o1: straight_8,o2 + bend_euler_sc_8,o2: straight_9,o1 + cp2,o2: straight_6,o2 + cp2,o3: straight_9,o2 + straight_4,o1: sxt,o2 + straight_7,o1: sxb,o2 +instances: + bend_euler_sc_1: + component: bend_euler_sc + info: + dy: 10.0 + length: 16.637 + radius: 10.0 + radius_min: 7.061 + route_info_length: 16.637 + route_info_n_bend_90: 1.0 + route_info_type: xs_sc_devrec + route_info_weight: 16.637 + route_info_xs_sc_devrec_length: 16.637 + width: 0.5 + settings: + cross_section: xs_sc + bend_euler_sc_2: + component: bend_euler_sc + info: + dy: 10.0 + length: 16.637 + radius: 10.0 + radius_min: 7.061 + route_info_length: 16.637 + route_info_n_bend_90: 1.0 + route_info_type: xs_sc_devrec + route_info_weight: 16.637 + route_info_xs_sc_devrec_length: 16.637 + width: 0.5 + settings: + cross_section: xs_sc + bend_euler_sc_3: + component: bend_euler_sc + info: + dy: 10.0 + length: 16.637 + radius: 10.0 + radius_min: 7.061 + route_info_length: 16.637 + route_info_n_bend_90: 1.0 + route_info_type: xs_sc_devrec + route_info_weight: 16.637 + route_info_xs_sc_devrec_length: 16.637 + width: 0.5 + settings: + cross_section: xs_sc + bend_euler_sc_4: + component: bend_euler_sc + info: + dy: 10.0 + length: 16.637 + radius: 10.0 + radius_min: 7.061 + route_info_length: 16.637 + route_info_n_bend_90: 1.0 + route_info_type: xs_sc_devrec + route_info_weight: 16.637 + route_info_xs_sc_devrec_length: 16.637 + width: 0.5 + settings: + cross_section: xs_sc + bend_euler_sc_5: + component: bend_euler_sc + info: + dy: 10.0 + length: 16.637 + radius: 10.0 + radius_min: 7.061 + route_info_length: 16.637 + route_info_n_bend_90: 1.0 + route_info_type: xs_sc_devrec + route_info_weight: 16.637 + route_info_xs_sc_devrec_length: 16.637 + width: 0.5 + settings: + cross_section: + bbox_layers: null + bbox_offsets: null + components_along_path: [] + radius: 10.0 + radius_min: 5.0 + sections: + - hidden: false + insets: null + layer: WG + name: _default + offset: 0.0 + offset_function: null + port_names: + - o1 + - o2 + port_types: + - optical + - optical + simplify: null + width: 0.5 + width_function: null + bend_euler_sc_6: + component: bend_euler_sc + info: + dy: 10.0 + length: 16.637 + radius: 10.0 + radius_min: 7.061 + route_info_length: 16.637 + route_info_n_bend_90: 1.0 + route_info_type: xs_sc_devrec + route_info_weight: 16.637 + route_info_xs_sc_devrec_length: 16.637 + width: 0.5 + settings: + cross_section: + bbox_layers: null + bbox_offsets: null + components_along_path: [] + radius: 10.0 + radius_min: 5.0 + sections: + - hidden: false + insets: null + layer: WG + name: _default + offset: 0.0 + offset_function: null + port_names: + - o1 + - o2 + port_types: + - optical + - optical + simplify: null + width: 0.5 + width_function: null + bend_euler_sc_7: + component: bend_euler_sc + info: + dy: 10.0 + length: 16.637 + radius: 10.0 + radius_min: 7.061 + route_info_length: 16.637 + route_info_n_bend_90: 1.0 + route_info_type: xs_sc_devrec + route_info_weight: 16.637 + route_info_xs_sc_devrec_length: 16.637 + width: 0.5 + settings: + cross_section: + bbox_layers: null + bbox_offsets: null + components_along_path: [] + radius: 10.0 + radius_min: 5.0 + sections: + - hidden: false + insets: null + layer: WG + name: _default + offset: 0.0 + offset_function: null + port_names: + - o1 + - o2 + port_types: + - optical + - optical + simplify: null + width: 0.5 + width_function: null + bend_euler_sc_8: + component: bend_euler_sc + info: + dy: 10.0 + length: 16.637 + radius: 10.0 + radius_min: 7.061 + route_info_length: 16.637 + route_info_n_bend_90: 1.0 + route_info_type: xs_sc_devrec + route_info_weight: 16.637 + route_info_xs_sc_devrec_length: 16.637 + width: 0.5 + settings: + cross_section: + bbox_layers: null + bbox_offsets: null + components_along_path: [] + radius: 10.0 + radius_min: 5.0 + sections: + - hidden: false + insets: null + layer: WG + name: _default + offset: 0.0 + offset_function: null + port_names: + - o1 + - o2 + port_types: + - optical + - optical + simplify: null + width: 0.5 + width_function: null + cp1: + component: ebeam_y_1550 + info: + library: Design kits/ebeam + model: ebeam_y_1550 + settings: {} + cp2: + component: ebeam_y_1550 + info: + library: Design kits/ebeam + model: ebeam_y_1550 + settings: {} + straight_4: + component: straight + info: + length: 0.015 + route_info_length: 0.015 + route_info_type: xs_sc + route_info_weight: 0.015 + route_info_xs_sc_length: 0.015 + width: 0.5 + settings: + cross_section: + bbox_layers: null + bbox_offsets: null + components_along_path: [] + radius: 10.0 + radius_min: 5.0 + sections: + - hidden: false + insets: null + layer: WG + name: _default + offset: 0.0 + offset_function: null + port_names: + - o1 + - o2 + port_types: + - optical + - optical + simplify: null + width: 0.5 + width_function: null + length: 0.015 + npoints: 2 + straight_5: + component: straight + info: + length: 2.0 + route_info_length: 2.0 + route_info_type: xs_sc + route_info_weight: 2.0 + route_info_xs_sc_length: 2.0 + width: 0.5 + settings: + cross_section: + bbox_layers: null + bbox_offsets: null + components_along_path: [] + radius: 10.0 + radius_min: 5.0 + sections: + - hidden: false + insets: null + layer: WG + name: _default + offset: 0.0 + offset_function: null + port_names: + - o1 + - o2 + port_types: + - optical + - optical + simplify: null + width: 0.5 + width_function: null + length: 2.0 + npoints: 2 + straight_6: + component: straight + info: + length: 0.01 + route_info_length: 0.01 + route_info_type: xs_sc + route_info_weight: 0.01 + route_info_xs_sc_length: 0.01 + width: 0.5 + settings: + cross_section: + bbox_layers: null + bbox_offsets: null + components_along_path: [] + radius: 10.0 + radius_min: 5.0 + sections: + - hidden: false + insets: null + layer: WG + name: _default + offset: 0.0 + offset_function: null + port_names: + - o1 + - o2 + port_types: + - optical + - optical + simplify: null + width: 0.5 + width_function: null + length: 0.01 + npoints: 2 + straight_7: + component: straight + info: + length: 0.015 + route_info_length: 0.015 + route_info_type: xs_sc + route_info_weight: 0.015 + route_info_xs_sc_length: 0.015 + width: 0.5 + settings: + cross_section: + bbox_layers: null + bbox_offsets: null + components_along_path: [] + radius: 10.0 + radius_min: 5.0 + sections: + - hidden: false + insets: null + layer: WG + name: _default + offset: 0.0 + offset_function: null + port_names: + - o1 + - o2 + port_types: + - optical + - optical + simplify: null + width: 0.5 + width_function: null + length: 0.015 + npoints: 2 + straight_8: + component: straight + info: + length: 7.0 + route_info_length: 7.0 + route_info_type: xs_sc + route_info_weight: 7.0 + route_info_xs_sc_length: 7.0 + width: 0.5 + settings: + cross_section: + bbox_layers: null + bbox_offsets: null + components_along_path: [] + radius: 10.0 + radius_min: 5.0 + sections: + - hidden: false + insets: null + layer: WG + name: _default + offset: 0.0 + offset_function: null + port_names: + - o1 + - o2 + port_types: + - optical + - optical + simplify: null + width: 0.5 + width_function: null + length: 7.0 + npoints: 2 + straight_9: + component: straight + info: + length: 0.01 + route_info_length: 0.01 + route_info_type: xs_sc + route_info_weight: 0.01 + route_info_xs_sc_length: 0.01 + width: 0.5 + settings: + cross_section: + bbox_layers: null + bbox_offsets: null + components_along_path: [] + radius: 10.0 + radius_min: 5.0 + sections: + - hidden: false + insets: null + layer: WG + name: _default + offset: 0.0 + offset_function: null + port_names: + - o1 + - o2 + port_types: + - optical + - optical + simplify: null + width: 0.5 + width_function: null + length: 0.01 + npoints: 2 + sxb: + component: straight + info: + length: 200 + route_info_length: 200.0 + route_info_type: xs_sc + route_info_weight: 200.0 + route_info_xs_sc_length: 200.0 + width: 0.5 + settings: + cross_section: xs_sc + length: 200 + npoints: 2 + sxt: + component: straight_heater_metal_undercut + info: + resistance: 0 + settings: + cross_section: xs_sc + cross_section_heater: xs_heater_metal + cross_section_heater_undercut: xs_sc_heater_metal_undercut + cross_section_waveguide_heater: xs_sc_heater_metal + heater_taper_length: 5.0 + length: 200 + length_straight: 0.1 + length_straight_input: 15.0 + length_undercut: 30.0 + length_undercut_spacing: 6.0 + ohms_per_square: null + port_orientation1: null + port_orientation2: null + straight: + function: straight + via_stack: via_stack_heater_mtop + with_undercut: false + syl: + component: straight + info: + length: 7.0 + route_info_length: 7.0 + route_info_type: xs_sc + route_info_weight: 7.0 + route_info_xs_sc_length: 7.0 + width: 0.5 + settings: + cross_section: xs_sc + length: 7.0 + npoints: 2 + sytl: + component: straight + info: + length: 2.0 + route_info_length: 2.0 + route_info_type: xs_sc + route_info_weight: 2.0 + route_info_xs_sc_length: 2.0 + width: 0.5 + settings: + cross_section: xs_sc + length: 2.0 + npoints: 2 +name: mzi_a1fe9d55 +placements: + bend_euler_sc_1: + mirror: true + rotation: 0 + x: 7.4 + y: -2.75 + bend_euler_sc_2: + mirror: 0 + rotation: 270 + x: 17.4 + y: -19.75 + bend_euler_sc_3: + mirror: 0 + rotation: 0 + x: 7.4 + y: 2.75 + bend_euler_sc_4: + mirror: 0 + rotation: 180 + x: 27.4 + y: 24.75 + bend_euler_sc_5: + mirror: true + rotation: 0 + x: 227.415 + y: 24.75 + bend_euler_sc_6: + mirror: 0 + rotation: 270 + x: 237.415 + y: 12.75 + bend_euler_sc_7: + mirror: 0 + rotation: 0 + x: 227.415 + y: -29.75 + bend_euler_sc_8: + mirror: true + rotation: 90 + x: 237.415 + y: -12.75 + cp1: + mirror: 0 + rotation: 0 + x: 0.0 + y: 0.0 + cp2: + mirror: true + rotation: 180 + x: 254.825 + y: 0.0 + straight_4: + mirror: 0 + rotation: 0 + x: 227.4 + y: 24.75 + straight_5: + mirror: 0 + rotation: 270 + x: 237.415 + y: 14.75 + straight_6: + mirror: 0 + rotation: 0 + x: 247.415 + y: 2.75 + straight_7: + mirror: 0 + rotation: 0 + x: 227.4 + y: -29.75 + straight_8: + mirror: 0 + rotation: 90 + x: 237.415 + y: -19.75 + straight_9: + mirror: 0 + rotation: 0 + x: 247.415 + y: -2.75 + sxb: + mirror: 0 + rotation: 0 + x: 27.4 + y: -29.75 + sxt: + mirror: 0 + rotation: 0 + x: 27.4 + y: 24.75 + syl: + mirror: 0 + rotation: 270 + x: 17.4 + y: -12.75 + sytl: + mirror: 0 + rotation: 90 + x: 17.4 + y: 12.75 +ports: + o1: cp1,o1 + o2: cp2,o1 + top_l_e1: sxt,l_e1 + top_l_e2: sxt,l_e2 + top_l_e3: sxt,l_e3 + top_l_e4: sxt,l_e4 + top_r_e1: sxt,r_e1 + top_r_e2: sxt,r_e2 + top_r_e3: sxt,r_e3 + top_r_e4: sxt,r_e4 diff --git a/tests/test_netlists/test_netlists_pad_.yml b/tests/test_netlists/test_netlists_pad_.yml new file mode 100644 index 00000000..237da850 --- /dev/null +++ b/tests/test_netlists/test_netlists_pad_.yml @@ -0,0 +1,5 @@ +connections: {} +instances: {} +name: pad_0210fbc6 +placements: {} +ports: {} diff --git a/tests/test_netlists/test_netlists_photonic_wirebond_surfacetaper_1310_.yml b/tests/test_netlists/test_netlists_photonic_wirebond_surfacetaper_1310_.yml new file mode 100644 index 00000000..816858b4 --- /dev/null +++ b/tests/test_netlists/test_netlists_photonic_wirebond_surfacetaper_1310_.yml @@ -0,0 +1,5 @@ +connections: {} +instances: {} +name: photonic_wirebond_surfacetaper_1310 +placements: {} +ports: {} diff --git a/tests/test_netlists/test_netlists_photonic_wirebond_surfacetaper_1550_.yml b/tests/test_netlists/test_netlists_photonic_wirebond_surfacetaper_1550_.yml new file mode 100644 index 00000000..8583178b --- /dev/null +++ b/tests/test_netlists/test_netlists_photonic_wirebond_surfacetaper_1550_.yml @@ -0,0 +1,5 @@ +connections: {} +instances: {} +name: photonic_wirebond_surfacetaper_1550 +placements: {} +ports: {} diff --git a/tests/test_netlists/test_netlists_ring_double_.yml b/tests/test_netlists/test_netlists_ring_double_.yml new file mode 100644 index 00000000..3c638a28 --- /dev/null +++ b/tests/test_netlists/test_netlists_ring_double_.yml @@ -0,0 +1,163 @@ +connections: + coupler_ring_1,o2: straight_1,o1 + coupler_ring_1,o3: straight_2,o1 + coupler_ring_2,o2: straight_2,o2 + coupler_ring_2,o3: straight_1,o2 +instances: + coupler_ring_1: + component: coupler_ring + info: {} + settings: + bend: + function: bend_euler + cross_section: + bbox_layers: null + bbox_offsets: null + components_along_path: [] + radius: 10.0 + radius_min: 5.0 + sections: + - hidden: false + insets: null + layer: WG + name: _default + offset: 0.0 + offset_function: null + port_names: + - o1 + - o2 + port_types: + - optical + - optical + simplify: null + width: 0.5 + width_function: null + gap: 0.2 + length_x: 0.01 + radius: 10.0 + coupler_ring_2: + component: coupler_ring + info: {} + settings: + bend: + function: bend_euler + cross_section: + bbox_layers: null + bbox_offsets: null + components_along_path: [] + radius: 10.0 + radius_min: 5.0 + sections: + - hidden: false + insets: null + layer: WG + name: _default + offset: 0.0 + offset_function: null + port_names: + - o1 + - o2 + port_types: + - optical + - optical + simplify: null + width: 0.5 + width_function: null + gap: 0.2 + length_x: 0.01 + radius: 10.0 + straight_1: + component: straight + info: + length: 0.01 + route_info_length: 0.01 + route_info_type: xs_sc + route_info_weight: 0.01 + route_info_xs_sc_length: 0.01 + width: 0.5 + settings: + cross_section: + bbox_layers: null + bbox_offsets: null + components_along_path: [] + radius: 10.0 + radius_min: 5.0 + sections: + - hidden: false + insets: null + layer: WG + name: _default + offset: 0.0 + offset_function: null + port_names: + - o1 + - o2 + port_types: + - optical + - optical + simplify: null + width: 0.5 + width_function: null + length: 0.01 + npoints: 2 + straight_2: + component: straight + info: + length: 0.01 + route_info_length: 0.01 + route_info_type: xs_sc + route_info_weight: 0.01 + route_info_xs_sc_length: 0.01 + width: 0.5 + settings: + cross_section: + bbox_layers: null + bbox_offsets: null + components_along_path: [] + radius: 10.0 + radius_min: 5.0 + sections: + - hidden: false + insets: null + layer: WG + name: _default + offset: 0.0 + offset_function: null + port_names: + - o1 + - o2 + port_types: + - optical + - optical + simplify: null + width: 0.5 + width_function: null + length: 0.01 + npoints: 2 +name: ring_double_a459ac5d +placements: + coupler_ring_1: + mirror: 0 + rotation: 0 + x: 0.0 + y: 0.0 + coupler_ring_2: + mirror: 0 + rotation: 180 + x: -0.01 + y: 21.41 + straight_1: + mirror: 0 + rotation: 90 + x: -10.01 + y: 10.7 + straight_2: + mirror: 0 + rotation: 90 + x: 10.0 + y: 10.7 +ports: + o1: coupler_ring_1,o1 + o2: coupler_ring_1,o4 + o3: coupler_ring_2,o4 + o4: coupler_ring_2,o1 diff --git a/tests/test_netlists/test_netlists_ring_double_heater_.yml b/tests/test_netlists/test_netlists_ring_double_heater_.yml new file mode 100644 index 00000000..9cd81549 --- /dev/null +++ b/tests/test_netlists/test_netlists_ring_double_heater_.yml @@ -0,0 +1,233 @@ +connections: + coupler_ring_1,e2: straight_1,e1 + coupler_ring_1,e3: straight_2,e1 + coupler_ring_1,o2: straight_1,o1 + coupler_ring_1,o3: straight_2,o1 + coupler_ring_2,e1: straight_3,e1 + coupler_ring_2,e2: straight_2,e2 + coupler_ring_2,e3: straight_1,e2 + coupler_ring_2,e4: straight_3,e2 + coupler_ring_2,o2: straight_2,o2 + coupler_ring_2,o3: straight_1,o2 +instances: + coupler_ring_1: + component: coupler_ring + info: {} + settings: + bend: + function: bend_euler + cross_section: + bbox_layers: null + bbox_offsets: null + components_along_path: [] + radius: 10.0 + radius_min: 5.0 + sections: + - hidden: false + insets: null + layer: WG + name: _default + offset: 0.0 + offset_function: null + port_names: + - o1 + - o2 + port_types: + - optical + - optical + simplify: null + width: 0.5 + width_function: null + cross_section_bend: xs_sc_heater_metal + gap: 0.2 + length_x: 1.0 + radius: 10.0 + coupler_ring_2: + component: coupler_ring + info: {} + settings: + bend: + function: bend_euler + cross_section: + bbox_layers: null + bbox_offsets: null + components_along_path: [] + radius: 10.0 + radius_min: 5.0 + sections: + - hidden: false + insets: null + layer: WG + name: _default + offset: 0.0 + offset_function: null + port_names: + - o1 + - o2 + port_types: + - optical + - optical + simplify: null + width: 0.5 + width_function: null + cross_section_bend: xs_sc_heater_metal + gap: 0.2 + length_x: 1.0 + radius: 10.0 + straight_1: + component: straight + info: + length: 0.2 + route_info_length: 0.2 + route_info_type: xs_sc_heater_metal + route_info_weight: 0.2 + route_info_xs_sc_heater_metal_length: 0.2 + width: 0.5 + settings: + cross_section: xs_sc_heater_metal + length: 0.2 + npoints: 2 + straight_2: + component: straight + info: + length: 0.2 + route_info_length: 0.2 + route_info_type: xs_sc_heater_metal + route_info_weight: 0.2 + route_info_xs_sc_heater_metal_length: 0.2 + width: 0.5 + settings: + cross_section: xs_sc_heater_metal + length: 0.2 + npoints: 2 + straight_3: + component: straight + info: + length: 1.0 + route_info_length: 1.0 + route_info_type: xs_heater_metal + route_info_weight: 1.0 + route_info_xs_heater_metal_length: 1.0 + width: 4.0 + settings: + cross_section: xs_heater_metal + length: 1.0 + npoints: 2 + via_stack_1: + component: via_stack + info: + layer: + - 12 + - 0 + size: + - 10 + - 10 + xsize: 10 + ysize: 10 + settings: + correct_size: true + layer_offsets: null + layer_port: null + layers: + - - 11 + - 0 + - - 12 + - 0 + size: + - 10 + - 10 + slot_horizontal: false + slot_vertical: false + vias: + - null + - null + via_stack_2: + component: via_stack + info: + layer: + - 12 + - 0 + size: + - 10 + - 10 + xsize: 10 + ysize: 10 + settings: + correct_size: true + layer_offsets: null + layer_port: null + layers: + - - 11 + - 0 + - - 12 + - 0 + size: + - 10 + - 10 + slot_horizontal: false + slot_vertical: false + vias: + - null + - null +name: ring_double_heater_dde86d0f +placements: + coupler_ring_1: + mirror: 0 + rotation: 0 + x: 0.0 + y: 0.0 + coupler_ring_2: + mirror: 0 + rotation: 180 + x: -1.0 + y: 21.6 + straight_1: + mirror: 0 + rotation: 90 + x: -11.0 + y: 10.7 + straight_2: + mirror: 0 + rotation: 90 + x: 10.0 + y: 10.7 + straight_3: + mirror: 0 + rotation: 0 + x: -1.0 + y: 20.9 + via_stack_1: + mirror: 0 + rotation: 0 + x: -7.0 + y: 0.0 + via_stack_2: + mirror: 0 + rotation: 0 + x: 6.0 + y: 0.0 +ports: + l_e1: via_stack_1,e1 + l_e2: via_stack_1,e2 + l_e3: via_stack_1,e3 + l_e4: via_stack_1,e4 + o1: coupler_ring_1,o1 + o2: coupler_ring_1,o4 + o3: coupler_ring_2,o4 + o4: coupler_ring_2,o1 + r_e1: via_stack_2,e1 + r_e2: via_stack_2,e2 + r_e3: via_stack_2,e3 + r_e4: via_stack_2,e4 +warnings: + electrical: + unconnected_ports: + - message: 2 unconnected electrical ports! + ports: + - coupler_ring_1,e4 + - coupler_ring_1,e1 + values: + - - -1.0 + - 0.7 + - - 0.0 + - 0.7 diff --git a/tests/test_netlists/test_netlists_ring_single_.yml b/tests/test_netlists/test_netlists_ring_single_.yml new file mode 100644 index 00000000..82b8c66f --- /dev/null +++ b/tests/test_netlists/test_netlists_ring_single_.yml @@ -0,0 +1,206 @@ +connections: + bend_euler_sc_1,o1: straight_3,o2 + bend_euler_sc_1,o2: straight_1,o2 + bend_euler_sc_2,o1: straight_2,o1 + bend_euler_sc_2,o2: straight_3,o1 + coupler_ring_1,o2: straight_1,o1 + coupler_ring_1,o3: straight_2,o2 +instances: + bend_euler_sc_1: + component: bend_euler_sc + info: + dy: 10.0 + length: 16.637 + radius: 10.0 + radius_min: 7.061 + route_info_length: 16.637 + route_info_n_bend_90: 1.0 + route_info_type: xs_sc_devrec + route_info_weight: 16.637 + route_info_xs_sc_devrec_length: 16.637 + width: 0.5 + settings: + radius: 10.0 + bend_euler_sc_2: + component: bend_euler_sc + info: + dy: 10.0 + length: 16.637 + radius: 10.0 + radius_min: 7.061 + route_info_length: 16.637 + route_info_n_bend_90: 1.0 + route_info_type: xs_sc_devrec + route_info_weight: 16.637 + route_info_xs_sc_devrec_length: 16.637 + width: 0.5 + settings: + radius: 10.0 + coupler_ring_1: + component: coupler_ring + info: {} + settings: + bend: + function: bend_euler + cross_section: + bbox_layers: null + bbox_offsets: null + components_along_path: [] + radius: 10.0 + radius_min: 5.0 + sections: + - hidden: false + insets: null + layer: WG + name: _default + offset: 0.0 + offset_function: null + port_names: + - o1 + - o2 + port_types: + - optical + - optical + simplify: null + width: 0.5 + width_function: null + gap: 0.2 + length_x: 4.0 + radius: 10.0 + straight_1: + component: straight + info: + length: 0.6 + route_info_length: 0.6 + route_info_type: xs_sc + route_info_weight: 0.6 + route_info_xs_sc_length: 0.6 + width: 0.5 + settings: + cross_section: + bbox_layers: null + bbox_offsets: null + components_along_path: [] + radius: 10.0 + radius_min: 5.0 + sections: + - hidden: false + insets: null + layer: WG + name: _default + offset: 0.0 + offset_function: null + port_names: + - o1 + - o2 + port_types: + - optical + - optical + simplify: null + width: 0.5 + width_function: null + length: 0.6 + npoints: 2 + straight_2: + component: straight + info: + length: 0.6 + route_info_length: 0.6 + route_info_type: xs_sc + route_info_weight: 0.6 + route_info_xs_sc_length: 0.6 + width: 0.5 + settings: + cross_section: + bbox_layers: null + bbox_offsets: null + components_along_path: [] + radius: 10.0 + radius_min: 5.0 + sections: + - hidden: false + insets: null + layer: WG + name: _default + offset: 0.0 + offset_function: null + port_names: + - o1 + - o2 + port_types: + - optical + - optical + simplify: null + width: 0.5 + width_function: null + length: 0.6 + npoints: 2 + straight_3: + component: straight + info: + length: 4.0 + route_info_length: 4.0 + route_info_type: xs_sc + route_info_weight: 4.0 + route_info_xs_sc_length: 4.0 + width: 0.5 + settings: + cross_section: + bbox_layers: null + bbox_offsets: null + components_along_path: [] + radius: 10.0 + radius_min: 5.0 + sections: + - hidden: false + insets: null + layer: WG + name: _default + offset: 0.0 + offset_function: null + port_names: + - o1 + - o2 + port_types: + - optical + - optical + simplify: null + width: 0.5 + width_function: null + length: 4.0 + npoints: 2 +name: ring_single_382b19ee +placements: + bend_euler_sc_1: + mirror: 0 + rotation: 180 + x: -4.0 + y: 21.3 + bend_euler_sc_2: + mirror: 0 + rotation: 90 + x: 10.0 + y: 11.3 + coupler_ring_1: + mirror: 0 + rotation: 0 + x: 0.0 + y: 0.0 + straight_1: + mirror: 0 + rotation: 90 + x: -14.0 + y: 10.7 + straight_2: + mirror: 0 + rotation: 270 + x: 10.0 + y: 11.3 + straight_3: + mirror: 0 + rotation: 180 + x: 0.0 + y: 21.3 +ports: + o1: coupler_ring_1,o1 + o2: coupler_ring_1,o4 diff --git a/tests/test_netlists/test_netlists_ring_single_heater_.yml b/tests/test_netlists/test_netlists_ring_single_heater_.yml new file mode 100644 index 00000000..7e7e38a4 --- /dev/null +++ b/tests/test_netlists/test_netlists_ring_single_heater_.yml @@ -0,0 +1,248 @@ +connections: + bend_euler_1,e1: straight_3,e2 + bend_euler_1,e2: straight_1,e2 + bend_euler_1,o1: straight_3,o2 + bend_euler_1,o2: straight_1,o2 + bend_euler_2,e1: straight_2,e1 + bend_euler_2,e2: straight_3,e1 + bend_euler_2,o1: straight_2,o1 + bend_euler_2,o2: straight_3,o1 + coupler_ring_1,e2: straight_1,e1 + coupler_ring_1,e3: straight_2,e2 + coupler_ring_1,o2: straight_1,o1 + coupler_ring_1,o3: straight_2,o2 +instances: + bend_euler_1: + component: bend_euler + info: + dy: 10.0 + length: 16.637 + radius: 10.0 + radius_min: 7.061 + route_info_length: 16.637 + route_info_n_bend_90: 1.0 + route_info_type: xs_sc_heater_metal + route_info_weight: 16.637 + route_info_xs_sc_heater_metal_length: 16.637 + width: 0.5 + settings: + angle: 90.0 + cross_section: xs_sc_heater_metal + direction: ccw + npoints: null + p: 0.5 + radius: 10.0 + with_arc_floorplan: true + bend_euler_2: + component: bend_euler + info: + dy: 10.0 + length: 16.637 + radius: 10.0 + radius_min: 7.061 + route_info_length: 16.637 + route_info_n_bend_90: 1.0 + route_info_type: xs_sc_heater_metal + route_info_weight: 16.637 + route_info_xs_sc_heater_metal_length: 16.637 + width: 0.5 + settings: + angle: 90.0 + cross_section: xs_sc_heater_metal + direction: ccw + npoints: null + p: 0.5 + radius: 10.0 + with_arc_floorplan: true + coupler_ring_1: + component: coupler_ring + info: {} + settings: + bend: + function: bend_euler + cross_section: + bbox_layers: null + bbox_offsets: null + components_along_path: [] + radius: 10.0 + radius_min: 5.0 + sections: + - hidden: false + insets: null + layer: WG + name: _default + offset: 0.0 + offset_function: null + port_names: + - o1 + - o2 + port_types: + - optical + - optical + simplify: null + width: 0.5 + width_function: null + cross_section_bend: xs_sc_heater_metal + gap: 0.2 + length_x: 4.0 + radius: 10.0 + straight_1: + component: straight + info: + length: 0.6 + route_info_length: 0.6 + route_info_type: xs_sc_heater_metal + route_info_weight: 0.6 + route_info_xs_sc_heater_metal_length: 0.6 + width: 0.5 + settings: + cross_section: xs_sc_heater_metal + length: 0.6 + npoints: 2 + straight_2: + component: straight + info: + length: 0.6 + route_info_length: 0.6 + route_info_type: xs_sc_heater_metal + route_info_weight: 0.6 + route_info_xs_sc_heater_metal_length: 0.6 + width: 0.5 + settings: + cross_section: xs_sc_heater_metal + length: 0.6 + npoints: 2 + straight_3: + component: straight + info: + length: 4.0 + route_info_length: 4.0 + route_info_type: xs_sc_heater_metal + route_info_weight: 4.0 + route_info_xs_sc_heater_metal_length: 4.0 + width: 0.5 + settings: + cross_section: xs_sc_heater_metal + length: 4.0 + npoints: 2 + via_stack_1: + component: via_stack + info: + layer: + - 12 + - 0 + size: + - 10 + - 10 + xsize: 10 + ysize: 10 + settings: + correct_size: true + layer_offsets: null + layer_port: null + layers: + - - 11 + - 0 + - - 12 + - 0 + size: + - 10 + - 10 + slot_horizontal: false + slot_vertical: false + vias: + - null + - null + via_stack_2: + component: via_stack + info: + layer: + - 12 + - 0 + size: + - 10 + - 10 + xsize: 10 + ysize: 10 + settings: + correct_size: true + layer_offsets: null + layer_port: null + layers: + - - 11 + - 0 + - - 12 + - 0 + size: + - 10 + - 10 + slot_horizontal: false + slot_vertical: false + vias: + - null + - null +name: ring_single_heater_cc91df46 +placements: + bend_euler_1: + mirror: 0 + rotation: 180 + x: -4.0 + y: 21.3 + bend_euler_2: + mirror: 0 + rotation: 90 + x: 10.0 + y: 11.3 + coupler_ring_1: + mirror: 0 + rotation: 0 + x: 0.0 + y: 0.0 + straight_1: + mirror: 0 + rotation: 90 + x: -14.0 + y: 10.7 + straight_2: + mirror: 0 + rotation: 270 + x: 10.0 + y: 11.3 + straight_3: + mirror: 0 + rotation: 180 + x: 0.0 + y: 21.3 + via_stack_1: + mirror: 0 + rotation: 0 + x: -9.0 + y: 0.0 + via_stack_2: + mirror: 0 + rotation: 0 + x: 5.0 + y: 0.0 +ports: + l_e1: via_stack_1,e1 + l_e2: via_stack_1,e2 + l_e3: via_stack_1,e3 + l_e4: via_stack_1,e4 + o1: coupler_ring_1,o1 + o2: coupler_ring_1,o4 + r_e1: via_stack_2,e1 + r_e2: via_stack_2,e2 + r_e3: via_stack_2,e3 + r_e4: via_stack_2,e4 +warnings: + electrical: + unconnected_ports: + - message: 2 unconnected electrical ports! + ports: + - coupler_ring_1,e4 + - coupler_ring_1,e1 + values: + - - -4.0 + - 0.7 + - - 0.0 + - 0.7 diff --git a/tests/test_netlists/test_netlists_ring_with_crossing_.yml b/tests/test_netlists/test_netlists_ring_with_crossing_.yml new file mode 100644 index 00000000..085a96df --- /dev/null +++ b/tests/test_netlists/test_netlists_ring_with_crossing_.yml @@ -0,0 +1,113 @@ +connections: + bend_euler_sc_1,o1: straight_2,o1 + bend_euler_sc_1,o2: straight_1,o1 + bend_euler_sc_2,o1: ebeam_crossing4_2ports_1,o4 + bend_euler_sc_2,o2: straight_2,o2 + coupler_ring_1,o2: straight_1,o2 + coupler_ring_1,o3: ebeam_crossing4_2ports_1,o1 +instances: + bend_euler_sc_1: + component: bend_euler_sc + info: + dy: 5.0 + length: 8.318 + radius: 5.0 + radius_min: 3.53 + route_info_length: 8.318 + route_info_n_bend_90: 1.0 + route_info_type: xs_sc_devrec + route_info_weight: 8.318 + route_info_xs_sc_devrec_length: 8.318 + width: 0.5 + settings: + cross_section: xs_sc + radius: 5.0 + bend_euler_sc_2: + component: bend_euler_sc + info: + dy: 5.0 + length: 8.318 + radius: 5.0 + radius_min: 3.53 + route_info_length: 8.318 + route_info_n_bend_90: 1.0 + route_info_type: xs_sc_devrec + route_info_weight: 8.318 + route_info_xs_sc_devrec_length: 8.318 + width: 0.5 + settings: + cross_section: xs_sc + radius: 5.0 + coupler_ring_1: + component: coupler_ring + info: {} + settings: + cross_section: xs_sc + gap: 0.2 + length_x: 4 + radius: 5.0 + ebeam_crossing4_2ports_1: + component: ebeam_crossing4_2ports + info: {} + settings: {} + straight_1: + component: straight + info: + length: 9.6 + route_info_length: 9.6 + route_info_type: xs_sc + route_info_weight: 9.6 + route_info_xs_sc_length: 9.6 + width: 0.5 + settings: + cross_section: xs_sc + length: 9.6 + npoints: 2 + straight_2: + component: straight + info: + length: 4 + route_info_length: 4.0 + route_info_type: xs_sc + route_info_weight: 4.0 + route_info_xs_sc_length: 4.0 + width: 0.5 + settings: + cross_section: xs_sc + length: 4 + npoints: 2 +name: ring_single_dut_26538df6 +placements: + bend_euler_sc_1: + mirror: 0 + rotation: 180 + x: -4.0 + y: 20.3 + bend_euler_sc_2: + mirror: 0 + rotation: 90 + x: 5.0 + y: 15.3 + coupler_ring_1: + mirror: 0 + rotation: 0 + x: 0.0 + y: 0.0 + ebeam_crossing4_2ports_1: + mirror: 0 + rotation: 90 + x: 5.0 + y: 10.5 + straight_1: + mirror: 0 + rotation: 270 + x: -9.0 + y: 15.3 + straight_2: + mirror: 0 + rotation: 0 + x: -4.0 + y: 20.3 +ports: + o1: coupler_ring_1,o1 + o2: coupler_ring_1,o4 diff --git a/tests/test_netlists/test_netlists_spiral_.yml b/tests/test_netlists/test_netlists_spiral_.yml new file mode 100644 index 00000000..583b89e0 --- /dev/null +++ b/tests/test_netlists/test_netlists_spiral_.yml @@ -0,0 +1,3128 @@ +connections: + bend_euler_1,o1: straight_1,o2 + bend_euler_1,o2: straight_2,o1 + bend_euler_10,o1: straight_10,o2 + bend_euler_10,o2: straight_11,o1 + bend_euler_11,o1: straight_11,o2 + bend_euler_11,o2: straight_12,o1 + bend_euler_12,o1: straight_12,o2 + bend_euler_12,o2: straight_13,o1 + bend_euler_13,o1: straight_13,o2 + bend_euler_13,o2: straight_14,o1 + bend_euler_14,o1: straight_14,o2 + bend_euler_14,o2: straight_15,o1 + bend_euler_15,o1: straight_15,o2 + bend_euler_15,o2: straight_16,o1 + bend_euler_16,o1: straight_16,o2 + bend_euler_16,o2: straight_17,o1 + bend_euler_17,o1: straight_17,o2 + bend_euler_17,o2: straight_18,o1 + bend_euler_18,o1: straight_18,o2 + bend_euler_18,o2: straight_19,o1 + bend_euler_19,o1: straight_19,o2 + bend_euler_19,o2: straight_20,o1 + bend_euler_2,o1: straight_2,o2 + bend_euler_2,o2: straight_3,o1 + bend_euler_20,o1: straight_20,o2 + bend_euler_20,o2: straight_21,o1 + bend_euler_21,o1: straight_21,o2 + bend_euler_21,o2: straight_22,o1 + bend_euler_22,o1: straight_22,o2 + bend_euler_22,o2: straight_23,o1 + bend_euler_23,o1: straight_23,o2 + bend_euler_23,o2: straight_24,o1 + bend_euler_24,o1: straight_24,o2 + bend_euler_24,o2: straight_25,o1 + bend_euler_25,o1: straight_25,o2 + bend_euler_25,o2: straight_26,o1 + bend_euler_26,o1: straight_26,o2 + bend_euler_26,o2: straight_27,o1 + bend_euler_27,o1: straight_27,o2 + bend_euler_27,o2: straight_28,o1 + bend_euler_28,o1: straight_28,o2 + bend_euler_28,o2: straight_29,o1 + bend_euler_29,o1: straight_29,o2 + bend_euler_29,o2: straight_30,o1 + bend_euler_3,o1: straight_3,o2 + bend_euler_3,o2: straight_4,o1 + bend_euler_30,o1: straight_30,o2 + bend_euler_30,o2: straight_31,o1 + bend_euler_31,o1: straight_31,o2 + bend_euler_31,o2: straight_32,o1 + bend_euler_32,o1: straight_32,o2 + bend_euler_32,o2: straight_33,o1 + bend_euler_33,o1: straight_33,o2 + bend_euler_33,o2: straight_34,o1 + bend_euler_34,o1: straight_34,o2 + bend_euler_34,o2: straight_35,o1 + bend_euler_35,o1: straight_35,o2 + bend_euler_35,o2: straight_36,o1 + bend_euler_36,o1: straight_36,o2 + bend_euler_36,o2: straight_37,o1 + bend_euler_37,o1: straight_37,o2 + bend_euler_37,o2: straight_38,o1 + bend_euler_38,o1: straight_38,o2 + bend_euler_38,o2: straight_39,o1 + bend_euler_39,o1: straight_39,o2 + bend_euler_39,o2: straight_40,o1 + bend_euler_4,o1: straight_4,o2 + bend_euler_4,o2: straight_5,o1 + bend_euler_40,o1: straight_40,o2 + bend_euler_40,o2: straight_41,o1 + bend_euler_41,o1: straight_41,o2 + bend_euler_41,o2: straight_42,o1 + bend_euler_42,o1: straight_42,o2 + bend_euler_42,o2: straight_43,o1 + bend_euler_43,o1: straight_43,o2 + bend_euler_43,o2: straight_44,o1 + bend_euler_44,o1: straight_44,o2 + bend_euler_44,o2: straight_45,o1 + bend_euler_45,o1: straight_45,o2 + bend_euler_45,o2: straight_46,o1 + bend_euler_46,o1: straight_46,o2 + bend_euler_46,o2: straight_47,o1 + bend_euler_5,o1: straight_5,o2 + bend_euler_5,o2: straight_6,o1 + bend_euler_6,o1: straight_6,o2 + bend_euler_6,o2: straight_7,o1 + bend_euler_7,o1: straight_7,o2 + bend_euler_7,o2: straight_8,o1 + bend_euler_8,o1: straight_8,o2 + bend_euler_8,o2: straight_9,o1 + bend_euler_9,o1: straight_9,o2 + bend_euler_9,o2: straight_10,o1 +instances: + bend_euler_1: + component: bend_euler + info: + dy: 10.0 + length: 16.637 + radius: 10.0 + radius_min: 7.061 + route_info_length: 16.637 + route_info_n_bend_90: 1.0 + route_info_type: xs_sc + route_info_weight: 16.637 + route_info_xs_sc_length: 16.637 + width: 0.5 + settings: + angle: 90.0 + cross_section: xs_sc + direction: ccw + npoints: null + p: 0.5 + radius: null + with_arc_floorplan: true + bend_euler_10: + component: bend_euler + info: + dy: 10.0 + length: 16.637 + radius: 10.0 + radius_min: 7.061 + route_info_length: 16.637 + route_info_n_bend_90: 1.0 + route_info_type: xs_sc + route_info_weight: 16.637 + route_info_xs_sc_length: 16.637 + width: 0.5 + settings: + angle: 90.0 + cross_section: xs_sc + direction: ccw + npoints: null + p: 0.5 + radius: null + with_arc_floorplan: true + bend_euler_11: + component: bend_euler + info: + dy: 10.0 + length: 16.637 + radius: 10.0 + radius_min: 7.061 + route_info_length: 16.637 + route_info_n_bend_90: 1.0 + route_info_type: xs_sc + route_info_weight: 16.637 + route_info_xs_sc_length: 16.637 + width: 0.5 + settings: + angle: 90.0 + cross_section: xs_sc + direction: ccw + npoints: null + p: 0.5 + radius: null + with_arc_floorplan: true + bend_euler_12: + component: bend_euler + info: + dy: 10.0 + length: 16.637 + radius: 10.0 + radius_min: 7.061 + route_info_length: 16.637 + route_info_n_bend_90: 1.0 + route_info_type: xs_sc + route_info_weight: 16.637 + route_info_xs_sc_length: 16.637 + width: 0.5 + settings: + angle: 90.0 + cross_section: xs_sc + direction: ccw + npoints: null + p: 0.5 + radius: null + with_arc_floorplan: true + bend_euler_13: + component: bend_euler + info: + dy: 10.0 + length: 16.637 + radius: 10.0 + radius_min: 7.061 + route_info_length: 16.637 + route_info_n_bend_90: 1.0 + route_info_type: xs_sc + route_info_weight: 16.637 + route_info_xs_sc_length: 16.637 + width: 0.5 + settings: + angle: 90.0 + cross_section: xs_sc + direction: ccw + npoints: null + p: 0.5 + radius: null + with_arc_floorplan: true + bend_euler_14: + component: bend_euler + info: + dy: 10.0 + length: 16.637 + radius: 10.0 + radius_min: 7.061 + route_info_length: 16.637 + route_info_n_bend_90: 1.0 + route_info_type: xs_sc + route_info_weight: 16.637 + route_info_xs_sc_length: 16.637 + width: 0.5 + settings: + angle: 90.0 + cross_section: xs_sc + direction: ccw + npoints: null + p: 0.5 + radius: null + with_arc_floorplan: true + bend_euler_15: + component: bend_euler + info: + dy: 10.0 + length: 16.637 + radius: 10.0 + radius_min: 7.061 + route_info_length: 16.637 + route_info_n_bend_90: 1.0 + route_info_type: xs_sc + route_info_weight: 16.637 + route_info_xs_sc_length: 16.637 + width: 0.5 + settings: + angle: 90.0 + cross_section: xs_sc + direction: ccw + npoints: null + p: 0.5 + radius: null + with_arc_floorplan: true + bend_euler_16: + component: bend_euler + info: + dy: 10.0 + length: 16.637 + radius: 10.0 + radius_min: 7.061 + route_info_length: 16.637 + route_info_n_bend_90: 1.0 + route_info_type: xs_sc + route_info_weight: 16.637 + route_info_xs_sc_length: 16.637 + width: 0.5 + settings: + angle: 90.0 + cross_section: xs_sc + direction: ccw + npoints: null + p: 0.5 + radius: null + with_arc_floorplan: true + bend_euler_17: + component: bend_euler + info: + dy: 10.0 + length: 16.637 + radius: 10.0 + radius_min: 7.061 + route_info_length: 16.637 + route_info_n_bend_90: 1.0 + route_info_type: xs_sc + route_info_weight: 16.637 + route_info_xs_sc_length: 16.637 + width: 0.5 + settings: + angle: 90.0 + cross_section: xs_sc + direction: ccw + npoints: null + p: 0.5 + radius: null + with_arc_floorplan: true + bend_euler_18: + component: bend_euler + info: + dy: 10.0 + length: 16.637 + radius: 10.0 + radius_min: 7.061 + route_info_length: 16.637 + route_info_n_bend_90: 1.0 + route_info_type: xs_sc + route_info_weight: 16.637 + route_info_xs_sc_length: 16.637 + width: 0.5 + settings: + angle: 90.0 + cross_section: xs_sc + direction: ccw + npoints: null + p: 0.5 + radius: null + with_arc_floorplan: true + bend_euler_19: + component: bend_euler + info: + dy: 10.0 + length: 16.637 + radius: 10.0 + radius_min: 7.061 + route_info_length: 16.637 + route_info_n_bend_90: 1.0 + route_info_type: xs_sc + route_info_weight: 16.637 + route_info_xs_sc_length: 16.637 + width: 0.5 + settings: + angle: 90.0 + cross_section: xs_sc + direction: ccw + npoints: null + p: 0.5 + radius: null + with_arc_floorplan: true + bend_euler_2: + component: bend_euler + info: + dy: 10.0 + length: 16.637 + radius: 10.0 + radius_min: 7.061 + route_info_length: 16.637 + route_info_n_bend_90: 1.0 + route_info_type: xs_sc + route_info_weight: 16.637 + route_info_xs_sc_length: 16.637 + width: 0.5 + settings: + angle: 90.0 + cross_section: xs_sc + direction: ccw + npoints: null + p: 0.5 + radius: null + with_arc_floorplan: true + bend_euler_20: + component: bend_euler + info: + dy: 10.0 + length: 16.637 + radius: 10.0 + radius_min: 7.061 + route_info_length: 16.637 + route_info_n_bend_90: 1.0 + route_info_type: xs_sc + route_info_weight: 16.637 + route_info_xs_sc_length: 16.637 + width: 0.5 + settings: + angle: 90.0 + cross_section: xs_sc + direction: ccw + npoints: null + p: 0.5 + radius: null + with_arc_floorplan: true + bend_euler_21: + component: bend_euler + info: + dy: 10.0 + length: 16.637 + radius: 10.0 + radius_min: 7.061 + route_info_length: 16.637 + route_info_n_bend_90: 1.0 + route_info_type: xs_sc + route_info_weight: 16.637 + route_info_xs_sc_length: 16.637 + width: 0.5 + settings: + angle: 90.0 + cross_section: xs_sc + direction: ccw + npoints: null + p: 0.5 + radius: null + with_arc_floorplan: true + bend_euler_22: + component: bend_euler + info: + dy: 10.0 + length: 16.637 + radius: 10.0 + radius_min: 7.061 + route_info_length: 16.637 + route_info_n_bend_90: 1.0 + route_info_type: xs_sc + route_info_weight: 16.637 + route_info_xs_sc_length: 16.637 + width: 0.5 + settings: + angle: 90.0 + cross_section: xs_sc + direction: ccw + npoints: null + p: 0.5 + radius: null + with_arc_floorplan: true + bend_euler_23: + component: bend_euler + info: + dy: 10.0 + length: 16.637 + radius: 10.0 + radius_min: 7.061 + route_info_length: 16.637 + route_info_n_bend_90: 1.0 + route_info_type: xs_sc + route_info_weight: 16.637 + route_info_xs_sc_length: 16.637 + width: 0.5 + settings: + angle: 90.0 + cross_section: xs_sc + direction: ccw + npoints: null + p: 0.5 + radius: null + with_arc_floorplan: true + bend_euler_24: + component: bend_euler + info: + dy: 10.0 + length: 16.637 + radius: 10.0 + radius_min: 7.061 + route_info_length: 16.637 + route_info_n_bend_90: 1.0 + route_info_type: xs_sc + route_info_weight: 16.637 + route_info_xs_sc_length: 16.637 + width: 0.5 + settings: + angle: 90.0 + cross_section: xs_sc + direction: ccw + npoints: null + p: 0.5 + radius: null + with_arc_floorplan: true + bend_euler_25: + component: bend_euler + info: + dy: 10.0 + length: 16.637 + radius: 10.0 + radius_min: 7.061 + route_info_length: 16.637 + route_info_n_bend_90: 1.0 + route_info_type: xs_sc + route_info_weight: 16.637 + route_info_xs_sc_length: 16.637 + width: 0.5 + settings: + angle: 90.0 + cross_section: xs_sc + direction: ccw + npoints: null + p: 0.5 + radius: null + with_arc_floorplan: true + bend_euler_26: + component: bend_euler + info: + dy: 10.0 + length: 16.637 + radius: 10.0 + radius_min: 7.061 + route_info_length: 16.637 + route_info_n_bend_90: 1.0 + route_info_type: xs_sc + route_info_weight: 16.637 + route_info_xs_sc_length: 16.637 + width: 0.5 + settings: + angle: 90.0 + cross_section: xs_sc + direction: ccw + npoints: null + p: 0.5 + radius: null + with_arc_floorplan: true + bend_euler_27: + component: bend_euler + info: + dy: 10.0 + length: 16.637 + radius: 10.0 + radius_min: 7.061 + route_info_length: 16.637 + route_info_n_bend_90: 1.0 + route_info_type: xs_sc + route_info_weight: 16.637 + route_info_xs_sc_length: 16.637 + width: 0.5 + settings: + angle: 90.0 + cross_section: xs_sc + direction: ccw + npoints: null + p: 0.5 + radius: null + with_arc_floorplan: true + bend_euler_28: + component: bend_euler + info: + dy: 10.0 + length: 16.637 + radius: 10.0 + radius_min: 7.061 + route_info_length: 16.637 + route_info_n_bend_90: 1.0 + route_info_type: xs_sc + route_info_weight: 16.637 + route_info_xs_sc_length: 16.637 + width: 0.5 + settings: + angle: 90.0 + cross_section: xs_sc + direction: ccw + npoints: null + p: 0.5 + radius: null + with_arc_floorplan: true + bend_euler_29: + component: bend_euler + info: + dy: 10.0 + length: 16.637 + radius: 10.0 + radius_min: 7.061 + route_info_length: 16.637 + route_info_n_bend_90: 1.0 + route_info_type: xs_sc + route_info_weight: 16.637 + route_info_xs_sc_length: 16.637 + width: 0.5 + settings: + angle: 90.0 + cross_section: xs_sc + direction: ccw + npoints: null + p: 0.5 + radius: null + with_arc_floorplan: true + bend_euler_3: + component: bend_euler + info: + dy: 10.0 + length: 16.637 + radius: 10.0 + radius_min: 7.061 + route_info_length: 16.637 + route_info_n_bend_90: 1.0 + route_info_type: xs_sc + route_info_weight: 16.637 + route_info_xs_sc_length: 16.637 + width: 0.5 + settings: + angle: 90.0 + cross_section: xs_sc + direction: ccw + npoints: null + p: 0.5 + radius: null + with_arc_floorplan: true + bend_euler_30: + component: bend_euler + info: + dy: 10.0 + length: 16.637 + radius: 10.0 + radius_min: 7.061 + route_info_length: 16.637 + route_info_n_bend_90: 1.0 + route_info_type: xs_sc + route_info_weight: 16.637 + route_info_xs_sc_length: 16.637 + width: 0.5 + settings: + angle: 90.0 + cross_section: xs_sc + direction: ccw + npoints: null + p: 0.5 + radius: null + with_arc_floorplan: true + bend_euler_31: + component: bend_euler + info: + dy: 10.0 + length: 16.637 + radius: 10.0 + radius_min: 7.061 + route_info_length: 16.637 + route_info_n_bend_90: 1.0 + route_info_type: xs_sc + route_info_weight: 16.637 + route_info_xs_sc_length: 16.637 + width: 0.5 + settings: + angle: 90.0 + cross_section: xs_sc + direction: ccw + npoints: null + p: 0.5 + radius: null + with_arc_floorplan: true + bend_euler_32: + component: bend_euler + info: + dy: 10.0 + length: 16.637 + radius: 10.0 + radius_min: 7.061 + route_info_length: 16.637 + route_info_n_bend_90: 1.0 + route_info_type: xs_sc + route_info_weight: 16.637 + route_info_xs_sc_length: 16.637 + width: 0.5 + settings: + angle: 90.0 + cross_section: xs_sc + direction: ccw + npoints: null + p: 0.5 + radius: null + with_arc_floorplan: true + bend_euler_33: + component: bend_euler + info: + dy: 10.0 + length: 16.637 + radius: 10.0 + radius_min: 7.061 + route_info_length: 16.637 + route_info_n_bend_90: 1.0 + route_info_type: xs_sc + route_info_weight: 16.637 + route_info_xs_sc_length: 16.637 + width: 0.5 + settings: + angle: 90.0 + cross_section: xs_sc + direction: ccw + npoints: null + p: 0.5 + radius: null + with_arc_floorplan: true + bend_euler_34: + component: bend_euler + info: + dy: 10.0 + length: 16.637 + radius: 10.0 + radius_min: 7.061 + route_info_length: 16.637 + route_info_n_bend_90: 1.0 + route_info_type: xs_sc + route_info_weight: 16.637 + route_info_xs_sc_length: 16.637 + width: 0.5 + settings: + angle: 90.0 + cross_section: xs_sc + direction: ccw + npoints: null + p: 0.5 + radius: null + with_arc_floorplan: true + bend_euler_35: + component: bend_euler + info: + dy: 10.0 + length: 16.637 + radius: 10.0 + radius_min: 7.061 + route_info_length: 16.637 + route_info_n_bend_90: 1.0 + route_info_type: xs_sc + route_info_weight: 16.637 + route_info_xs_sc_length: 16.637 + width: 0.5 + settings: + angle: 90.0 + cross_section: xs_sc + direction: ccw + npoints: null + p: 0.5 + radius: null + with_arc_floorplan: true + bend_euler_36: + component: bend_euler + info: + dy: 10.0 + length: 16.637 + radius: 10.0 + radius_min: 7.061 + route_info_length: 16.637 + route_info_n_bend_90: 1.0 + route_info_type: xs_sc + route_info_weight: 16.637 + route_info_xs_sc_length: 16.637 + width: 0.5 + settings: + angle: 90.0 + cross_section: xs_sc + direction: ccw + npoints: null + p: 0.5 + radius: null + with_arc_floorplan: true + bend_euler_37: + component: bend_euler + info: + dy: 10.0 + length: 16.637 + radius: 10.0 + radius_min: 7.061 + route_info_length: 16.637 + route_info_n_bend_90: 1.0 + route_info_type: xs_sc + route_info_weight: 16.637 + route_info_xs_sc_length: 16.637 + width: 0.5 + settings: + angle: 90.0 + cross_section: xs_sc + direction: ccw + npoints: null + p: 0.5 + radius: null + with_arc_floorplan: true + bend_euler_38: + component: bend_euler + info: + dy: 10.0 + length: 16.637 + radius: 10.0 + radius_min: 7.061 + route_info_length: 16.637 + route_info_n_bend_90: 1.0 + route_info_type: xs_sc + route_info_weight: 16.637 + route_info_xs_sc_length: 16.637 + width: 0.5 + settings: + angle: 90.0 + cross_section: xs_sc + direction: ccw + npoints: null + p: 0.5 + radius: null + with_arc_floorplan: true + bend_euler_39: + component: bend_euler + info: + dy: 10.0 + length: 16.637 + radius: 10.0 + radius_min: 7.061 + route_info_length: 16.637 + route_info_n_bend_90: 1.0 + route_info_type: xs_sc + route_info_weight: 16.637 + route_info_xs_sc_length: 16.637 + width: 0.5 + settings: + angle: 90.0 + cross_section: xs_sc + direction: ccw + npoints: null + p: 0.5 + radius: null + with_arc_floorplan: true + bend_euler_4: + component: bend_euler + info: + dy: 10.0 + length: 16.637 + radius: 10.0 + radius_min: 7.061 + route_info_length: 16.637 + route_info_n_bend_90: 1.0 + route_info_type: xs_sc + route_info_weight: 16.637 + route_info_xs_sc_length: 16.637 + width: 0.5 + settings: + angle: 90.0 + cross_section: xs_sc + direction: ccw + npoints: null + p: 0.5 + radius: null + with_arc_floorplan: true + bend_euler_40: + component: bend_euler + info: + dy: 10.0 + length: 16.637 + radius: 10.0 + radius_min: 7.061 + route_info_length: 16.637 + route_info_n_bend_90: 1.0 + route_info_type: xs_sc + route_info_weight: 16.637 + route_info_xs_sc_length: 16.637 + width: 0.5 + settings: + angle: 90.0 + cross_section: xs_sc + direction: ccw + npoints: null + p: 0.5 + radius: null + with_arc_floorplan: true + bend_euler_41: + component: bend_euler + info: + dy: 10.0 + length: 16.637 + radius: 10.0 + radius_min: 7.061 + route_info_length: 16.637 + route_info_n_bend_90: 1.0 + route_info_type: xs_sc + route_info_weight: 16.637 + route_info_xs_sc_length: 16.637 + width: 0.5 + settings: + angle: 90.0 + cross_section: xs_sc + direction: ccw + npoints: null + p: 0.5 + radius: null + with_arc_floorplan: true + bend_euler_42: + component: bend_euler + info: + dy: 10.0 + length: 16.637 + radius: 10.0 + radius_min: 7.061 + route_info_length: 16.637 + route_info_n_bend_90: 1.0 + route_info_type: xs_sc + route_info_weight: 16.637 + route_info_xs_sc_length: 16.637 + width: 0.5 + settings: + angle: 90.0 + cross_section: xs_sc + direction: ccw + npoints: null + p: 0.5 + radius: null + with_arc_floorplan: true + bend_euler_43: + component: bend_euler + info: + dy: 10.0 + length: 16.637 + radius: 10.0 + radius_min: 7.061 + route_info_length: 16.637 + route_info_n_bend_90: 1.0 + route_info_type: xs_sc + route_info_weight: 16.637 + route_info_xs_sc_length: 16.637 + width: 0.5 + settings: + angle: 90.0 + cross_section: xs_sc + direction: ccw + npoints: null + p: 0.5 + radius: null + with_arc_floorplan: true + bend_euler_44: + component: bend_euler + info: + dy: 10.0 + length: 16.637 + radius: 10.0 + radius_min: 7.061 + route_info_length: 16.637 + route_info_n_bend_90: 1.0 + route_info_type: xs_sc + route_info_weight: 16.637 + route_info_xs_sc_length: 16.637 + width: 0.5 + settings: + angle: 90.0 + cross_section: xs_sc + direction: ccw + npoints: null + p: 0.5 + radius: null + with_arc_floorplan: true + bend_euler_45: + component: bend_euler + info: + dy: 10.0 + length: 16.637 + radius: 10.0 + radius_min: 7.061 + route_info_length: 16.637 + route_info_n_bend_90: 1.0 + route_info_type: xs_sc + route_info_weight: 16.637 + route_info_xs_sc_length: 16.637 + width: 0.5 + settings: + angle: 90.0 + cross_section: xs_sc + direction: ccw + npoints: null + p: 0.5 + radius: null + with_arc_floorplan: true + bend_euler_46: + component: bend_euler + info: + dy: 10.0 + length: 16.637 + radius: 10.0 + radius_min: 7.061 + route_info_length: 16.637 + route_info_n_bend_90: 1.0 + route_info_type: xs_sc + route_info_weight: 16.637 + route_info_xs_sc_length: 16.637 + width: 0.5 + settings: + angle: 90.0 + cross_section: xs_sc + direction: ccw + npoints: null + p: 0.5 + radius: null + with_arc_floorplan: true + bend_euler_5: + component: bend_euler + info: + dy: 10.0 + length: 16.637 + radius: 10.0 + radius_min: 7.061 + route_info_length: 16.637 + route_info_n_bend_90: 1.0 + route_info_type: xs_sc + route_info_weight: 16.637 + route_info_xs_sc_length: 16.637 + width: 0.5 + settings: + angle: 90.0 + cross_section: xs_sc + direction: ccw + npoints: null + p: 0.5 + radius: null + with_arc_floorplan: true + bend_euler_6: + component: bend_euler + info: + dy: 10.0 + length: 16.637 + radius: 10.0 + radius_min: 7.061 + route_info_length: 16.637 + route_info_n_bend_90: 1.0 + route_info_type: xs_sc + route_info_weight: 16.637 + route_info_xs_sc_length: 16.637 + width: 0.5 + settings: + angle: 90.0 + cross_section: xs_sc + direction: ccw + npoints: null + p: 0.5 + radius: null + with_arc_floorplan: true + bend_euler_7: + component: bend_euler + info: + dy: 10.0 + length: 16.637 + radius: 10.0 + radius_min: 7.061 + route_info_length: 16.637 + route_info_n_bend_90: 1.0 + route_info_type: xs_sc + route_info_weight: 16.637 + route_info_xs_sc_length: 16.637 + width: 0.5 + settings: + angle: 90.0 + cross_section: xs_sc + direction: ccw + npoints: null + p: 0.5 + radius: null + with_arc_floorplan: true + bend_euler_8: + component: bend_euler + info: + dy: 10.0 + length: 16.637 + radius: 10.0 + radius_min: 7.061 + route_info_length: 16.637 + route_info_n_bend_90: 1.0 + route_info_type: xs_sc + route_info_weight: 16.637 + route_info_xs_sc_length: 16.637 + width: 0.5 + settings: + angle: 90.0 + cross_section: xs_sc + direction: ccw + npoints: null + p: 0.5 + radius: null + with_arc_floorplan: true + bend_euler_9: + component: bend_euler + info: + dy: 10.0 + length: 16.637 + radius: 10.0 + radius_min: 7.061 + route_info_length: 16.637 + route_info_n_bend_90: 1.0 + route_info_type: xs_sc + route_info_weight: 16.637 + route_info_xs_sc_length: 16.637 + width: 0.5 + settings: + angle: 90.0 + cross_section: xs_sc + direction: ccw + npoints: null + p: 0.5 + radius: null + with_arc_floorplan: true + straight_1: + component: straight + info: + length: 84.0 + route_info_length: 84.0 + route_info_type: xs_sc + route_info_weight: 84.0 + route_info_xs_sc_length: 84.0 + width: 0.5 + settings: + cross_section: + bbox_layers: null + bbox_offsets: null + components_along_path: [] + radius: 10.0 + radius_min: 5.0 + sections: + - hidden: false + insets: null + layer: WG + name: _default + offset: 0.0 + offset_function: null + port_names: + - o1 + - o2 + port_types: + - optical + - optical + simplify: null + width: 0.5 + width_function: null + length: 84.0 + npoints: 2 + straight_10: + component: straight + info: + length: 369.0 + route_info_length: 369.0 + route_info_type: xs_sc + route_info_weight: 369.0 + route_info_xs_sc_length: 369.0 + width: 0.5 + settings: + cross_section: + bbox_layers: null + bbox_offsets: null + components_along_path: [] + radius: 10.0 + radius_min: 5.0 + sections: + - hidden: false + insets: null + layer: WG + name: _default + offset: 0.0 + offset_function: null + port_names: + - o1 + - o2 + port_types: + - optical + - optical + simplify: null + width: 0.5 + width_function: null + length: 369.0 + npoints: 2 + straight_11: + component: straight + info: + length: 44.0 + route_info_length: 44.0 + route_info_type: xs_sc + route_info_weight: 44.0 + route_info_xs_sc_length: 44.0 + width: 0.5 + settings: + cross_section: + bbox_layers: null + bbox_offsets: null + components_along_path: [] + radius: 10.0 + radius_min: 5.0 + sections: + - hidden: false + insets: null + layer: WG + name: _default + offset: 0.0 + offset_function: null + port_names: + - o1 + - o2 + port_types: + - optical + - optical + simplify: null + width: 0.5 + width_function: null + length: 44.0 + npoints: 2 + straight_12: + component: straight + info: + length: 363.0 + route_info_length: 363.0 + route_info_type: xs_sc + route_info_weight: 363.0 + route_info_xs_sc_length: 363.0 + width: 0.5 + settings: + cross_section: + bbox_layers: null + bbox_offsets: null + components_along_path: [] + radius: 10.0 + radius_min: 5.0 + sections: + - hidden: false + insets: null + layer: WG + name: _default + offset: 0.0 + offset_function: null + port_names: + - o1 + - o2 + port_types: + - optical + - optical + simplify: null + width: 0.5 + width_function: null + length: 363.0 + npoints: 2 + straight_13: + component: straight + info: + length: 38.0 + route_info_length: 38.0 + route_info_type: xs_sc + route_info_weight: 38.0 + route_info_xs_sc_length: 38.0 + width: 0.5 + settings: + cross_section: + bbox_layers: null + bbox_offsets: null + components_along_path: [] + radius: 10.0 + radius_min: 5.0 + sections: + - hidden: false + insets: null + layer: WG + name: _default + offset: 0.0 + offset_function: null + port_names: + - o1 + - o2 + port_types: + - optical + - optical + simplify: null + width: 0.5 + width_function: null + length: 38.0 + npoints: 2 + straight_14: + component: straight + info: + length: 357.0 + route_info_length: 357.0 + route_info_type: xs_sc + route_info_weight: 357.0 + route_info_xs_sc_length: 357.0 + width: 0.5 + settings: + cross_section: + bbox_layers: null + bbox_offsets: null + components_along_path: [] + radius: 10.0 + radius_min: 5.0 + sections: + - hidden: false + insets: null + layer: WG + name: _default + offset: 0.0 + offset_function: null + port_names: + - o1 + - o2 + port_types: + - optical + - optical + simplify: null + width: 0.5 + width_function: null + length: 357.0 + npoints: 2 + straight_15: + component: straight + info: + length: 32.0 + route_info_length: 32.0 + route_info_type: xs_sc + route_info_weight: 32.0 + route_info_xs_sc_length: 32.0 + width: 0.5 + settings: + cross_section: + bbox_layers: null + bbox_offsets: null + components_along_path: [] + radius: 10.0 + radius_min: 5.0 + sections: + - hidden: false + insets: null + layer: WG + name: _default + offset: 0.0 + offset_function: null + port_names: + - o1 + - o2 + port_types: + - optical + - optical + simplify: null + width: 0.5 + width_function: null + length: 32.0 + npoints: 2 + straight_16: + component: straight + info: + length: 351.0 + route_info_length: 351.0 + route_info_type: xs_sc + route_info_weight: 351.0 + route_info_xs_sc_length: 351.0 + width: 0.5 + settings: + cross_section: + bbox_layers: null + bbox_offsets: null + components_along_path: [] + radius: 10.0 + radius_min: 5.0 + sections: + - hidden: false + insets: null + layer: WG + name: _default + offset: 0.0 + offset_function: null + port_names: + - o1 + - o2 + port_types: + - optical + - optical + simplify: null + width: 0.5 + width_function: null + length: 351.0 + npoints: 2 + straight_17: + component: straight + info: + length: 26.0 + route_info_length: 26.0 + route_info_type: xs_sc + route_info_weight: 26.0 + route_info_xs_sc_length: 26.0 + width: 0.5 + settings: + cross_section: + bbox_layers: null + bbox_offsets: null + components_along_path: [] + radius: 10.0 + radius_min: 5.0 + sections: + - hidden: false + insets: null + layer: WG + name: _default + offset: 0.0 + offset_function: null + port_names: + - o1 + - o2 + port_types: + - optical + - optical + simplify: null + width: 0.5 + width_function: null + length: 26.0 + npoints: 2 + straight_18: + component: straight + info: + length: 345.0 + route_info_length: 345.0 + route_info_type: xs_sc + route_info_weight: 345.0 + route_info_xs_sc_length: 345.0 + width: 0.5 + settings: + cross_section: + bbox_layers: null + bbox_offsets: null + components_along_path: [] + radius: 10.0 + radius_min: 5.0 + sections: + - hidden: false + insets: null + layer: WG + name: _default + offset: 0.0 + offset_function: null + port_names: + - o1 + - o2 + port_types: + - optical + - optical + simplify: null + width: 0.5 + width_function: null + length: 345.0 + npoints: 2 + straight_19: + component: straight + info: + length: 20.0 + route_info_length: 20.0 + route_info_type: xs_sc + route_info_weight: 20.0 + route_info_xs_sc_length: 20.0 + width: 0.5 + settings: + cross_section: + bbox_layers: null + bbox_offsets: null + components_along_path: [] + radius: 10.0 + radius_min: 5.0 + sections: + - hidden: false + insets: null + layer: WG + name: _default + offset: 0.0 + offset_function: null + port_names: + - o1 + - o2 + port_types: + - optical + - optical + simplify: null + width: 0.5 + width_function: null + length: 20.0 + npoints: 2 + straight_2: + component: straight + info: + length: 393.0 + route_info_length: 393.0 + route_info_type: xs_sc + route_info_weight: 393.0 + route_info_xs_sc_length: 393.0 + width: 0.5 + settings: + cross_section: + bbox_layers: null + bbox_offsets: null + components_along_path: [] + radius: 10.0 + radius_min: 5.0 + sections: + - hidden: false + insets: null + layer: WG + name: _default + offset: 0.0 + offset_function: null + port_names: + - o1 + - o2 + port_types: + - optical + - optical + simplify: null + width: 0.5 + width_function: null + length: 393.0 + npoints: 2 + straight_20: + component: straight + info: + length: 339.0 + route_info_length: 339.0 + route_info_type: xs_sc + route_info_weight: 339.0 + route_info_xs_sc_length: 339.0 + width: 0.5 + settings: + cross_section: + bbox_layers: null + bbox_offsets: null + components_along_path: [] + radius: 10.0 + radius_min: 5.0 + sections: + - hidden: false + insets: null + layer: WG + name: _default + offset: 0.0 + offset_function: null + port_names: + - o1 + - o2 + port_types: + - optical + - optical + simplify: null + width: 0.5 + width_function: null + length: 339.0 + npoints: 2 + straight_21: + component: straight + info: + length: 14.0 + route_info_length: 14.0 + route_info_type: xs_sc + route_info_weight: 14.0 + route_info_xs_sc_length: 14.0 + width: 0.5 + settings: + cross_section: + bbox_layers: null + bbox_offsets: null + components_along_path: [] + radius: 10.0 + radius_min: 5.0 + sections: + - hidden: false + insets: null + layer: WG + name: _default + offset: 0.0 + offset_function: null + port_names: + - o1 + - o2 + port_types: + - optical + - optical + simplify: null + width: 0.5 + width_function: null + length: 14.0 + npoints: 2 + straight_22: + component: straight + info: + length: 33.0 + route_info_length: 33.0 + route_info_type: xs_sc + route_info_weight: 33.0 + route_info_xs_sc_length: 33.0 + width: 0.5 + settings: + cross_section: + bbox_layers: null + bbox_offsets: null + components_along_path: [] + radius: 10.0 + radius_min: 5.0 + sections: + - hidden: false + insets: null + layer: WG + name: _default + offset: 0.0 + offset_function: null + port_names: + - o1 + - o2 + port_types: + - optical + - optical + simplify: null + width: 0.5 + width_function: null + length: 33.0 + npoints: 2 + straight_23: + component: straight + info: + length: 8.0 + route_info_length: 8.0 + route_info_type: xs_sc + route_info_weight: 8.0 + route_info_xs_sc_length: 8.0 + width: 0.5 + settings: + cross_section: + bbox_layers: null + bbox_offsets: null + components_along_path: [] + radius: 10.0 + radius_min: 5.0 + sections: + - hidden: false + insets: null + layer: WG + name: _default + offset: 0.0 + offset_function: null + port_names: + - o1 + - o2 + port_types: + - optical + - optical + simplify: null + width: 0.5 + width_function: null + length: 8.0 + npoints: 2 + straight_24: + component: straight + info: + length: 5.0 + route_info_length: 5.0 + route_info_type: xs_sc + route_info_weight: 5.0 + route_info_xs_sc_length: 5.0 + width: 0.5 + settings: + cross_section: + bbox_layers: null + bbox_offsets: null + components_along_path: [] + radius: 10.0 + radius_min: 5.0 + sections: + - hidden: false + insets: null + layer: WG + name: _default + offset: 0.0 + offset_function: null + port_names: + - o1 + - o2 + port_types: + - optical + - optical + simplify: null + width: 0.5 + width_function: null + length: 5.0 + npoints: 2 + straight_25: + component: straight + info: + length: 5.0 + route_info_length: 5.0 + route_info_type: xs_sc + route_info_weight: 5.0 + route_info_xs_sc_length: 5.0 + width: 0.5 + settings: + cross_section: + bbox_layers: null + bbox_offsets: null + components_along_path: [] + radius: 10.0 + radius_min: 5.0 + sections: + - hidden: false + insets: null + layer: WG + name: _default + offset: 0.0 + offset_function: null + port_names: + - o1 + - o2 + port_types: + - optical + - optical + simplify: null + width: 0.5 + width_function: null + length: 5.0 + npoints: 2 + straight_26: + component: straight + info: + length: 5.0 + route_info_length: 5.0 + route_info_type: xs_sc + route_info_weight: 5.0 + route_info_xs_sc_length: 5.0 + width: 0.5 + settings: + cross_section: + bbox_layers: null + bbox_offsets: null + components_along_path: [] + radius: 10.0 + radius_min: 5.0 + sections: + - hidden: false + insets: null + layer: WG + name: _default + offset: 0.0 + offset_function: null + port_names: + - o1 + - o2 + port_types: + - optical + - optical + simplify: null + width: 0.5 + width_function: null + length: 5.0 + npoints: 2 + straight_27: + component: straight + info: + length: 8.0 + route_info_length: 8.0 + route_info_type: xs_sc + route_info_weight: 8.0 + route_info_xs_sc_length: 8.0 + width: 0.5 + settings: + cross_section: + bbox_layers: null + bbox_offsets: null + components_along_path: [] + radius: 10.0 + radius_min: 5.0 + sections: + - hidden: false + insets: null + layer: WG + name: _default + offset: 0.0 + offset_function: null + port_names: + - o1 + - o2 + port_types: + - optical + - optical + simplify: null + width: 0.5 + width_function: null + length: 8.0 + npoints: 2 + straight_28: + component: straight + info: + length: 333.0 + route_info_length: 333.0 + route_info_type: xs_sc + route_info_weight: 333.0 + route_info_xs_sc_length: 333.0 + width: 0.5 + settings: + cross_section: + bbox_layers: null + bbox_offsets: null + components_along_path: [] + radius: 10.0 + radius_min: 5.0 + sections: + - hidden: false + insets: null + layer: WG + name: _default + offset: 0.0 + offset_function: null + port_names: + - o1 + - o2 + port_types: + - optical + - optical + simplify: null + width: 0.5 + width_function: null + length: 333.0 + npoints: 2 + straight_29: + component: straight + info: + length: 14.0 + route_info_length: 14.0 + route_info_type: xs_sc + route_info_weight: 14.0 + route_info_xs_sc_length: 14.0 + width: 0.5 + settings: + cross_section: + bbox_layers: null + bbox_offsets: null + components_along_path: [] + radius: 10.0 + radius_min: 5.0 + sections: + - hidden: false + insets: null + layer: WG + name: _default + offset: 0.0 + offset_function: null + port_names: + - o1 + - o2 + port_types: + - optical + - optical + simplify: null + width: 0.5 + width_function: null + length: 14.0 + npoints: 2 + straight_3: + component: straight + info: + length: 68.0 + route_info_length: 68.0 + route_info_type: xs_sc + route_info_weight: 68.0 + route_info_xs_sc_length: 68.0 + width: 0.5 + settings: + cross_section: + bbox_layers: null + bbox_offsets: null + components_along_path: [] + radius: 10.0 + radius_min: 5.0 + sections: + - hidden: false + insets: null + layer: WG + name: _default + offset: 0.0 + offset_function: null + port_names: + - o1 + - o2 + port_types: + - optical + - optical + simplify: null + width: 0.5 + width_function: null + length: 68.0 + npoints: 2 + straight_30: + component: straight + info: + length: 339.0 + route_info_length: 339.0 + route_info_type: xs_sc + route_info_weight: 339.0 + route_info_xs_sc_length: 339.0 + width: 0.5 + settings: + cross_section: + bbox_layers: null + bbox_offsets: null + components_along_path: [] + radius: 10.0 + radius_min: 5.0 + sections: + - hidden: false + insets: null + layer: WG + name: _default + offset: 0.0 + offset_function: null + port_names: + - o1 + - o2 + port_types: + - optical + - optical + simplify: null + width: 0.5 + width_function: null + length: 339.0 + npoints: 2 + straight_31: + component: straight + info: + length: 20.0 + route_info_length: 20.0 + route_info_type: xs_sc + route_info_weight: 20.0 + route_info_xs_sc_length: 20.0 + width: 0.5 + settings: + cross_section: + bbox_layers: null + bbox_offsets: null + components_along_path: [] + radius: 10.0 + radius_min: 5.0 + sections: + - hidden: false + insets: null + layer: WG + name: _default + offset: 0.0 + offset_function: null + port_names: + - o1 + - o2 + port_types: + - optical + - optical + simplify: null + width: 0.5 + width_function: null + length: 20.0 + npoints: 2 + straight_32: + component: straight + info: + length: 345.0 + route_info_length: 345.0 + route_info_type: xs_sc + route_info_weight: 345.0 + route_info_xs_sc_length: 345.0 + width: 0.5 + settings: + cross_section: + bbox_layers: null + bbox_offsets: null + components_along_path: [] + radius: 10.0 + radius_min: 5.0 + sections: + - hidden: false + insets: null + layer: WG + name: _default + offset: 0.0 + offset_function: null + port_names: + - o1 + - o2 + port_types: + - optical + - optical + simplify: null + width: 0.5 + width_function: null + length: 345.0 + npoints: 2 + straight_33: + component: straight + info: + length: 26.0 + route_info_length: 26.0 + route_info_type: xs_sc + route_info_weight: 26.0 + route_info_xs_sc_length: 26.0 + width: 0.5 + settings: + cross_section: + bbox_layers: null + bbox_offsets: null + components_along_path: [] + radius: 10.0 + radius_min: 5.0 + sections: + - hidden: false + insets: null + layer: WG + name: _default + offset: 0.0 + offset_function: null + port_names: + - o1 + - o2 + port_types: + - optical + - optical + simplify: null + width: 0.5 + width_function: null + length: 26.0 + npoints: 2 + straight_34: + component: straight + info: + length: 351.0 + route_info_length: 351.0 + route_info_type: xs_sc + route_info_weight: 351.0 + route_info_xs_sc_length: 351.0 + width: 0.5 + settings: + cross_section: + bbox_layers: null + bbox_offsets: null + components_along_path: [] + radius: 10.0 + radius_min: 5.0 + sections: + - hidden: false + insets: null + layer: WG + name: _default + offset: 0.0 + offset_function: null + port_names: + - o1 + - o2 + port_types: + - optical + - optical + simplify: null + width: 0.5 + width_function: null + length: 351.0 + npoints: 2 + straight_35: + component: straight + info: + length: 32.0 + route_info_length: 32.0 + route_info_type: xs_sc + route_info_weight: 32.0 + route_info_xs_sc_length: 32.0 + width: 0.5 + settings: + cross_section: + bbox_layers: null + bbox_offsets: null + components_along_path: [] + radius: 10.0 + radius_min: 5.0 + sections: + - hidden: false + insets: null + layer: WG + name: _default + offset: 0.0 + offset_function: null + port_names: + - o1 + - o2 + port_types: + - optical + - optical + simplify: null + width: 0.5 + width_function: null + length: 32.0 + npoints: 2 + straight_36: + component: straight + info: + length: 357.0 + route_info_length: 357.0 + route_info_type: xs_sc + route_info_weight: 357.0 + route_info_xs_sc_length: 357.0 + width: 0.5 + settings: + cross_section: + bbox_layers: null + bbox_offsets: null + components_along_path: [] + radius: 10.0 + radius_min: 5.0 + sections: + - hidden: false + insets: null + layer: WG + name: _default + offset: 0.0 + offset_function: null + port_names: + - o1 + - o2 + port_types: + - optical + - optical + simplify: null + width: 0.5 + width_function: null + length: 357.0 + npoints: 2 + straight_37: + component: straight + info: + length: 38.0 + route_info_length: 38.0 + route_info_type: xs_sc + route_info_weight: 38.0 + route_info_xs_sc_length: 38.0 + width: 0.5 + settings: + cross_section: + bbox_layers: null + bbox_offsets: null + components_along_path: [] + radius: 10.0 + radius_min: 5.0 + sections: + - hidden: false + insets: null + layer: WG + name: _default + offset: 0.0 + offset_function: null + port_names: + - o1 + - o2 + port_types: + - optical + - optical + simplify: null + width: 0.5 + width_function: null + length: 38.0 + npoints: 2 + straight_38: + component: straight + info: + length: 363.0 + route_info_length: 363.0 + route_info_type: xs_sc + route_info_weight: 363.0 + route_info_xs_sc_length: 363.0 + width: 0.5 + settings: + cross_section: + bbox_layers: null + bbox_offsets: null + components_along_path: [] + radius: 10.0 + radius_min: 5.0 + sections: + - hidden: false + insets: null + layer: WG + name: _default + offset: 0.0 + offset_function: null + port_names: + - o1 + - o2 + port_types: + - optical + - optical + simplify: null + width: 0.5 + width_function: null + length: 363.0 + npoints: 2 + straight_39: + component: straight + info: + length: 44.0 + route_info_length: 44.0 + route_info_type: xs_sc + route_info_weight: 44.0 + route_info_xs_sc_length: 44.0 + width: 0.5 + settings: + cross_section: + bbox_layers: null + bbox_offsets: null + components_along_path: [] + radius: 10.0 + radius_min: 5.0 + sections: + - hidden: false + insets: null + layer: WG + name: _default + offset: 0.0 + offset_function: null + port_names: + - o1 + - o2 + port_types: + - optical + - optical + simplify: null + width: 0.5 + width_function: null + length: 44.0 + npoints: 2 + straight_4: + component: straight + info: + length: 387.0 + route_info_length: 387.0 + route_info_type: xs_sc + route_info_weight: 387.0 + route_info_xs_sc_length: 387.0 + width: 0.5 + settings: + cross_section: + bbox_layers: null + bbox_offsets: null + components_along_path: [] + radius: 10.0 + radius_min: 5.0 + sections: + - hidden: false + insets: null + layer: WG + name: _default + offset: 0.0 + offset_function: null + port_names: + - o1 + - o2 + port_types: + - optical + - optical + simplify: null + width: 0.5 + width_function: null + length: 387.0 + npoints: 2 + straight_40: + component: straight + info: + length: 369.0 + route_info_length: 369.0 + route_info_type: xs_sc + route_info_weight: 369.0 + route_info_xs_sc_length: 369.0 + width: 0.5 + settings: + cross_section: + bbox_layers: null + bbox_offsets: null + components_along_path: [] + radius: 10.0 + radius_min: 5.0 + sections: + - hidden: false + insets: null + layer: WG + name: _default + offset: 0.0 + offset_function: null + port_names: + - o1 + - o2 + port_types: + - optical + - optical + simplify: null + width: 0.5 + width_function: null + length: 369.0 + npoints: 2 + straight_41: + component: straight + info: + length: 50.0 + route_info_length: 50.0 + route_info_type: xs_sc + route_info_weight: 50.0 + route_info_xs_sc_length: 50.0 + width: 0.5 + settings: + cross_section: + bbox_layers: null + bbox_offsets: null + components_along_path: [] + radius: 10.0 + radius_min: 5.0 + sections: + - hidden: false + insets: null + layer: WG + name: _default + offset: 0.0 + offset_function: null + port_names: + - o1 + - o2 + port_types: + - optical + - optical + simplify: null + width: 0.5 + width_function: null + length: 50.0 + npoints: 2 + straight_42: + component: straight + info: + length: 375.0 + route_info_length: 375.0 + route_info_type: xs_sc + route_info_weight: 375.0 + route_info_xs_sc_length: 375.0 + width: 0.5 + settings: + cross_section: + bbox_layers: null + bbox_offsets: null + components_along_path: [] + radius: 10.0 + radius_min: 5.0 + sections: + - hidden: false + insets: null + layer: WG + name: _default + offset: 0.0 + offset_function: null + port_names: + - o1 + - o2 + port_types: + - optical + - optical + simplify: null + width: 0.5 + width_function: null + length: 375.0 + npoints: 2 + straight_43: + component: straight + info: + length: 56.0 + route_info_length: 56.0 + route_info_type: xs_sc + route_info_weight: 56.0 + route_info_xs_sc_length: 56.0 + width: 0.5 + settings: + cross_section: + bbox_layers: null + bbox_offsets: null + components_along_path: [] + radius: 10.0 + radius_min: 5.0 + sections: + - hidden: false + insets: null + layer: WG + name: _default + offset: 0.0 + offset_function: null + port_names: + - o1 + - o2 + port_types: + - optical + - optical + simplify: null + width: 0.5 + width_function: null + length: 56.0 + npoints: 2 + straight_44: + component: straight + info: + length: 381.0 + route_info_length: 381.0 + route_info_type: xs_sc + route_info_weight: 381.0 + route_info_xs_sc_length: 381.0 + width: 0.5 + settings: + cross_section: + bbox_layers: null + bbox_offsets: null + components_along_path: [] + radius: 10.0 + radius_min: 5.0 + sections: + - hidden: false + insets: null + layer: WG + name: _default + offset: 0.0 + offset_function: null + port_names: + - o1 + - o2 + port_types: + - optical + - optical + simplify: null + width: 0.5 + width_function: null + length: 381.0 + npoints: 2 + straight_45: + component: straight + info: + length: 62.0 + route_info_length: 62.0 + route_info_type: xs_sc + route_info_weight: 62.0 + route_info_xs_sc_length: 62.0 + width: 0.5 + settings: + cross_section: + bbox_layers: null + bbox_offsets: null + components_along_path: [] + radius: 10.0 + radius_min: 5.0 + sections: + - hidden: false + insets: null + layer: WG + name: _default + offset: 0.0 + offset_function: null + port_names: + - o1 + - o2 + port_types: + - optical + - optical + simplify: null + width: 0.5 + width_function: null + length: 62.0 + npoints: 2 + straight_46: + component: straight + info: + length: 387.0 + route_info_length: 387.0 + route_info_type: xs_sc + route_info_weight: 387.0 + route_info_xs_sc_length: 387.0 + width: 0.5 + settings: + cross_section: + bbox_layers: null + bbox_offsets: null + components_along_path: [] + radius: 10.0 + radius_min: 5.0 + sections: + - hidden: false + insets: null + layer: WG + name: _default + offset: 0.0 + offset_function: null + port_names: + - o1 + - o2 + port_types: + - optical + - optical + simplify: null + width: 0.5 + width_function: null + length: 387.0 + npoints: 2 + straight_47: + component: straight + info: + length: 78.0 + route_info_length: 78.0 + route_info_type: xs_sc + route_info_weight: 78.0 + route_info_xs_sc_length: 78.0 + width: 0.5 + settings: + cross_section: + bbox_layers: null + bbox_offsets: null + components_along_path: [] + radius: 10.0 + radius_min: 5.0 + sections: + - hidden: false + insets: null + layer: WG + name: _default + offset: 0.0 + offset_function: null + port_names: + - o1 + - o2 + port_types: + - optical + - optical + simplify: null + width: 0.5 + width_function: null + length: 78.0 + npoints: 2 + straight_5: + component: straight + info: + length: 62.0 + route_info_length: 62.0 + route_info_type: xs_sc + route_info_weight: 62.0 + route_info_xs_sc_length: 62.0 + width: 0.5 + settings: + cross_section: + bbox_layers: null + bbox_offsets: null + components_along_path: [] + radius: 10.0 + radius_min: 5.0 + sections: + - hidden: false + insets: null + layer: WG + name: _default + offset: 0.0 + offset_function: null + port_names: + - o1 + - o2 + port_types: + - optical + - optical + simplify: null + width: 0.5 + width_function: null + length: 62.0 + npoints: 2 + straight_6: + component: straight + info: + length: 381.0 + route_info_length: 381.0 + route_info_type: xs_sc + route_info_weight: 381.0 + route_info_xs_sc_length: 381.0 + width: 0.5 + settings: + cross_section: + bbox_layers: null + bbox_offsets: null + components_along_path: [] + radius: 10.0 + radius_min: 5.0 + sections: + - hidden: false + insets: null + layer: WG + name: _default + offset: 0.0 + offset_function: null + port_names: + - o1 + - o2 + port_types: + - optical + - optical + simplify: null + width: 0.5 + width_function: null + length: 381.0 + npoints: 2 + straight_7: + component: straight + info: + length: 56.0 + route_info_length: 56.0 + route_info_type: xs_sc + route_info_weight: 56.0 + route_info_xs_sc_length: 56.0 + width: 0.5 + settings: + cross_section: + bbox_layers: null + bbox_offsets: null + components_along_path: [] + radius: 10.0 + radius_min: 5.0 + sections: + - hidden: false + insets: null + layer: WG + name: _default + offset: 0.0 + offset_function: null + port_names: + - o1 + - o2 + port_types: + - optical + - optical + simplify: null + width: 0.5 + width_function: null + length: 56.0 + npoints: 2 + straight_8: + component: straight + info: + length: 375.0 + route_info_length: 375.0 + route_info_type: xs_sc + route_info_weight: 375.0 + route_info_xs_sc_length: 375.0 + width: 0.5 + settings: + cross_section: + bbox_layers: null + bbox_offsets: null + components_along_path: [] + radius: 10.0 + radius_min: 5.0 + sections: + - hidden: false + insets: null + layer: WG + name: _default + offset: 0.0 + offset_function: null + port_names: + - o1 + - o2 + port_types: + - optical + - optical + simplify: null + width: 0.5 + width_function: null + length: 375.0 + npoints: 2 + straight_9: + component: straight + info: + length: 50.0 + route_info_length: 50.0 + route_info_type: xs_sc + route_info_weight: 50.0 + route_info_xs_sc_length: 50.0 + width: 0.5 + settings: + cross_section: + bbox_layers: null + bbox_offsets: null + components_along_path: [] + radius: 10.0 + radius_min: 5.0 + sections: + - hidden: false + insets: null + layer: WG + name: _default + offset: 0.0 + offset_function: null + port_names: + - o1 + - o2 + port_types: + - optical + - optical + simplify: null + width: 0.5 + width_function: null + length: 50.0 + npoints: 2 +name: spiral_external_io +placements: + bend_euler_1: + mirror: 0 + rotation: 90 + x: 386.0 + y: 38.0 + bend_euler_10: + mirror: 0 + rotation: 180 + x: -5.0 + y: 36.0 + bend_euler_11: + mirror: 0 + rotation: 270 + x: -15.0 + y: -18.0 + bend_euler_12: + mirror: 0 + rotation: 0 + x: 358.0 + y: -28.0 + bend_euler_13: + mirror: 0 + rotation: 90 + x: 368.0 + y: 20.0 + bend_euler_14: + mirror: 0 + rotation: 180 + x: 1.0 + y: 30.0 + bend_euler_15: + mirror: 0 + rotation: 270 + x: -9.0 + y: -12.0 + bend_euler_16: + mirror: 0 + rotation: 0 + x: 352.0 + y: -22.0 + bend_euler_17: + mirror: 0 + rotation: 90 + x: 362.0 + y: 14.0 + bend_euler_18: + mirror: 0 + rotation: 180 + x: 7.0 + y: 24.0 + bend_euler_19: + mirror: 0 + rotation: 270 + x: -3.0 + y: -6.0 + bend_euler_2: + mirror: 0 + rotation: 180 + x: -17.0 + y: 48.0 + bend_euler_20: + mirror: 0 + rotation: 0 + x: 346.0 + y: -16.0 + bend_euler_21: + mirror: 0 + rotation: 90 + x: 356.0 + y: 8.0 + bend_euler_22: + mirror: 0 + rotation: 180 + x: 313.0 + y: 18.0 + bend_euler_23: + mirror: 0 + rotation: 270 + x: 303.0 + y: 0.0 + bend_euler_24: + mirror: 0 + rotation: 0 + x: 318.0 + y: -10.0 + bend_euler_25: + mirror: true + rotation: 90 + x: 328.0 + y: 5.0 + bend_euler_26: + mirror: true + rotation: 0 + x: 343.0 + y: 15.0 + bend_euler_27: + mirror: true + rotation: 270 + x: 353.0 + y: -3.0 + bend_euler_28: + mirror: true + rotation: 180 + x: 10.0 + y: -13.0 + bend_euler_29: + mirror: true + rotation: 90 + x: 0.0 + y: 11.0 + bend_euler_3: + mirror: 0 + rotation: 270 + x: -27.0 + y: -30.0 + bend_euler_30: + mirror: true + rotation: 0 + x: 349.0 + y: 21.0 + bend_euler_31: + mirror: true + rotation: 270 + x: 359.0 + y: -9.0 + bend_euler_32: + mirror: true + rotation: 180 + x: 4.0 + y: -19.0 + bend_euler_33: + mirror: true + rotation: 90 + x: -6.0 + y: 17.0 + bend_euler_34: + mirror: true + rotation: 0 + x: 355.0 + y: 27.0 + bend_euler_35: + mirror: true + rotation: 270 + x: 365.0 + y: -15.0 + bend_euler_36: + mirror: true + rotation: 180 + x: -2.0 + y: -25.0 + bend_euler_37: + mirror: true + rotation: 90 + x: -12.0 + y: 23.0 + bend_euler_38: + mirror: true + rotation: 0 + x: 361.0 + y: 33.0 + bend_euler_39: + mirror: true + rotation: 270 + x: 371.0 + y: -21.0 + bend_euler_4: + mirror: 0 + rotation: 0 + x: 370.0 + y: -40.0 + bend_euler_40: + mirror: true + rotation: 180 + x: -8.0 + y: -31.0 + bend_euler_41: + mirror: true + rotation: 90 + x: -18.0 + y: 29.0 + bend_euler_42: + mirror: true + rotation: 0 + x: 367.0 + y: 39.0 + bend_euler_43: + mirror: true + rotation: 270 + x: 377.0 + y: -27.0 + bend_euler_44: + mirror: true + rotation: 180 + x: -14.0 + y: -37.0 + bend_euler_45: + mirror: true + rotation: 90 + x: -24.0 + y: 35.0 + bend_euler_46: + mirror: true + rotation: 0 + x: 373.0 + y: 45.0 + bend_euler_5: + mirror: 0 + rotation: 90 + x: 380.0 + y: 32.0 + bend_euler_6: + mirror: 0 + rotation: 180 + x: -11.0 + y: 42.0 + bend_euler_7: + mirror: 0 + rotation: 270 + x: -21.0 + y: -24.0 + bend_euler_8: + mirror: 0 + rotation: 0 + x: 364.0 + y: -34.0 + bend_euler_9: + mirror: 0 + rotation: 90 + x: 374.0 + y: 26.0 + straight_1: + mirror: 0 + rotation: 90 + x: 386.0 + y: -46.0 + straight_10: + mirror: 0 + rotation: 180 + x: 364.0 + y: 36.0 + straight_11: + mirror: 0 + rotation: 270 + x: -15.0 + y: 26.0 + straight_12: + mirror: 0 + rotation: 0 + x: -5.0 + y: -28.0 + straight_13: + mirror: 0 + rotation: 90 + x: 368.0 + y: -18.0 + straight_14: + mirror: 0 + rotation: 180 + x: 358.0 + y: 30.0 + straight_15: + mirror: 0 + rotation: 270 + x: -9.0 + y: 20.0 + straight_16: + mirror: 0 + rotation: 0 + x: 1.0 + y: -22.0 + straight_17: + mirror: 0 + rotation: 90 + x: 362.0 + y: -12.0 + straight_18: + mirror: 0 + rotation: 180 + x: 352.0 + y: 24.0 + straight_19: + mirror: 0 + rotation: 270 + x: -3.0 + y: 14.0 + straight_2: + mirror: 0 + rotation: 180 + x: 376.0 + y: 48.0 + straight_20: + mirror: 0 + rotation: 0 + x: 7.0 + y: -16.0 + straight_21: + mirror: 0 + rotation: 90 + x: 356.0 + y: -6.0 + straight_22: + mirror: 0 + rotation: 180 + x: 346.0 + y: 18.0 + straight_23: + mirror: 0 + rotation: 270 + x: 303.0 + y: 8.0 + straight_24: + mirror: 0 + rotation: 0 + x: 313.0 + y: -10.0 + straight_25: + mirror: 0 + rotation: 90 + x: 328.0 + y: 0.0 + straight_26: + mirror: 0 + rotation: 0 + x: 338.0 + y: 15.0 + straight_27: + mirror: 0 + rotation: 270 + x: 353.0 + y: 5.0 + straight_28: + mirror: 0 + rotation: 180 + x: 343.0 + y: -13.0 + straight_29: + mirror: 0 + rotation: 90 + x: 0.0 + y: -3.0 + straight_3: + mirror: 0 + rotation: 270 + x: -27.0 + y: 38.0 + straight_30: + mirror: 0 + rotation: 0 + x: 10.0 + y: 21.0 + straight_31: + mirror: 0 + rotation: 270 + x: 359.0 + y: 11.0 + straight_32: + mirror: 0 + rotation: 180 + x: 349.0 + y: -19.0 + straight_33: + mirror: 0 + rotation: 90 + x: -6.0 + y: -9.0 + straight_34: + mirror: 0 + rotation: 0 + x: 4.0 + y: 27.0 + straight_35: + mirror: 0 + rotation: 270 + x: 365.0 + y: 17.0 + straight_36: + mirror: 0 + rotation: 180 + x: 355.0 + y: -25.0 + straight_37: + mirror: 0 + rotation: 90 + x: -12.0 + y: -15.0 + straight_38: + mirror: 0 + rotation: 0 + x: -2.0 + y: 33.0 + straight_39: + mirror: 0 + rotation: 270 + x: 371.0 + y: 23.0 + straight_4: + mirror: 0 + rotation: 0 + x: -17.0 + y: -40.0 + straight_40: + mirror: 0 + rotation: 180 + x: 361.0 + y: -31.0 + straight_41: + mirror: 0 + rotation: 90 + x: -18.0 + y: -21.0 + straight_42: + mirror: 0 + rotation: 0 + x: -8.0 + y: 39.0 + straight_43: + mirror: 0 + rotation: 270 + x: 377.0 + y: 29.0 + straight_44: + mirror: 0 + rotation: 180 + x: 367.0 + y: -37.0 + straight_45: + mirror: 0 + rotation: 90 + x: -24.0 + y: -27.0 + straight_46: + mirror: 0 + rotation: 0 + x: -14.0 + y: 45.0 + straight_47: + mirror: 0 + rotation: 270 + x: 383.0 + y: 35.0 + straight_5: + mirror: 0 + rotation: 90 + x: 380.0 + y: -30.0 + straight_6: + mirror: 0 + rotation: 180 + x: 370.0 + y: 42.0 + straight_7: + mirror: 0 + rotation: 270 + x: -21.0 + y: 32.0 + straight_8: + mirror: 0 + rotation: 0 + x: -11.0 + y: -34.0 + straight_9: + mirror: 0 + rotation: 90 + x: 374.0 + y: -24.0 +ports: + o1: straight_47,o2 + o2: straight_1,o1 diff --git a/tests/test_netlists/test_netlists_straight_.yml b/tests/test_netlists/test_netlists_straight_.yml new file mode 100644 index 00000000..dc6aa4dc --- /dev/null +++ b/tests/test_netlists/test_netlists_straight_.yml @@ -0,0 +1,5 @@ +connections: {} +instances: {} +name: straight +placements: {} +ports: {} diff --git a/tests/test_netlists/test_netlists_straight_heater_metal_.yml b/tests/test_netlists/test_netlists_straight_heater_metal_.yml new file mode 100644 index 00000000..3632fcf1 --- /dev/null +++ b/tests/test_netlists/test_netlists_straight_heater_metal_.yml @@ -0,0 +1,244 @@ +connections: {} +instances: + component_sequence_1: + component: component_sequence + info: {} + settings: + port_name1: o1 + port_name2: o2 + ports_map: null + sequence: _-UHUHUHUHUHUHUHUH-_ + start_orientation: 0.0 + symbol_to_component: + '-': + - function: straight + module: ubcpdk.components + settings: + cross_section: xs_sc_heater_metal + length: 15.9 + npoints: 2 + - o1 + - o2 + H: + - function: straight + module: gdsfactory.components.straight + settings: + cross_section: xs_sc_heater_metal + length: 6.0 + npoints: 2 + - o1 + - o2 + U: + - function: straight + module: gdsfactory.components.straight + settings: + cross_section: xs_sc_heater_metal + length: 30.0 + npoints: 2 + - o1 + - o2 + _: + - function: straight + module: gdsfactory.components.straight + settings: + cross_section: xs_sc + length: 0.1 + npoints: 2 + - o1 + - o2 + taper_1: + component: taper + info: + length: 5.0 + width1: 10.0 + width2: 4.0 + settings: + cross_section: + bbox_layers: null + bbox_offsets: null + components_along_path: [] + radius: null + radius_min: 5.0 + sections: + - hidden: false + insets: null + layer: + - 11 + - 0 + name: _default + offset: 0.0 + offset_function: null + port_names: + - e1 + - e2 + port_types: + - electrical + - electrical + simplify: null + width: 4.0 + width_function: null + length: 5.0 + port: null + port_order_name: + - o1 + - o2 + port_order_types: + - optical + - optical + width1: 10.0 + width2: 4.0 + with_two_ports: true + taper_2: + component: taper + info: + length: 5.0 + width1: 10.0 + width2: 4.0 + settings: + cross_section: + bbox_layers: null + bbox_offsets: null + components_along_path: [] + radius: null + radius_min: 5.0 + sections: + - hidden: false + insets: null + layer: + - 11 + - 0 + name: _default + offset: 0.0 + offset_function: null + port_names: + - e1 + - e2 + port_types: + - electrical + - electrical + simplify: null + width: 4.0 + width_function: null + length: 5.0 + port: null + port_order_name: + - o1 + - o2 + port_order_types: + - optical + - optical + width1: 10.0 + width2: 4.0 + with_two_ports: true + via_stack_1: + component: via_stack + info: + layer: + - 12 + - 0 + size: + - 10 + - 10 + xsize: 10 + ysize: 10 + settings: + correct_size: true + layer_offsets: null + layer_port: null + layers: + - - 11 + - 0 + - - 12 + - 0 + size: + - 10 + - 10 + slot_horizontal: false + slot_vertical: false + vias: + - null + - null + via_stack_2: + component: via_stack + info: + layer: + - 12 + - 0 + size: + - 10 + - 10 + xsize: 10 + ysize: 10 + settings: + correct_size: true + layer_offsets: null + layer_port: null + layers: + - - 11 + - 0 + - - 12 + - 0 + size: + - 10 + - 10 + slot_horizontal: false + slot_vertical: false + vias: + - null + - null +name: straight_heater_metal_undercut_with_undercutFalse +placements: + component_sequence_1: + mirror: 0 + rotation: 0 + x: 0.0 + y: 0.0 + taper_1: + mirror: 0 + rotation: 0 + x: -4.905 + y: 0.0 + taper_2: + mirror: 0 + rotation: 180 + x: 324.905 + y: 0.0 + via_stack_1: + mirror: 0 + rotation: 0 + x: -9.905 + y: 0.0 + via_stack_2: + mirror: 0 + rotation: 0 + x: 329.905 + y: 0.0 +ports: + l_e1: via_stack_1,e1 + l_e2: via_stack_1,e2 + l_e3: via_stack_1,e3 + l_e4: via_stack_1,e4 + o1: component_sequence_1,o1 + o2: component_sequence_1,o2 + r_e1: via_stack_2,e1 + r_e2: via_stack_2,e2 + r_e3: via_stack_2,e3 + r_e4: via_stack_2,e4 +warnings: + optical: + unconnected_ports: + - message: 4 unconnected optical ports! + ports: + - taper_1,o1 + - taper_1,o2 + - taper_2,o1 + - taper_2,o2 + values: + - - -4.905 + - 0.0 + - - 0.095 + - 0.0 + - - 324.905 + - 0.0 + - - 319.905 + - 0.0 diff --git a/tests/test_netlists/test_netlists_straight_one_pin_.yml b/tests/test_netlists/test_netlists_straight_one_pin_.yml new file mode 100644 index 00000000..3695803a --- /dev/null +++ b/tests/test_netlists/test_netlists_straight_one_pin_.yml @@ -0,0 +1,5 @@ +connections: {} +instances: {} +name: straight_one_pin +placements: {} +ports: {} diff --git a/tests/test_netlists/test_netlists_taper_.yml b/tests/test_netlists/test_netlists_taper_.yml new file mode 100644 index 00000000..472c9453 --- /dev/null +++ b/tests/test_netlists/test_netlists_taper_.yml @@ -0,0 +1,5 @@ +connections: {} +instances: {} +name: taper +placements: {} +ports: {} diff --git a/tests/test_netlists/test_netlists_terminator_short_.yml b/tests/test_netlists/test_netlists_terminator_short_.yml new file mode 100644 index 00000000..da838a2d --- /dev/null +++ b/tests/test_netlists/test_netlists_terminator_short_.yml @@ -0,0 +1,43 @@ +connections: {} +instances: + taper_1: + component: taper + info: + length: 10.0 + width1: 0.5 + width2: 0.5 + settings: + cross_section: + function: cross_section + module: gdsfactory.cross_section + settings: + radius_min: 5 + length: 10.0 + port: null + port_order_name: + - o1 + - o2 + port_order_types: + - optical + - optical + width1: 0.5 + width2: null + with_two_ports: true +name: terminator_short +placements: + taper_1: + mirror: 0 + rotation: 0 + x: 0.0 + y: 0.0 +ports: + o1: taper_1,o1 +warnings: + optical: + unconnected_ports: + - message: 1 unconnected optical ports! + ports: + - taper_1,o2 + values: + - - 10.0 + - 0.0 diff --git a/tests/test_netlists/test_netlists_thermal_phase_shifter0_.yml b/tests/test_netlists/test_netlists_thermal_phase_shifter0_.yml new file mode 100644 index 00000000..17efc2c8 --- /dev/null +++ b/tests/test_netlists/test_netlists_thermal_phase_shifter0_.yml @@ -0,0 +1,5 @@ +connections: {} +instances: {} +name: thermal_phase_shifter0 +placements: {} +ports: {} diff --git a/tests/test_netlists/test_netlists_thermal_phase_shifter1_.yml b/tests/test_netlists/test_netlists_thermal_phase_shifter1_.yml new file mode 100644 index 00000000..dea5860b --- /dev/null +++ b/tests/test_netlists/test_netlists_thermal_phase_shifter1_.yml @@ -0,0 +1,5 @@ +connections: {} +instances: {} +name: thermal_phase_shifter1 +placements: {} +ports: {} diff --git a/tests/test_netlists/test_netlists_thermal_phase_shifter2_.yml b/tests/test_netlists/test_netlists_thermal_phase_shifter2_.yml new file mode 100644 index 00000000..3d149414 --- /dev/null +++ b/tests/test_netlists/test_netlists_thermal_phase_shifter2_.yml @@ -0,0 +1,5 @@ +connections: {} +instances: {} +name: thermal_phase_shifter2 +placements: {} +ports: {} diff --git a/tests/test_netlists/test_netlists_thermal_phase_shifter3_.yml b/tests/test_netlists/test_netlists_thermal_phase_shifter3_.yml new file mode 100644 index 00000000..bff7b431 --- /dev/null +++ b/tests/test_netlists/test_netlists_thermal_phase_shifter3_.yml @@ -0,0 +1,5 @@ +connections: {} +instances: {} +name: thermal_phase_shifter3 +placements: {} +ports: {} diff --git a/ubcpdk/__init__.py b/ubcpdk/__init__.py index 6bb26cd5..defe5039 100644 --- a/ubcpdk/__init__.py +++ b/ubcpdk/__init__.py @@ -1,14 +1,12 @@ """UBC Siepic Ebeam PDK from edx course.""" -import pathlib from gdsfactory.config import PATH as GPATH -from gdsfactory.config import logger -from gdsfactory.generic_tech import get_generic_pdk from gdsfactory.get_factories import get_cells from gdsfactory.pdk import Pdk +from gplugins.sax.models import get_models -from ubcpdk import components, data, tech -from ubcpdk.config import CONFIG, PATH, module +from ubcpdk import components, data, models, tech +from ubcpdk.config import CONFIG, PATH from ubcpdk.tech import LAYER, LAYER_STACK, LAYER_VIEWS, cross_sections __version__ = "2.4.1" @@ -20,31 +18,30 @@ "components", "tech", "LAYER", - "__version__", "cells", "cross_sections", "PDK", + "__version__", ] -logger.info(f"Found UBCpdk {__version__!r} installed at {module!r}") cells = get_cells(components) PDK = Pdk( name="ubcpdk", cells=cells, cross_sections=cross_sections, + models=get_models(models), layers=dict(LAYER), - base_pdk=get_generic_pdk(), layer_stack=LAYER_STACK, layer_views=LAYER_VIEWS, ) GPATH.sparameters = PATH.sparameters GPATH.interconnect = PATH.interconnect_cml_path -PDK.register_cells_yaml(dirpath=pathlib.Path(__file__).parent.absolute()) PDK.activate() if __name__ == "__main__": - f = PDK.cells - print(f.keys()) + m = get_models(models) + for model in m.keys(): + print(model) diff --git a/ubcpdk/components.py b/ubcpdk/components.py index d2c8520c..dfd4c848 100644 --- a/ubcpdk/components.py +++ b/ubcpdk/components.py @@ -11,7 +11,6 @@ Label, LayerSpec, List, - Metadata, Optional, Port, Tuple, @@ -24,8 +23,6 @@ LAYER, LAYER_STACK, add_pins_bbox_siepic, - add_pins_bbox_siepic_remove_layers, - add_pins_siepic_metal, ) um = 1e-6 @@ -40,11 +37,15 @@ def bend_euler_sc(**kwargs) -> Component: bend_euler180_sc = partial(bend_euler_sc, angle=180) bend = bend_euler_sc -straight = partial( - gf.components.straight, - cross_section="xs_sc", - post_process=(tech.add_bbox_siepic_top_bot,), -) + +@gf.cell(post_process=(tech.add_pins_bbox_siepic,)) +def straight(length: float = 1.0, npoints: int = 2, cross_section="xs_sc"): + return gf.components.straight( + length=length, npoints=npoints, cross_section=cross_section + ) + + +straight_heater_metal = partial(gf.c.straight_heater_metal, straight=straight) bend_s = partial( gf.components.bend_s, cross_section="xs_sc", @@ -493,8 +494,6 @@ def add_fiber_array( cross_section: CrossSectionSpec = "xs_sc", layer_label: LayerSpec = LAYER.TEXT, straight: ComponentSpec = straight, - post_process: Callable | list[Callable] | None = None, - info: Metadata | None = None, **kwargs, ) -> Component: """Returns component with grating couplers and labels on each port. @@ -514,8 +513,6 @@ def add_fiber_array( cross_section: spec. layer_label: for label. straight: straight component. - post_process: function to post process the component. - info: metadata. """ c = gf.Component() @@ -541,8 +538,6 @@ def add_fiber_array( c.add_ports(ref.ports) c.copy_child_info(component) - c.post_process(post_process) - c.info.update(info or {}) return c @@ -638,21 +633,19 @@ def dbr( return add_pins_bbox_siepic(c) -coupler = partial( - gf.components.coupler, - cross_section=tech.xs_sc_simple, - post_process=tech.add_pins_bbox_siepic, -) -coupler_ring = partial( - gf.components.coupler_ring, - cross_section=tech.xs_sc_simple, - post_process=tech.add_pins_bbox_siepic, -) -mmi1x2 = partial( - gf.components.mmi1x2, - cross_section=tech.xs_sc_simple, - post_process=tech.add_pins_bbox_siepic, -) +@gf.cell(post_process=(tech.add_pins_bbox_siepic,)) +def coupler(**kwargs) -> gf.Component: + return gf.components.coupler(**kwargs) + + +@gf.cell(post_process=(tech.add_pins_bbox_siepic,)) +def coupler_ring(**kwargs) -> gf.Component: + return gf.components.coupler_ring(**kwargs) + + +@gf.cell(post_process=(tech.add_pins_bbox_siepic,)) +def mmi1x2(**kwargs) -> gf.Component: + return gf.components.mmi1x2(**kwargs) @gf.cell @@ -751,7 +744,7 @@ def ebeam_dc_halfring_straight( ebeam_dc_te1550 = partial( - gf.components.coupler, post_process=add_pins_bbox_siepic_remove_layers + gf.components.coupler, ) taper = partial(gf.components.taper) spiral = partial(gf.components.spiral_external_io) @@ -772,7 +765,6 @@ def ebeam_dc_halfring_straight( layer=LAYER.M2_ROUTER, bbox_layers=(LAYER.PAD_OPEN,), bbox_offsets=(-1.8,), - post_process=add_pins_siepic_metal, ) @@ -819,14 +811,9 @@ def add_fiber_array_pads_rf( kwargs: for add_fiber_array. """ c0 = gf.get_component(component) - text = f"elec_{username}-{clean_name(c0.name)}_G" - add_label = partial(add_label_electrical, text=text) - rename_ports_and_add_label = gf.compose( - add_label, gf.port.auto_rename_ports_electrical - ) - c1 = add_pads_rf( - component=c0, post_process=rename_ports_and_add_label, orientation=orientation - ) + # text = f"elec_{username}-{clean_name(c0.name)}_G" + # add_label = partial(add_label_electrical, text=text) + c1 = add_pads_rf(component=c0, orientation=orientation) return add_fiber_array(component=c1, **kwargs) @@ -844,13 +831,13 @@ def add_pads( kwargs: for add_fiber_array. """ c0 = gf.get_component(component) - text = f"elec_{username}-{clean_name(c0.name)}_G" - add_label = partial(add_label_electrical, text=text) - return add_pads_rf(component=c, post_process=add_label, **kwargs) + # text = f"elec_{username}-{clean_name(c0.name)}_G" + # add_label = partial(add_label_electrical, text=text) + return add_pads_rf(component=c0, **kwargs) if __name__ == "__main__": - # c = mzi_heater() + # c = straight() # c = uc.ring_single_heater() # c = uc.add_fiber_array_pads_rf(c) @@ -866,11 +853,11 @@ def add_pads( # c = bend_euler() # c = mzi() # c = spiral() - # c = mzi_heater() + c = pad_array() # c = ring_double_heater() # c = ring_single_heater() - c = ebeam_y_1550() + # c = ebeam_y_1550() # c = ebeam_dc_halfring_straight() # c = ring_with_crossing() # c = ring_single() - c.show(show_ports=True) + c.show(show_ports=False) diff --git a/ubcpdk/import_gds.py b/ubcpdk/import_gds.py index 2f9a261e..d51dbbcf 100644 --- a/ubcpdk/import_gds.py +++ b/ubcpdk/import_gds.py @@ -167,13 +167,13 @@ def add_ports_from_siepic_pins( ) +@gf.cell(autoname=False, post_process=(add_ports_from_siepic_pins,)) def import_gds(gdspath, **kwargs): return gf.import_gds( gdspath, gdsdir=PATH.gds, library="Design kits/ebeam", model=gdspath.split(".")[0], - post_process=add_ports_from_siepic_pins, **kwargs, ) diff --git a/ubcpdk/models.py b/ubcpdk/models.py index ffc8f8ff..b406d0df 100644 --- a/ubcpdk/models.py +++ b/ubcpdk/models.py @@ -2,50 +2,33 @@ from functools import partial -from gplugins.sax.models import ( - attenuator, - bend, - coupler, - grating_coupler, - mmi1x2, - mmi2x2, - phase_shifter, -) -from gplugins.sax.models import straight as _straight +import gplugins.sax.models as sm nm = 1e-3 -straight = partial(_straight, wl0=1.55, neff=2.4, ng=4.2) -bend_euler = partial(bend, loss=0.03) +straight = partial(sm.straight, wl0=1.55, neff=2.4, ng=4.2) +bend_euler_sc = bend_euler = partial(sm.bend, loss=0.03) -gc_te1550 = partial(grating_coupler, loss=6, bandwidth=35 * nm, wl0=1.55) -gc_te1550_broadband = partial(grating_coupler, loss=6, bandwidth=50 * nm, wl0=1.55) -gc_tm1550 = partial(grating_coupler, loss=6, bandwidth=35 * nm, wl0=1.55) - -gc_te1310_broadband = partial(grating_coupler, loss=6, bandwidth=50 * nm, wl0=1.31) -gc_te1310 = partial(grating_coupler, loss=6, bandwidth=35 * nm, wl0=1.31) - - -models = dict( - attenuator=attenuator, - bend_euler=bend, - coupler=coupler, - mmi1x2=mmi1x2, - mmi2x2=mmi2x2, - phase_shifter=phase_shifter, - straight=straight, - taper=straight, - gc_te1550=gc_te1550, - gc_te1550_broadband=gc_te1550_broadband, - gc_tm1550=gc_tm1550, - gc_te1310_broadband=gc_te1310_broadband, - gc_te1310=gc_te1310, -) +################ +# grating couplers +################ +gc_te1550 = partial(sm.grating_coupler, loss=6, bandwidth=35 * nm, wl0=1.55) +gc_te1550_broadband = partial(sm.grating_coupler, loss=6, bandwidth=50 * nm, wl0=1.55) +gc_tm1550 = partial(sm.grating_coupler, loss=6, bandwidth=35 * nm, wl0=1.55) +gc_te1310_broadband = partial(sm.grating_coupler, loss=6, bandwidth=50 * nm, wl0=1.31) +gc_te1310 = partial(sm.grating_coupler, loss=6, bandwidth=35 * nm, wl0=1.31) +################ +# MMIs +################ +mmi1x2 = partial(sm.mmi1x2, wl0=1.55, fwhm=0.2, loss_dB=0.3) +mmi2x2 = partial(sm.mmi2x2, wl0=1.55, fwhm=0.2, loss_dB=0.3) +ebeam_y_1550 = mmi1x2 +coupler = sm.coupler if __name__ == "__main__": import gplugins.sax as gs - gs.plot_model(grating_coupler) - # gs.plot_model(coupler) + gs.plot_model(gc_te1550) + gs.plot_model(coupler) diff --git a/ubcpdk/samples/test_circuit_simulations.py b/ubcpdk/samples/test_circuit_simulations.py new file mode 100644 index 00000000..f81d2e59 --- /dev/null +++ b/ubcpdk/samples/test_circuit_simulations.py @@ -0,0 +1,34 @@ +import jax.numpy as jnp +import matplotlib.pyplot as plt +import sax + +import ubcpdk +from ubcpdk import PDK + + +def test_mzi(): + c = ubcpdk.components.mzi(delta_length=20) + netlist = c.get_netlist() + models = PDK.models + circuit, _ = sax.circuit(netlist, models=models) # type: ignore + wl = jnp.linspace(1.5, 1.6) + + S = circuit(wl=wl) + assert S + + +if __name__ == "__main__": + c = ubcpdk.components.mzi(delta_length=20) + netlist = c.get_netlist() + models = PDK.models + circuit, _ = sax.circuit(netlist, models=models) # type: ignore + wl = jnp.linspace(1.5, 1.6) + + S = circuit(wl=wl) + plt.figure(figsize=(14, 4)) + plt.title("MZI") + plt.plot(1e3 * wl, jnp.abs(S["o1", "o2"]) ** 2) # type: ignore + plt.xlabel("λ [nm]") + plt.ylabel("T") + plt.grid(True) + plt.show() diff --git a/ubcpdk/tech.py b/ubcpdk/tech.py index 0afc07cb..ec2686e9 100644 --- a/ubcpdk/tech.py +++ b/ubcpdk/tech.py @@ -173,9 +173,6 @@ def add_pins_bbox_siepic( return c -add_pins_bbox_siepic_remove_layers = partial(add_pins_bbox_siepic, remove_layers=True) - - add_pins_bbox_siepic_metal = partial( add_pins_bbox_siepic, port_type="placement", layer_pin=LAYER.PORTE ) @@ -294,8 +291,6 @@ class Tech(BaseModel): ############################ cross_section = partial( gf.cross_section.cross_section, - add_pins_function_name="add_pins_siepic", - add_pins_function_module="ubcpdk.tech", radius_min=5, ) @@ -312,8 +307,6 @@ class Tech(BaseModel): layer_heater=LAYER.M1_HEATER, cladding_layers=cladding_layers_optical_siepic, cladding_offsets=cladding_offsets_optical_siepic, - add_pins_function_name="add_pins_siepic", - add_pins_function_module="ubcpdk.tech", ) strip_bbox = partial( @@ -330,9 +323,7 @@ class Tech(BaseModel): port_types=gf.cross_section.port_types_electrical, radius=None, ) -heater_metal = partial( - metal_routing, width=4, layer=LAYER.M1_HEATER, add_pins_function_name=None -) +heater_metal = partial(metal_routing, width=4, layer=LAYER.M1_HEATER) ############################ # Cross-sections