From d0f71ab6d3f5aa498d230e4a64c9d2a4b50cbe86 Mon Sep 17 00:00:00 2001 From: Benton Qiu Date: Sun, 14 Jul 2024 20:13:17 -0400 Subject: [PATCH 01/12] Passive Rings Function Verification fix and DRC checked, only warnings. --- submissions/Ebeam_BentonQiu_PassiveRings.gds | Bin 0 -> 87544 bytes submissions/Ebeam_BentonQiu_PassiveRings.yaml | 110 ++++++++++++++++++ 2 files changed, 110 insertions(+) create mode 100644 submissions/Ebeam_BentonQiu_PassiveRings.gds create mode 100644 submissions/Ebeam_BentonQiu_PassiveRings.yaml diff --git a/submissions/Ebeam_BentonQiu_PassiveRings.gds b/submissions/Ebeam_BentonQiu_PassiveRings.gds new file mode 100644 index 0000000000000000000000000000000000000000..2b708c524437cc7e67be42dd928066283c7ed368 GIT binary patch literal 87544 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 literal 0 HcmV?d00001 diff --git a/submissions/Ebeam_BentonQiu_PassiveRings.yaml b/submissions/Ebeam_BentonQiu_PassiveRings.yaml new file mode 100644 index 0000000..b4c0ddf --- /dev/null +++ b/submissions/Ebeam_BentonQiu_PassiveRings.yaml @@ -0,0 +1,110 @@ +Devices: + Ring: + device_id: Ring + device_type: device + electricalCoordinates: [] + opticalCoordinates: + - -175.0 + - 53.0 + polarization: TE + sequences: [] + wavelength: '1550' + Ring1: + device_id: Ring1 + device_type: device + electricalCoordinates: [] + opticalCoordinates: + - -175.0 + - 180.0 + polarization: TE + sequences: [] + wavelength: '1550' + Ring3: + device_id: Ring3 + device_type: device + electricalCoordinates: [] + opticalCoordinates: + - -175.0 + - -73.0 + polarization: TE + sequences: [] + wavelength: '1550' + Ring4: + device_id: Ring4 + device_type: device + electricalCoordinates: [] + opticalCoordinates: + - -175.0 + - -200.0 + polarization: TE + sequences: [] + wavelength: '1550' + Ring5: + device_id: Ring5 + device_type: device + electricalCoordinates: [] + opticalCoordinates: + - 42.0 + - -203.0 + polarization: TE + sequences: [] + wavelength: '1550' + Ring6: + device_id: Ring6 + device_type: device + electricalCoordinates: [] + opticalCoordinates: + - 42.0 + - -76.0 + polarization: TE + sequences: [] + wavelength: '1550' + Ring7: + device_id: Ring7 + device_type: device + electricalCoordinates: [] + opticalCoordinates: + - 42.0 + - 50.0 + polarization: TE + sequences: [] + wavelength: '1550' + Ring8: + device_id: Ring8 + device_type: device + electricalCoordinates: [] + opticalCoordinates: + - 42.0 + - 177.0 + polarization: TE + sequences: [] + wavelength: '1550' +Sequences: + (wavelength_sweep_ida): + Runtime: 57.5 + results_info: + csv: 'True' + foldername: '' + legend: 'True' + mat: 'True' + num_plots: '1' + pdf: 'True' + pkl: 'False' + plottitle: WavelengthSweep + save_location: '' + saveplot: 'True' + visual: 'True' + xscale: '1' + xtitle: Wavelength (nm) + yscale: '1' + ytitle: Power (dBm) + variables: + Initialrange: '-20' + Laser Output: High Power + Numscans: '1' + Power: '1' + RangeDec: '20' + Start: '1350' + Step: '0.01' + Stop: '1580' + Sweep Speed: auto From a8b160d713358f0230b110d6f179d3d00a19e673 Mon Sep 17 00:00:00 2001 From: Prakash Das <128883891+prkshdas@users.noreply.github.com> Date: Mon, 15 Jul 2024 09:01:17 +0530 Subject: [PATCH 02/12] .yaml overwrite --- .../Ebeam_heaters_prakashdas_02_Decoder.yaml | 178 ++++++++++++++++++ 1 file changed, 178 insertions(+) diff --git a/submissions/Ebeam_heaters_prakashdas_02_Decoder.yaml b/submissions/Ebeam_heaters_prakashdas_02_Decoder.yaml index 0cb4af5..71e5a1a 100644 --- a/submissions/Ebeam_heaters_prakashdas_02_Decoder.yaml +++ b/submissions/Ebeam_heaters_prakashdas_02_Decoder.yaml @@ -11,9 +11,187 @@ Devices: - 290.0 polarization: TE sequences: + - (current_sweep_ida) + - (set_current_wavelength_sweep_ida) + - (set_voltage_wavelength_sweep_ida) + - (set_wavelength_current_sweep_ida) + - (set_wavelength_voltage_sweep_ida) + - (voltage_sweep_ida) - (wavelength_sweep_ida) wavelength: '1550' Sequences: + (current_sweep_ida): + Runtime: 5.0 + results_info: + csv: 'True' + foldername: '' + legend: 'True' + mat: 'True' + num_plots: '1' + pdf: 'True' + pkl: 'False' + plottitle: Current Sweep + save_location: '' + saveplot: 'True' + visual: 'True' + xscale: '1' + xtitle: Current (A) + yscale: '1' + ytitle: Voltage (V) + variables: + Channel A: 'True' + Channel B: 'False' + IV: 'True' + PV: 'True' + RV: 'True' + Start: '0' + Step: '0.1' + Stop: '1' + (set_current_wavelength_sweep_ida): + Runtime: 75.0 + results_info: + csv: 'True' + foldername: '' + legend: 'True' + mat: 'True' + num_plots: '1' + pdf: 'True' + pkl: 'False' + plottitle: Set Current Wavelength Sweep + save_location: '' + saveplot: 'True' + visual: 'True' + xscale: '1' + xtitle: Wavelength (nm) + yscale: '1' + ytitle: Power (dBm) + variables: + Channel A: 'True' + Channel B: 'False' + Currents: 0, 1, 2 + Initialrange: '-20' + Laser Output: High Power + Numscans: '1' + Power: '1' + RangeDec: '20' + Start: '1480' + Step: '1' + Stop: '1580' + Sweep Speed: auto + (set_voltage_wavelength_sweep_ida): + Runtime: 75.0 + results_info: + csv: 'True' + foldername: '' + legend: 'True' + mat: 'True' + num_plots: '1' + pdf: 'True' + pkl: 'False' + plottitle: Set Voltage Wavelength Sweep + save_location: '' + saveplot: 'True' + visual: 'True' + xscale: '1' + xtitle: Wavelength (nm) + yscale: '1' + ytitle: Power (dBm) + variables: + Channel A: 'True' + Channel B: 'False' + Initialrange: '-20' + Laser Output: High Power + Numscans: '1' + Power: '1' + RangeDec: '20' + Start: '1480' + Step: '1' + Stop: '1580' + Sweep Speed: auto + Voltages: 0, 1, 2 + (set_wavelength_current_sweep_ida): + Runtime: 15.0 + results_info: + csv: 'True' + foldername: '' + legend: 'True' + mat: 'True' + num_plots: '1' + pdf: 'True' + pkl: 'False' + plottitle: Set Wavelength Current Sweep + save_location: '' + saveplot: 'True' + visual: 'True' + xscale: '1' + xtitle: Current (A) + yscale: '1' + ytitle: Voltage (V) + variables: + Channel A: 'True' + Channel B: 'False' + IV: 'True' + PV: 'True' + RV: 'True' + Start: '0' + Step: '0.1' + Stop: '1' + Wavelengths: 1480, 1550, 1580 + (set_wavelength_voltage_sweep_ida): + Runtime: 1.5 + results_info: + csv: 'True' + foldername: '' + legend: 'True' + mat: 'True' + num_plots: '1' + pdf: 'True' + pkl: 'False' + plottitle: Set Wavelength Voltage Sweep + save_location: '' + saveplot: 'True' + visual: 'True' + xscale: '1' + xtitle: Voltage (V) + yscale: '1' + ytitle: Current (A) + variables: + Channel A: 'True' + Channel B: 'False' + IV: 'True' + PV: 'True' + RV: 'True' + Start: '0' + Step: '0.1' + Stop: '1' + Wavelengths: 1480, 1550, 1580 + (voltage_sweep_ida): + Runtime: 5.0 + results_info: + csv: 'True' + foldername: '' + legend: 'True' + mat: 'True' + num_plots: '1' + pdf: 'True' + pkl: 'True' + plottitle: Voltage Sweep + save_location: '' + saveplot: 'True' + visual: 'True' + xscale: '1' + xtitle: Voltage (V) + yscale: '1' + ytitle: Current (A) + variables: + Channel A: 'True' + Channel B: 'False' + IV: 'True' + PV: 'True' + RV: 'True' + Start: '0' + Step: '0.1' + Stop: '1' (wavelength_sweep_ida): Runtime: 25.0 results_info: From e203d94d7d39a6cc88f8f1af642259d50f88d185 Mon Sep 17 00:00:00 2001 From: lukasc-ubc Date: Mon, 15 Jul 2024 04:42:34 +0000 Subject: [PATCH 03/12] update README with new artifact url https://github.com/SiEPIC/openEBL-2024-07-Si-Heaters/actions/runs/9933829792/artifacts/1700351354 --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index c073de4..7f6a80b 100644 --- a/README.md +++ b/README.md @@ -91,5 +91,5 @@ The verification and merging is performed using GitHub actions. The repository i ## Latest Merge Layout File -https://github.com/SiEPIC/openEBL-2024-07-Si-Heaters/actions/runs/9933402598/artifacts/1700256761 +https://github.com/SiEPIC/openEBL-2024-07-Si-Heaters/actions/runs/9933829792/artifacts/1700351354 From afc42be425e0a0caac1fd6863c40a814938aad9e Mon Sep 17 00:00:00 2001 From: SK747 Date: Mon, 15 Jul 2024 04:48:10 +0000 Subject: [PATCH 04/12] update README with new artifact url https://github.com/SiEPIC/openEBL-2024-07-Si-Heaters/actions/runs/9933867039/artifacts/1700361089 --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 7f6a80b..eee0767 100644 --- a/README.md +++ b/README.md @@ -91,5 +91,5 @@ The verification and merging is performed using GitHub actions. The repository i ## Latest Merge Layout File -https://github.com/SiEPIC/openEBL-2024-07-Si-Heaters/actions/runs/9933829792/artifacts/1700351354 +https://github.com/SiEPIC/openEBL-2024-07-Si-Heaters/actions/runs/9933867039/artifacts/1700361089 From 6c59e7eabbd2e78fb1bad10b44544ed086685868 Mon Sep 17 00:00:00 2001 From: Lukas Chrostowski Date: Sun, 14 Jul 2024 21:52:44 -0700 Subject: [PATCH 05/12] Update README.md --- README.md | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/README.md b/README.md index eee0767..c428939 100644 --- a/README.md +++ b/README.md @@ -57,6 +57,9 @@ sc.launch() - SiEPIC_username.oas: for the CMC SiEPIC Passives silicon photonics workshop - SiEPIC_username.oas: for the CMC SiEPIC Actives silicon photonics workshop - For example: EBeam_LukasChrostowski_rings.oas + - Verify your design, using both: + - Design Rule Check (DRC), to check for manufacturability. KLayout > SiEPIC > Verification > KLayout Design Rule Check (DRC) - EBeam, or press the ***"d" hotkey***. + - Functional Verification, to check for optical circuit connectivity, testability. KLayout > SiEPIC > Verification > Functional Layout Check, or press the ***"v" hotkey***. - Create your YAML test routines file, following the same filename requirements as above, but ending with extension .yaml. - Ensure that your fork is up to date with the main SiEPIC repository. Click "Sync fork" image - Upload your design(s) into the "submissions" folder, as a binary file, namely a .gds (GDSII format) or .oas (OASIS format) file, and the YAML test routine file. @@ -91,5 +94,5 @@ The verification and merging is performed using GitHub actions. The repository i ## Latest Merge Layout File -https://github.com/SiEPIC/openEBL-2024-07-Si-Heaters/actions/runs/9933867039/artifacts/1700361089 +https://github.com/SiEPIC/openEBL-2024-07-Si-Heaters/actions/runs/9933829792/artifacts/1700351354 From e7536c7e24dadc5e68a10b825caa37f0a6eb5981 Mon Sep 17 00:00:00 2001 From: newmansc2 Date: Mon, 15 Jul 2024 05:16:05 +0000 Subject: [PATCH 06/12] update README with new artifact url https://github.com/SiEPIC/openEBL-2024-07-Si-Heaters/actions/runs/9934089642/artifacts/1700441810 --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index c428939..f9fd1c5 100644 --- a/README.md +++ b/README.md @@ -94,5 +94,5 @@ The verification and merging is performed using GitHub actions. The repository i ## Latest Merge Layout File -https://github.com/SiEPIC/openEBL-2024-07-Si-Heaters/actions/runs/9933829792/artifacts/1700351354 +https://github.com/SiEPIC/openEBL-2024-07-Si-Heaters/actions/runs/9934089642/artifacts/1700441810 From 31e1b9376f57bc2d47f4556eb3c24f5e3a063775 Mon Sep 17 00:00:00 2001 From: DingChunfjw Date: Mon, 15 Jul 2024 05:19:30 +0000 Subject: [PATCH 07/12] update README with new artifact url https://github.com/SiEPIC/openEBL-2024-07-Si-Heaters/actions/runs/9934118301/artifacts/1700464476 --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index f9fd1c5..1a4f099 100644 --- a/README.md +++ b/README.md @@ -94,5 +94,5 @@ The verification and merging is performed using GitHub actions. The repository i ## Latest Merge Layout File -https://github.com/SiEPIC/openEBL-2024-07-Si-Heaters/actions/runs/9934089642/artifacts/1700441810 +https://github.com/SiEPIC/openEBL-2024-07-Si-Heaters/actions/runs/9934118301/artifacts/1700464476 From 7e3b6b2c8df5e13a5b039627d3ecb99d83b2e3c0 Mon Sep 17 00:00:00 2001 From: DingChunfjw Date: Mon, 15 Jul 2024 05:20:17 +0000 Subject: [PATCH 08/12] update README with new artifact url https://github.com/SiEPIC/openEBL-2024-07-Si-Heaters/actions/runs/9934125782/artifacts/1700466453 --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 1a4f099..99497ea 100644 --- a/README.md +++ b/README.md @@ -94,5 +94,5 @@ The verification and merging is performed using GitHub actions. The repository i ## Latest Merge Layout File -https://github.com/SiEPIC/openEBL-2024-07-Si-Heaters/actions/runs/9934118301/artifacts/1700464476 +https://github.com/SiEPIC/openEBL-2024-07-Si-Heaters/actions/runs/9934125782/artifacts/1700466453 From 81ac503065391e6188707d570424294bd736a823 Mon Sep 17 00:00:00 2001 From: DingChunfjw Date: Mon, 15 Jul 2024 05:34:12 +0000 Subject: [PATCH 09/12] update README with new artifact url https://github.com/SiEPIC/openEBL-2024-07-Si-Heaters/actions/runs/9934249657/artifacts/1700488440 --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 99497ea..a74cd51 100644 --- a/README.md +++ b/README.md @@ -94,5 +94,5 @@ The verification and merging is performed using GitHub actions. The repository i ## Latest Merge Layout File -https://github.com/SiEPIC/openEBL-2024-07-Si-Heaters/actions/runs/9934125782/artifacts/1700466453 +https://github.com/SiEPIC/openEBL-2024-07-Si-Heaters/actions/runs/9934249657/artifacts/1700488440 From 93f806571dbc6f5ce3f0d6005835cfeefb78055e Mon Sep 17 00:00:00 2001 From: DingChunfjw Date: Mon, 15 Jul 2024 05:35:07 +0000 Subject: [PATCH 10/12] update README with new artifact url https://github.com/SiEPIC/openEBL-2024-07-Si-Heaters/actions/runs/9934257825/artifacts/1700490093 --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index a74cd51..002d633 100644 --- a/README.md +++ b/README.md @@ -94,5 +94,5 @@ The verification and merging is performed using GitHub actions. The repository i ## Latest Merge Layout File -https://github.com/SiEPIC/openEBL-2024-07-Si-Heaters/actions/runs/9934249657/artifacts/1700488440 +https://github.com/SiEPIC/openEBL-2024-07-Si-Heaters/actions/runs/9934257825/artifacts/1700490093 From 459551db80684a689ab489a29623d8c3d0ac9208 Mon Sep 17 00:00:00 2001 From: DingChunfjw Date: Mon, 15 Jul 2024 05:41:09 +0000 Subject: [PATCH 11/12] update README with new artifact url https://github.com/SiEPIC/openEBL-2024-07-Si-Heaters/actions/runs/9934308905/artifacts/1700499641 --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 002d633..307a96a 100644 --- a/README.md +++ b/README.md @@ -94,5 +94,5 @@ The verification and merging is performed using GitHub actions. The repository i ## Latest Merge Layout File -https://github.com/SiEPIC/openEBL-2024-07-Si-Heaters/actions/runs/9934257825/artifacts/1700490093 +https://github.com/SiEPIC/openEBL-2024-07-Si-Heaters/actions/runs/9934308905/artifacts/1700499641 From 1d725310a1eb387fc9bb212cbad17edccf7f2b6c Mon Sep 17 00:00:00 2001 From: DingChunfjw Date: Mon, 15 Jul 2024 05:42:03 +0000 Subject: [PATCH 12/12] update README with new artifact url https://github.com/SiEPIC/openEBL-2024-07-Si-Heaters/actions/runs/9934315317/artifacts/1700500971 --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 307a96a..95be4bf 100644 --- a/README.md +++ b/README.md @@ -94,5 +94,5 @@ The verification and merging is performed using GitHub actions. The repository i ## Latest Merge Layout File -https://github.com/SiEPIC/openEBL-2024-07-Si-Heaters/actions/runs/9934308905/artifacts/1700499641 +https://github.com/SiEPIC/openEBL-2024-07-Si-Heaters/actions/runs/9934315317/artifacts/1700500971