RectangularAWG

class awg_designer.all.RectangularAWG(*args, **kwargs)

Rectangular AWG component. Consists of two star couplers and a waveguide bundle (the latter is automatically calculated).

To build an AWG, you need the following subcells:

A full build algorithm is provided as example in awg_designer.sample_designs.awg.demux1xM.build_awg_1xM().

Parameters
star_coupler_in: PCell and _Coupler, required

Input star coupler

star_coupler_out: PCell and _Coupler, required

Output star coupler

trace_template: PCell and _WaveguideTemplate
star_coupler_in_arm_ports: List with type restriction, allowed types: <class ‘str’>

list (in the right order) of the input star coupler port names that are connected to the array

star_coupler_in_ports: List with type restriction, allowed types: <class ‘str’>

list (in the right order) of the input star coupler port names that are mapped onto ‘in’ ports

star_coupler_out_arm_ports: List with type restriction, allowed types: <class ‘str’>

list (in the right order) of the output star coupler port names that are connected to the array

star_coupler_out_ports: List with type restriction, allowed types: <class ‘str’>

list (in the right order) of the output star coupler port names that are mapped onto ‘out’ ports

child_cells:

dict to create the instances of the child cells. Format is {‘inst_name1’: PCell}

links: list and List with type restriction, allowed types: [<class ‘collections.abc.Sequence’>]

list of tuples connecting the instances. Format is [(‘inst1:term1’,’inst2:term2’), …]

external_port_names: str

Map of the free instance terms/ports to the names of external terms/ports.Format is a dict {‘inst:term’ : ‘new_term_name’}.If a term/port is not listed, the format instname_portname will be used

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
waveguide_bundle: PCell and WaveguideBundle, TemplatedWaveguideBundle, locked

array of waveguides

Views

Layout = <class 'awg_designer.components.awg.rect_awg.RectangularAWG.Layout'>