DoubleSlotWaveguideTemplate¶
-
class
picazzo3.traces.slot_wg.
DoubleSlotWaveguideTemplate
(*args, **kwargs)¶ This waveguide is a strip-like waveguide with a two slots in the middle
___ __ ___ | | | | | | | | | | | | _______________|___|_| |_|___|_________________
Parameters: name:
The unique name of the pcell
Views
-
Layout
¶ Parameters: center_core_width: float and number > 0
control_shape_layer: __Layer__
layer on which the control shape is drawn
core_width: float and number > 0
view_name: str and ( Alphanumeric string or Contains _$ )
The name of the view
windows: List with type restriction, allowed types: <class ‘ipkiss3.pcell.trace.window.window._TraceWindow’>
List of Trace Windows that know how to draw themselves relative to the shape of the Trace
cladding_width: float and number > 0
total width of the waveguide with cladding
core_process: ProcessLayer
process for the waveguide ribs
core_purpose: PatternPurpose
drawing purpose for the waveguide ribs
cover_layers: List with type restriction, allowed types: <class ‘ipkiss.primitives.layer.Layer’>
layers that can be used to generate additional coverage of the trace (e.g. manhattan corners)
slot_process: ProcessLayer
process for the slot
slot_purpose: PatternPurpose
drawing purpose for the slot
slot_width: float and number > 0
width of the slot
cladding_process: ProcessLayer
process for the waveguide cladding, defaults to the core process
cladding_purpose: PatternPurpose
drawing purpose layer for the cladding
core_layer: __Layer__
layer used to define the core of the waveguide
pin_shape: Shape
shape to be used for the pins
trace_template_for_ports: _TraceTemplate.Layout
Trace template to be used for the ports. Default = this template
draw_control_shape: ( bool, bool_, bool or int )
draws the control shape on top of the waveguide
width: float and Real, number and number >= 0
Examples
""" This example shows how you use the template to directly create a slot waveguide PCell and its layout. """ from technologies import silicon_photonics from picazzo3.traces.slot_wg.trace import DoubleSlotWaveguideTemplate wg_t = DoubleSlotWaveguideTemplate(name="my_doubleslot_wg_template1") wg_t.Layout(core_width=0.6, slot_width=0.12, center_core_width=0.12, cladding_width=2 * 3.0 + 0.6) wg = wg_t(name="my_doubleslot_waveguide1") layout = wg.Layout(shape=[(0.0, 0.0), (10.0, 0.0)]) layout.visualize(annotate=True)
-