Skip to content

Commit

Permalink
fix heated mask prefix and instructions
Browse files Browse the repository at this point in the history
  • Loading branch information
joamatab committed Oct 21, 2023
1 parent 8cbdf5d commit a24ea01
Show file tree
Hide file tree
Showing 4 changed files with 30 additions and 16 deletions.
18 changes: 17 additions & 1 deletion README.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
# ubc2 0.0.1

edx course submission for 2023 October
[edx course](https://www.edx.org/course/silicon-photonics-design-fabrication-and-data-ana) submission for 2023 October

## Installation

Expand All @@ -14,3 +14,19 @@ We have a GitHub action that builds the mask on every git push.
- You can upload the GDS files into [nextcloud](https://qdot-nexus.phas.ubc.ca:25683/index.php/s/Xew2p7PrE2kgHNW)
- After uploading your layout, once every three minutes, our automated system checks your layout and produces a text log file including some errors: [EBeam.txt](https://qdot-nexus.phas.ubc.ca:25683/s/gkN3zq4KSFgcTBD/download?path=%2F&files=EBeam.txt)
- The system also merges all participant layouts into a single file. You can download the merged layout from: [EBeam.gds](https://qdot-nexus.phas.ubc.ca:25683/s/gkN3zq4KSFgcTBD/download?path=%2F&files=EBeam.gds) or [EBeam.oas (~10X smaller)](https://qdot-nexus.phas.ubc.ca:25683/s/gkN3zq4KSFgcTBD/download?path=%2F&files=EBeam.oas)


## Optional: Heaters

- [heater slides from course](https://docs.google.com/presentation/d/1_ppHYec6LydML4RMRJdNI4DXHb0hgW7znToQCGgSF6M/edit#slide=id.g1d6f54b2122_1_164)
- [ubc slides](https://docs.google.com/presentation/d/17FWUaRZ0zKV5zrPgY4fo98M8ywtmE3blaxkwUvk_7yM/edit#slide=id.g1f32360cef6_0_11)

Filename requirements:

```
EBeam_heaters_<USERNAME>.oas, or .gds
```

- Submit your design to the following [server](https://qdot-nexus.phas.ubc.ca:25683/s/mwQTSzwq99dj6Ym)
- See all the individual [file submissions](https://qdot-nexus.phas.ubc.ca:25683/s/s8eQLKBkAcTaH2e)
- Download the [merged layout](https://qdot-nexus.phas.ubc.ca:25683/s/P6jxBMWyzWywrqw)
2 changes: 1 addition & 1 deletion pyproject.toml
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,7 @@ classifiers = [
"Operating System :: OS Independent"
]
dependencies = [
"ubcpdk==2.3.1"
"ubcpdk==2.3.2"
]
description = "ubc"
keywords = ["python"]
Expand Down
8 changes: 4 additions & 4 deletions ubc2/ubc_joaquin_matres1.py
Original file line number Diff line number Diff line change
Expand Up @@ -101,7 +101,7 @@ def test_mask3() -> Path:


def test_mask4() -> Path:
"""MZI interferometers."""
"""Heated MZI interferometers."""
mzi = partial(gf.components.mzi, splitter=ubcpdk.components.ebeam_y_1550)
mzis = [mzi(delta_length=delta_length) for delta_length in [10, 40, 100]]
mzis_gc = [pdk.add_fiber_array(mzi) for mzi in mzis]
Expand All @@ -114,13 +114,13 @@ def test_mask4() -> Path:

c = pack(mzis_gc + mzis_heater_gc)
m = c[0]
m.name = "EBeam_JoaquinMatres_14"
m.name = "EBeam_heaters_JoaquinMatres_14"
_ = m << gf.components.rectangle(size=size, layer=LAYER.FLOORPLAN)
return write_mask_gds_with_metadata(m)


def test_mask5() -> Path:
"""Ring resonators."""
"""Heated Ring resonators."""
lengths_x = [0.2]
gaps = [0.2]

Expand All @@ -139,7 +139,7 @@ def test_mask5() -> Path:

c = pack(rings_gc)
m = c[0]
m.name = "EBeam_JoaquinMatres_15"
m.name = "EBeam_heaters_JoaquinMatres_15"
_ = m << gf.components.rectangle(size=size, layer=LAYER.FLOORPLAN)
return write_mask_gds_with_metadata(m)

Expand Down
18 changes: 8 additions & 10 deletions ubc2/ubc_simon.py
Original file line number Diff line number Diff line change
Expand Up @@ -365,12 +365,12 @@ def test_mask1() -> Path:

m.add_ports(g.ports)
_ = m << gf.components.rectangle(size=size, layer=LAYER.FLOORPLAN)
m.name = "EBeam_JoaquinMatres_Simon_0"
m.name = "EBeam_heaters_JoaquinMatres_Simon_0"
return write_mask_gds_with_metadata(m)


def crosstalk_experiment_parametrized_mask(
name="EBeam_JoaquinMatres_Simon_1",
name="EBeam_heaters_JoaquinMatres_Simon_1",
num_gcs: int = 10,
num_gc_per_pitch: int = 5,
sep_resonators: float = 15.0,
Expand All @@ -379,7 +379,6 @@ def crosstalk_experiment_parametrized_mask(
fill_layers=None,
fill_margin=2,
fill_size=(0.5, 0.5),
padding=20,
) -> gf.Component:
"""Ring resonators with thermal cross-talk.
Expand All @@ -393,7 +392,6 @@ def crosstalk_experiment_parametrized_mask(
fill_layers: layers to add as unity dennity fill around the rings.
fill_margin: keepout between the fill_layers and the same design layers.
fill_size: tiling size.
padding: how much to extend the fill beyond the ring component.
"""
m = gf.Component()

Expand Down Expand Up @@ -552,7 +550,7 @@ def crosstalk_experiment_parametrized_mask(
def test_mask3() -> Path:
"""Rings with thermal crosstalk, close rings"""
m = crosstalk_experiment_parametrized_mask(
name="EBeam_JoaquinMatres_Simon_1",
name="EBeam_heaters_JoaquinMatres_Simon_1",
sep_resonators=5.0,
ring_y_offset=20.0,
resonator_func=rings_proximity,
Expand All @@ -563,7 +561,7 @@ def test_mask3() -> Path:
def test_mask4() -> Path:
"""Rings with thermal crosstalk, far rings"""
m = crosstalk_experiment_parametrized_mask(
name="EBeam_JoaquinMatres_Simon_2",
name="EBeam_heaters_JoaquinMatres_Simon_2",
sep_resonators=20.0,
ring_y_offset=40.0,
resonator_func=rings_proximity,
Expand All @@ -574,7 +572,7 @@ def test_mask4() -> Path:
def test_mask5() -> Path:
"""Rings with thermal crosstalk, metal fill"""
m = crosstalk_experiment_parametrized_mask(
name="EBeam_JoaquinMatres_Simon_3",
name="EBeam_heaters_JoaquinMatres_Simon_3",
sep_resonators=20.0,
ring_y_offset=40.0,
resonator_func=rings_proximity,
Expand All @@ -586,7 +584,7 @@ def test_mask5() -> Path:
def test_mask6() -> Path:
"""Rings with thermal crosstalk, silicon fill"""
m = crosstalk_experiment_parametrized_mask(
name="EBeam_JoaquinMatres_Simon_4",
name="EBeam_heaters_JoaquinMatres_Simon_4",
sep_resonators=20.0,
ring_y_offset=40.0,
resonator_func=rings_proximity,
Expand All @@ -598,8 +596,8 @@ def test_mask6() -> Path:


if __name__ == "__main__":
# m = test_mask1()
m = test_mask1()
# m = test_mask3()
# m = test_mask4()
m = test_mask5()
# m = test_mask5()
gf.show(m)

0 comments on commit a24ea01

Please sign in to comment.