RectangularAWG
- class awg_designer.all.RectangularAWG
- 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: - SlabTemplate: to define the slab of the star couplers
- SingleAperture: an aperture
- MultiAperture: an array of apertures used in the star couplers
- StarCoupler: combines the MultiAperture with the free propagation region
 - A full build algorithm is provided as example in - awg_designer.sample_designs.awg.demux1xM.build_awg_1xM().- Parameters:
- star_coupler_out: PCell and _Coupler, required
- Output star coupler 
- star_coupler_in: PCell and _Coupler, required
- Input star coupler 
- trace_template: PCell and _WaveguideTemplate
- 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 
- 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_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 
- 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 
- child_cells:
- dict to create the instances of the child cells. Format is {‘inst_name1’: PCell} 
- 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 - class Layout
- Parameters:
- delay_length: float
- Delay length between for the individual arms. 
- min_straight: float and int, float, integer, floating and number >= 0
- The minimum length of any straight sections in the route 
- star_coupler_separation: float
- distance between the outer edges of the star coupler 
- waveguide_bundle_transformation: GenericNoDistortTransform
- star_coupler_out_transformation: GenericNoDistortTransform
- star_coupler_in_transformation: GenericNoDistortTransform
- flyline_width: float and number > 0
- line width of the flylines 
- flyline_layer: ( __Layer__ ), *None allowed*
- layer to draw flylines of physically unconnected links 
- child_transformations:
- dictionary with the transformation of each child instance. 
- netlist_view: NetlistView
- Netlist view in the same cell on which this Layout is based. Normally no need to manually override. 
- 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 
- start_straight: float and int, float, integer, floating and number >= 0
- The length of the straight start section of the route 
- end_straight: float and int, float, integer, floating and number >= 0
- The length of the straight end section of the route 
- manhattan:
- Adds rectangular blocks in the bends to avoid as much as possible non-manhattan angles. 
- angle_step: float and number > 0
- Angle step for rounding. 
- rounding_algorithm: *None allowed*
- rounding algorithm used to generate the bends. Can be circular, spline, … 
- bend_radius: float and number > 0
- Bend radius for the auto-generated bends.