From f81a1becc4d6cc9c4cbfeca52a5e6ced45279163 Mon Sep 17 00:00:00 2001 From: Lukas Chrostowski Date: Tue, 29 Oct 2024 23:37:10 -0700 Subject: [PATCH 1/2] Update spiral_paperclip.py putting the spiral middle (where it switches from CW to CCW), on one side, to reduce the number of SM to MM converters (two fewer). Thanks Pegah at UBC. --- .../pcells_EBeam_Beta/spiral_paperclip.py | 18 ++++++++++++++++-- 1 file changed, 16 insertions(+), 2 deletions(-) diff --git a/klayout/EBeam/pymacros/pcells_EBeam_Beta/spiral_paperclip.py b/klayout/EBeam/pymacros/pcells_EBeam_Beta/spiral_paperclip.py index 600ac943..df6bc6c9 100644 --- a/klayout/EBeam/pymacros/pcells_EBeam_Beta/spiral_paperclip.py +++ b/klayout/EBeam/pymacros/pcells_EBeam_Beta/spiral_paperclip.py @@ -290,8 +290,8 @@ def produce_impl(self): # spiral points points = [ DPoint(-length0, offset), - DPoint(0.0, offset), - DPoint(0.0, -offset), + DPoint(-length0+radius*2, offset), + DPoint(-length0+radius*2, -offset), DPoint(length0, -offset), ] for i in range(1, self.loops * 2, 2): @@ -447,6 +447,11 @@ def __init__(self): from SiEPIC.utils.layout import new_layout from SiEPIC.scripts import zoom_out + from SiEPIC._globals import Python_Env + if Python_Env == 'Script': + # For external Python mode, when installed using pip install siepic_ebeam_pdk + import siepic_ebeam_pdk + # load the test library, and technology t = test_lib() tech = t.technology @@ -505,3 +510,12 @@ def __init__(self): xmax = max(xmax, x + inst.bbox().width()) zoom_out(topcell) + + + # Display the layout in KLayout, using KLayout Package "klive", which needs to be installed in the KLayout Application + if Python_Env == 'Script': + from SiEPIC.scripts import export_layout + path = os.path.dirname(os.path.realpath(__file__)) + file_out = export_layout (topcell, path, filename='spiral_paperclip', relative_path='', format='oas') + from SiEPIC.utils import klive + klive.show(file_out, technology=tech) From e411887a702a82a68f2dfdcdfe1c6d80590f323d Mon Sep 17 00:00:00 2001 From: Lukas Chrostowski Date: Tue, 29 Oct 2024 23:39:10 -0700 Subject: [PATCH 2/2] Update WAVEGUIDES_SiN.xml MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit SiN with 50 µm bend radius and bezier parameters. @jingxiang would you be able to optimize the bends for the standard SiN process? 1310, 1550 nm? There are different waveguide widths as well, so wondering what is a good choice. thanks! --- klayout/EBeam/WAVEGUIDES_SiN.xml | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/klayout/EBeam/WAVEGUIDES_SiN.xml b/klayout/EBeam/WAVEGUIDES_SiN.xml index 1a2ebf04..7e4431a7 100755 --- a/klayout/EBeam/WAVEGUIDES_SiN.xml +++ b/klayout/EBeam/WAVEGUIDES_SiN.xml @@ -129,7 +129,8 @@ None None true - 110 + 0.3 + 50.0 0.75 SiN