mxpic.components.primitives.pic.taper#
transition#
- class mxpic.components.primitives.pic.taper.transition(layer_FETCH='STRIP_TRE', layer_METCH='RIB_TRE', w_rib=1.1, dw_tolerance=0.2, w_grow_rib=2, w_grow_strip=2, Ltp1=15, Ltp2=10, Ltrans=5, L_port=2, show_pins=False)#
Bases:
objecttransition primitive component.
This component builds the transition layout cell.
- Parameters:
layer_FETCH (str, optional) – Layer or cross-section name used by the device. Default is ‘STRIP_TRE’.
layer_METCH (str, optional) – Layer or cross-section name used by the device. Default is ‘RIB_TRE’.
w_rib (float, optional) – Width parameter in microns. Default is 1.1.
dw_tolerance (float, optional) – Value for the dw_tolerance parameter. Default is 0.2.
w_grow_rib (float, optional) – Width parameter in microns. Default is 2.
w_grow_strip (float, optional) – Width parameter in microns. Default is 2.
Ltp1 (int, optional) – Length parameter in microns. Default is 15.
Ltp2 (int, optional) – Length parameter in microns. Default is 10.
Ltrans (int, optional) – Length parameter in microns. Default is 5.
L_port (int, optional) – Length parameter in microns. Default is 2.
show_pins (bool, optional) – Whether to draw pin markers in the generated layout. Default is False.
taper_xs2xs#
- class mxpic.components.primitives.pic.taper.taper_xs2xs(xs_1='rib', xs_2='strip', L_taper=10, w_1=0.45, w_2=0.45, L_port=0)#
Bases:
objecttaper xs2xs primitive component.
This component builds the taper xs2xs layout cell.
- Parameters:
xs_1 (str, optional) – Layer or cross-section name used by the device. Default is ‘rib’.
xs_2 (str, optional) – Layer or cross-section name used by the device. Default is ‘strip’.
L_taper (float, optional) – Length parameter in microns. Default is 10.
w_1 (float, optional) – Width parameter in microns. Default is 0.45.
w_2 (float, optional) – Width parameter in microns. Default is 0.45.
L_port (float, optional) – Length parameter in microns. Default is 0.
PSR#
- class mxpic.components.primitives.pic.taper.PSR(name='PSR_unit', xs='rib', layer_u=None, layer_d=None, w=[0.45, 0.45, 0.55, 1.2, 1.2], Lt_rib=[10, 30, 30, 10], ws=[0.45, 2, 1.2], Lt_slab=[40, 40], shape='sine', L_port=5, res=0.01)#
Bases:
objectPolarization Splitter & rotator.
- Parameters:
name (str, optional) – Unique identifier for the device cell. Default is ‘PSR_unit’.
xs (str, optional) – Layer or cross-section name used by the device. Default is ‘rib’.
layer_u (str, optional) – Layer or cross-section name used by the device. Default is None.
layer_d (str, optional) – Layer or cross-section name used by the device. Default is None.
w (list, optional) – Width parameter in microns. Default is [0.45, 0.45, 0.55, 1.2, 1.2].
Lt_rib (list, optional) – Length parameter in microns. Default is [10, 30, 30, 10].
ws (list, optional) – Value for the ws parameter. Default is [0.45, 2, 1.2].
Lt_slab (list, optional) – Length parameter in microns. Default is [40, 40].
shape (str, optional) – Value for the shape parameter. Default is ‘sine’.
L_port (float, optional) – Length parameter in microns. Default is 5.
res (float, optional) – Value for the res parameter. Default is 0.01.