PhaseModulator

class picazzo3.modulators.phase.cell.PhaseModulator(*args, **kwargs)

Straight Phase Modulator PCell. Takes a trace template for the modulator, generates a phase modulator waveguide and adds transitions. Exposes the optical and electrical ports and terms of the (tapered) phase modulator waveguide.

Make sure to explicitly specify the ports to be tapered (the optical ports) in port_labels. Specify the length of the modulator in the Layout View.

Parameters
contents: PCell

the contents of the container: the child cell

trace_template: ( PCell and _WaveguideTemplate ), *None allowed*

Template for all ports, defaults to TECH.PCELLS.WG.DEFAULT.When set to None, the waveguide templates of the ports will be used.

transition_database: AutoTransitionDatabase

AutoTransitionDatabase in which the correct transition between the two trace templates can be looked up.

transitions: List with type restriction, allowed types: <class ‘ipkiss3.pcell.cell.pcell.PCell’>

Transitions (of type WaveguideTransitionFromPort) attached the the ports given in port_labels. Should be in the same order as port_labels.

port_labels: ( List with type restriction, allowed types: <class ‘str’> ), *None allowed*

Labels of the ports to be processed. Set to None to process all ports.

external_port_names: str

Dictionary for remapping of the port names of the contents to the external ports

modulator_trace_template: PCell and _TraceTemplate and PhaseShifterWaveguideTemplate

trace template to use for the phase modulator waveguide

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
trace_templates: List with type restriction, allowed types: <class ‘ipkiss3.pcell.cell.pcell.PCell’>, locked

list of templates to apply to all ports

Views

Layout = <class 'picazzo3.modulators.phase.cell.PhaseModulator.Layout'>