MMISymmetric

class picazzo3.filters.mmi.cell.MMISymmetric

MMI with symmetrically distributed access templates. This is usually useful when the MMI is used a splitter or combiner.

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

n_outputs: int and number > 0

Number of output channels.

n_inputs: int and number > 0

Number of input channels

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.

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 MMISymmetric
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 = MMISymmetric(
    mmi_trace_template=mmi_trace_template,
    input_trace_template=i3.TECH.PCELLS.WG.DEFAULT,
    output_trace_template=i3.TECH.PCELLS.WG.DEFAULT,
    n_inputs=3,
    n_outputs=2,
)
layout = MMI.Layout(length=10.0, trace_spacing=2.0)
layout.visualize(annotate=True)
../../../../../_images/picazzo3-filters-mmi-cell-MMISymmetric-1.png