RibMMI2x2Tapered¶

class picazzo3.filters.mmi_rib.cell.RibMMI2x2Tapered(*args, **kwargs)

Rib 2x2 MMI with symmetrically distributed access templates and with tapers.

Parameters: external_port_names: optional Dictionary for remapping of the port names of the contents to the external ports input_trace_template: PCell, optional Input trace template. mmi_trace_template: PCell and _WaveguideTemplate, optional Trace template used for the MMI section output_trace_template: PCell, optional Output trace template. port_labels: optional Labels of the ports to be processed. Set to None to process all ports. trace_template: optional Template for all ports. If None, the waveguide templates of the ports will be used transitions: List with type restriction, allowed types: , optional List of transistions that is used on this MMI. By default Autotracetransition is used on all the transitions transition_database: AutoTransitionDatabase, optional AutoTransitionDatabase in which the correct transition between the two trace templates can be looked up. cell_instances: _PCellInstanceDict, optional name: optional The unique name of the pcell mmi_trace: PCell, locked Trace of the MMI section n_outputs: int and number > 0, locked Number of output channels. n_inputs: int and number > 0, locked Number of input channels. input_trace_templates: List with type restriction, allowed types: , locked List of the input trace templates. output_trace_templates: List with type restriction, allowed types: , locked List of the output trace templates. contents: PCell, locked Contains the base MMI without the tapers trace_templates: List with type restriction, allowed types: , locked list of templates to apply to all ports

Views

Layout
Parameters: contents_transformation: GenericNoDistortTransform, optional flatten_contents: optional if True, it will insert the contents as elements in the layout, rather than as an Instance grids_per_unit: optional Number of grid cells per design unit trace_spacing: float and Real, number and number >= 0, optional Offset between the traces at the input and the output units_per_grid: optional Ratio of grid cell and design unit view_name: str, optional The name of the view extra_line_thickness: float and Real, number and number >= 0, optional Extra width added to minimum_space to calculate the width of the line correction (usually you do not have to modify this) minimum_space: float and number > 0, optional Minimum space between the tapers needed for the line corrections be added (usually you do not have to modify this) rib_cover_purpose: PatternPurpose, optional Drawing purpose for covering the mmi and rib-only part of the tapers straight_extension: optional Tuple: straight extensions of the transitions. Set to None to take the standard straight extensions zero_length_if_identical: optional uses a zero-length transition if the trace templates are identical length: float and number > 0, optional Length of the MMI transition_length: optional Length of the transition. Set to None to take the standard transition length. grid: float and number > 0, optional design grid. Extracted by default from TECH.METRICS.GRID unit: float and number > 0, optional design unit. Extracted by default from TECH.METRICS.UNIT transition_lengths: locked input_y_positions: list, locked Positions in the y direction at the input where ports are be added output_y_positions: list, locked Positions in the y direction at the output where access waveguides are be added

Examples

import technologies.silicon_photonics
from picazzo3.filters.mmi_rib.cell import RibMMI2x2Tapered
from picazzo3.traces.rib_wg import RibWaveguideTemplate
from picazzo3.traces.wire_wg.trace import WireWaveguideTemplate

mmi_trace_template = RibWaveguideTemplate()

mmi_wav_template = WireWaveguideTemplate()