diff --git a/submissions/EBeam_LukasChrostowski_rings.oas b/submissions/EBeam_LukasChrostowski_rings.oas index 483ab5be..4d54a00b 100644 Binary files a/submissions/EBeam_LukasChrostowski_rings.oas and b/submissions/EBeam_LukasChrostowski_rings.oas differ diff --git a/submissions/KLayout Python/EBeam_LukasChrostowski_rings.py b/submissions/KLayout Python/EBeam_LukasChrostowski_rings.py index d8caf1f5..aa460153 100644 --- a/submissions/KLayout Python/EBeam_LukasChrostowski_rings.py +++ b/submissions/KLayout Python/EBeam_LukasChrostowski_rings.py @@ -2,7 +2,7 @@ Scripted layout for ring resonators using SiEPIC-Tools in the SiEPIC-EBeam-PDK "EBeam" technology -by Lukas Chrostowski, 2023 +by Lukas Chrostowski, 2024 Use instructions: @@ -56,8 +56,8 @@ def dbl_bus_ring_res(): # Configure parameter sweep pol = 'TE' - sweep_radius = [3, 5, 5, 5, 10, 10, 10, 10, 10] - sweep_gap = [0.07, 0.07, 0.08, 0.09, 0.07, 0.08, 0.09, 0.10, 0.11] + sweep_radius = [3, 5, 5, 5, 10, 10, 10, 10] + sweep_gap = [0.07, 0.07, 0.08, 0.09, 0.08, 0.09, 0.10, 0.11] x_offset = 67 wg_bend_radius = 5 @@ -84,7 +84,7 @@ def dbl_bus_ring_res(): top_cell = cell dbu = ly.dbu cell = cell.layout().create_cell("RingResonator") - t = Trans(Trans.R0, 40 / dbu, 12 / dbu) + t = Trans(Trans.R0, 40 / dbu, 14 / dbu) # place the cell in the top cell top_cell.insert(CellInstArray(cell.cell_index(), t)) @@ -104,7 +104,8 @@ def dbl_bus_ring_res(): x=0 else: # next device is placed at the right-most element + length of the grating coupler - x = inst_dc2.bbox().right*dbu + gc_length + 1 + # or 60 microns from the previous grating coupler, whichever is greater + x = max(inst_dc2.bbox().right*dbu + gc_length + 1, instGCs[0].trans.disp.x*dbu + 60) # get the parameters r = sweep_radius[i]