SlottedWireWaveguideTransitionLinear
- class picazzo3.traces.slot_wg.SlottedWireWaveguideTransitionLinear
Transition from/to a slotted waveguide to/from a wire waveguide.
You can provide either a slotted waveguide for the start, and a wire waveguide for the end, or vica versa.
- Parameters:
- end_trace_template: PCell and _TraceTemplate and WireWaveguideTemplate, SlotWaveguideTemplate
- start_trace_template: PCell and _TraceTemplate and WireWaveguideTemplate, SlotWaveguideTemplate
- name: String that contains only ISO/IEC 8859-1 (extended ASCII py3) or pure ASCII (py2) characters
The unique name of the pcell
- Other Parameters:
- reverse_templates: ( bool, bool_ or int ), locked
When True, treat start_trace_template as end_trace_template and vice versa. To use the correct templates, use the _{start/stop}_trace_template properties. This should not be set manually, but calculated by the transition itself.
Views
- class Layout
- Parameters:
- tip_width: float and number > 0
- slot_extension_length: float and number > 0
- straight_extension: Coord2 and number >= 0
tuple: straight extension at start and end of transition
- end_position: Coord2
end position of the transition
- start_position: Coord2
start position of the transition
- view_name: String that contains only alphanumeric characters from the ASCII set or contains _$. ASCII set is extended on PY3.
The name of the view
- Other Parameters:
- length: float and Real, number and number >= 0, locked
length of the transition
Examples
"""This example shows how you transition from a wire to a slotted waveguide.""" import si_fab.all as pdk # noqa: F401 from picazzo3.traces.wire_wg import WireWaveguideTemplate from picazzo3.traces.slot_wg import SlotWaveguideTemplate, SlottedWireWaveguideTransitionLinear from ipkiss3 import all as i3 wg_start_wire = WireWaveguideTemplate() wg_start_wire.Layout(core_width=0.6, cladding_width=0.6 + 2 * i3.TECH.WG.TRENCH_WIDTH) wg_start = SlotWaveguideTemplate() wg_start.Layout(slot_width=0.15, cladding_width=1.0) wg_end = WireWaveguideTemplate() wg_end.Layout(core_width=0.6, cladding_width=0.6 + 2 * i3.TECH.WG.TRENCH_WIDTH) t = SlottedWireWaveguideTransitionLinear( name="my_transition", start_trace_template=wg_start, end_trace_template=wg_end ) t_lay = t.Layout(start_position=(3.0, 3.0), end_position=(23.0, 3.0), straight_extension=(0.3, 0.4)) t_lay.visualize(annotate=True)