diff --git a/klayout_dot_config/tech/EBeam/pymacros/Example - Contra-directional couplers array.lym b/klayout_dot_config/tech/EBeam/pymacros/Example - Contra-directional couplers array.lym index 715521d8..bf59d3dd 100644 --- a/klayout_dot_config/tech/EBeam/pymacros/Example - Contra-directional couplers array.lym +++ b/klayout_dot_config/tech/EBeam/pymacros/Example - Contra-directional couplers array.lym @@ -28,7 +28,7 @@ # Mustafa@ece.ubc.ca # September 2018 - # Uncomment line 260 to enable path_to_waveguide, or just do it on your own. + # Uncomment line 263 to enable path_to_waveguide, or just do it on your own. # Import KLayout-Python API @@ -46,7 +46,7 @@ class parameters(): # parameter to sweep # number of devices (i.e. length of this array) MUST BE EVEN as this is interleaved routing configuration! - parameterToSweep = linspace_without_numpy(1000,3000,100) + parameterToSweep = linspace_without_numpy(1000,2000,50) parameterName = 'N' # contraDC device parameters (refer to PCell definition) @@ -68,13 +68,13 @@ class parameters(): wg_bend_radius = 5 # waveguide routes bend radius bezier = 1 # Use adiabatic bezier bends (if 1) bezier_N = 0.2 # Bezier bend parameter - device_spacing = 10 # spacing between devices - wg_width = 0.5 # waveguide routes width + device_spacing = 7.3 # spacing between devices + wg_width = 1 # waveguide routes width taper_L = sbend_L # keep this relation! GC_pitch = 127 # spacing between grating couplers array (for a single device) - wg_pitch = 3 # spacing between waveguides ( keep > 2 microns to minimize cross coupling) - route_down = -200 # FIXIT gonna define in a sec + wg_pitch = 13 # spacing between waveguides ( keep > 2 microns to minimize cross coupling) + route_down = -153-wg_bend_radius # FIXIT gonna define in a sec route_up = 200 # FIXIT gonna define in a sec diff --git a/klayout_dot_config/tech/EBeam/pymacros/SiEPIC_EBeam-dev Library.lym b/klayout_dot_config/tech/EBeam/pymacros/SiEPIC_EBeam-dev Library.lym index fef369b4..87b56db7 100644 --- a/klayout_dot_config/tech/EBeam/pymacros/SiEPIC_EBeam-dev Library.lym +++ b/klayout_dot_config/tech/EBeam/pymacros/SiEPIC_EBeam-dev Library.lym @@ -1363,8 +1363,8 @@ class DoubleBus_Ring(PCellDeclarationHelper): wg2 = Box(0, y_offset-w/2, w+2*r, y_offset+w/2) shapes(LayerSiN).insert(wg2) + from SiEPIC._globals import PIN_LENGTH as pin_length # Create the pins, as short paths: - pin_length = PIN_LENGTH # database units, = 0.2 microns pin = Path([Point(-pin_length/2, 0), Point(pin_length/2, 0)], w) shapes(LayerPinRecN).insert(pin) @@ -1470,9 +1470,9 @@ class TestStruct_DoubleBus_Ring(PCellDeclarationHelper): - lib = Library.library_by_name("SiEPIC-EBeam-dev") + lib = Library.library_by_name("EBeam-dev") if lib == None: - raise Exception("Unknown lib 'SiEPIC-EBeam PCells'") + raise Exception("Unknown lib 'EBeam-dev'") pcell_decl = lib.layout().pcell_declaration("DoubleBus_Ring"); if pcell_decl == None: @@ -1599,7 +1599,7 @@ class TestStruct_DoubleBus_Ring2(PCellDeclarationHelper): g = self.g y_ring = 127*3/2+r - pcell = ly.create_cell("DoubleBus_Ring", "SiEPIC-EBeam PCells", {"r": r, "w": wg_width, "g": g, "silayer": LayerSi, "devrec": self.devrec, "pinrec": self.pinrec }) + pcell = ly.create_cell("DoubleBus_Ring", "EBeam-dev", {"r": r, "w": wg_width, "g": g, "silayer": LayerSi, "devrec": self.devrec, "pinrec": self.pinrec }) print( "pcell: %s, %s" \ % (pcell.cell_index(), ly.cell_name(pcell.cell_index()) ) ) t = Trans(Trans.R270, 10 / dbu, y_ring / dbu)