MMI2x2
- class picazzo3.filters.mmi.cell.MMI2x2
MMI with one access waveguide and two output waveguides that symmetrically distributed. This is usually useful when the MMI is used as a 2x2 splitter or a crossing.
- Parameters:
- output_trace_template: PCell
Output trace template.
- input_trace_template: PCell
Input trace template.
- mmi_trace_template: PCell and _WaveguideTemplate
Trace template used for the MMI section
- 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:
- mmi_trace: PCell, locked
Trace of the MMI section
- output_trace_templates: List with type restriction, allowed types: <class ‘ipkiss3.pcell.cell.pcell.PCell’>, locked
List of the output trace templates.
- input_trace_templates: List with type restriction, allowed types: <class ‘ipkiss3.pcell.cell.pcell.PCell’>, locked
List of the input trace templates.
- n_outputs: int and number > 0, locked
Number of output channels.
- n_inputs: int and number > 0, locked
Number of input channels.
Views
- class Layout
- Parameters:
- trace_spacing: float and Real, number and number >= 0
Offset between the traces at the input and the output
- length: float and number > 0
Length of the MMI
- 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:
- output_y_positions: list<Real, number>, locked
Positions in the y direction at the output where access waveguides are be added
- input_y_positions: list<Real, number>, locked
Positions in the y direction at the input where ports are be added
Examples
import si_fab.all as pdk # noqa: F401 from picazzo3.filters.mmi.cell import MMI2x2 from picazzo3.traces.wire_wg.trace import WireWaveguideTemplate import ipkiss3.all as i3 mmi_trace_template = WireWaveguideTemplate() mmi_trace_template.Layout(core_width=6.0, cladding_width=10.0) MMI = MMI2x2( mmi_trace_template=mmi_trace_template, input_trace_template=i3.TECH.PCELLS.WG.DEFAULT, output_trace_template=i3.TECH.PCELLS.WG.DEFAULT, ) layout = MMI.Layout(length=10.0, trace_spacing=2.0) layout.visualize(annotate=True)