mxpic.components.primitives.active.rings#
Route#
- class mxpic.components.primitives.active.rings.Route(radius=None, width=None, angle=90, xs=None, layer=None, adapt_width=False, adapt_xs=False, instantiate=False, pinstyle=None, offset=None, varname=None, doc='', PCB=False, modes=None)#
Bases:
Interconnect
AED_Ring_PIN#
- class mxpic.components.primitives.active.rings.AED_Ring_PIN(name=None, ORx=10, ORy=9, IRx=9.35, IRy=8.6, gap=0.2, dual_BUS=False, w_bus=0.45, R_cp=None, A_cp=0, offset_X=0, offset_Y=0, w_wg=0.45, R_att=20, R_att_min=10, A_att=30, Ltp_bus=10, dL_p2p=None, L_tilt=10, xs_ring='strip', sharp_patch=True, Euler_trasition=False, show_pins=False, xs_heater='heater', w_heater=0, xs_metal='metal', w_metal=8, via_h2m=None, isl=None, A_ht=270, ht_notch_dual=True, epin_ht_dX=10, epin_ht_dY=3, via_i2m=None, xs_metal_imp='metal', xs_p='p', xs_n='n', xs_cont_wg=None, w_p=3.0, gap_p_i=1, gap_n_i=1, w_n=3.0, offset_i=0, A_imp_in=180, A_imp_out=180, sp_cont=0.2, w_ovlp=0.1, bus_dopping=True, p_in_n_out=False, cell_xs_transition=None)#
Bases:
MRR_AEDAED Ring PIN primitive component.
This component builds the AED Ring PIN layout cell.
- Parameters:
name (Optional[str], optional) – Unique identifier for the device cell. Default is None.
ORx (float, optional) – Value for the ORx parameter. Default is 10.
ORy (float, optional) – Value for the ORy parameter. Default is 9.
IRx (float, optional) – Value for the IRx parameter. Default is 10 - 0.65.
IRy (float, optional) – Value for the IRy parameter. Default is 9 - 0.4.
gap (float, optional) – Spacing or gap parameter in microns. Default is 0.2.
dual_BUS (bool, optional) – Value for the dual_BUS parameter. Default is False.
w_bus (float, optional) – Width parameter in microns. Default is 0.45.
R_cp (Any, optional) – Radius parameter in microns. Default is None.
A_cp (int, optional) – Angle parameter in degrees. Default is 0.
offset_X (float, optional) – Value for the offset_X parameter. Default is 0.
offset_Y (float, optional) – Value for the offset_Y parameter. Default is 0.
w_wg (float, optional) – Width parameter in microns. Default is 0.45.
R_att (float, optional) – Radius parameter in microns. Default is 20.
R_att_min (float, optional) – Radius parameter in microns. Default is 10.
A_att (float, optional) – Angle parameter in degrees. Default is 30.
Ltp_bus (int, optional) – Length parameter in microns. Default is 10.
dL_p2p (Optional[float], optional) – Value for the dL_p2p parameter. Default is None.
L_tilt (int, optional) – Length parameter in microns. Default is 10.
xs_ring (str, optional) – Layer or cross-section name used by the device. Default is ‘strip’.
sharp_patch (bool, optional) – Whether to add geometry patches for sharp corners or cladding continuity. Default is True.
Euler_trasition (bool, optional) – Value for the Euler_trasition parameter. Default is False.
show_pins (bool, optional) – Whether to draw pin markers in the generated layout. Default is False.
xs_heater (str, optional) – Layer or cross-section name used by the device. Default is ‘heater’.
w_heater (float, optional) – Width parameter in microns. Default is 0.
xs_metal (str, optional) – Layer or cross-section name used by the device. Default is ‘metal’.
w_metal (float, optional) – Width parameter in microns. Default is 8.
via_h2m (Any, optional) – Via definition used between heater and metal layers. Default is None.
isl (Any, optional) – Isolation-trench definition used by the electrical layout. Default is None.
A_ht (float, optional) – Angle parameter in degrees. Default is 270.
ht_notch_dual (bool, optional) – Value for the ht_notch_dual parameter. Default is True.
epin_ht_dX (int, optional) – Value for the epin_ht_dX parameter. Default is 10.
epin_ht_dY (int, optional) – Value for the epin_ht_dY parameter. Default is 3.
via_i2m (Any, optional) – Via definition used between implant and metal layers. Default is None.
xs_metal_imp (str, optional) – Layer or cross-section name used by the device. Default is ‘metal’.
xs_p (str, optional) – Layer or cross-section name used by the device. Default is ‘p’.
xs_n (str, optional) – Layer or cross-section name used by the device. Default is ‘n’.
xs_cont_wg (Optional[str], optional) – Layer or cross-section name used by the device. Default is None.
w_p (float, optional) – Width parameter in microns. Default is 3.0.
gap_p_i (float, optional) – Spacing or gap parameter in microns. Default is 1.
gap_n_i (float, optional) – Spacing or gap parameter in microns. Default is 1.
w_n (float, optional) – Width parameter in microns. Default is 3.0.
offset_i (float, optional) – Value for the offset_i parameter. Default is 0.
A_imp_in (int, optional) – Angle parameter in degrees. Default is 180.
A_imp_out (int, optional) – Angle parameter in degrees. Default is 180.
sp_cont (float, optional) – Spacing or gap parameter in microns. Default is 0.2.
w_ovlp (float, optional) – Width parameter in microns. Default is 0.1.
bus_dopping (bool, optional) – Value for the bus_dopping parameter. Default is True.
p_in_n_out (bool, optional) – Value for the p_in_n_out parameter. Default is False.
cell_xs_transition (Any, optional) – Cell or component dependency used by this device. Default is None.
- generate_imp_gds()#
STD_Ring_PIN#
- class mxpic.components.primitives.active.rings.STD_Ring_PIN(name, r_ring=10, w_ring=0.55, gap=0.2, dual_BUS=True, w_bus=0.45, R_cp=None, A_cp=0, offset_X=0, offset_Y=0, w_wg=0.45, R_att=20, R_att_min=10, A_att=30, Ltp_bus=10, dL_p2p=None, L_tilt=10, xs_ring='strip', sharp_patch=True, Euler_trasition=False, show_pins=False, xs_heater='heater', w_heater=0, xs_metal='metal', w_metal=8, via_h2m=None, isl=None, A_ht=270, ht_notch_dual=True, epin_ht_dX=10, epin_ht_dY=3, xs_metal_imp='metal', via_i2m=None, xs_p='p', xs_n='n', xs_cont_wg=None, w_p=3, gap_p_i=1, gap_n_i=1, w_n=3, offset_i=0, A_imp_in=180, A_imp_out=180, xs_pcont='pp', xs_ncont='np', w_pcont=3, w_ncont=3, sp_cont=0.2, w_ovlp=0.2, bus_dopping=True, p_in_n_out=False)#
Bases:
AED_Ring_PINSTD Ring PIN primitive component.
This component builds the STD Ring PIN layout cell.
- Parameters:
name (str) – Unique identifier for the device cell.
r_ring (float, optional) – Radius parameter in microns. Default is 10.
w_ring (float, optional) – Width parameter in microns. Default is 0.55.
gap (float, optional) – Spacing or gap parameter in microns. Default is 0.2.
dual_BUS (bool, optional) – Value for the dual_BUS parameter. Default is True.
w_bus (float, optional) – Width parameter in microns. Default is 0.45.
R_cp (Any, optional) – Radius parameter in microns. Default is None.
A_cp (int, optional) – Angle parameter in degrees. Default is 0.
offset_X (float, optional) – Value for the offset_X parameter. Default is 0.
offset_Y (float, optional) – Value for the offset_Y parameter. Default is 0.
w_wg (float, optional) – Width parameter in microns. Default is 0.45.
R_att (float, optional) – Radius parameter in microns. Default is 20.
R_att_min (float, optional) – Radius parameter in microns. Default is 10.
A_att (float, optional) – Angle parameter in degrees. Default is 30.
Ltp_bus (int, optional) – Length parameter in microns. Default is 10.
dL_p2p (Optional[float], optional) – Value for the dL_p2p parameter. Default is None.
L_tilt (int, optional) – Length parameter in microns. Default is 10.
xs_ring (str, optional) – Layer or cross-section name used by the device. Default is ‘strip’.
sharp_patch (bool, optional) – Whether to add geometry patches for sharp corners or cladding continuity. Default is True.
Euler_trasition (bool, optional) – Value for the Euler_trasition parameter. Default is False.
show_pins (bool, optional) – Whether to draw pin markers in the generated layout. Default is False.
xs_heater (str, optional) – Layer or cross-section name used by the device. Default is ‘heater’.
w_heater (float, optional) – Width parameter in microns. Default is 0.
xs_metal (str, optional) – Layer or cross-section name used by the device. Default is ‘metal’.
w_metal (float, optional) – Width parameter in microns. Default is 8.
via_h2m (Any, optional) – Via definition used between heater and metal layers. Default is None.
isl (Any, optional) – Isolation-trench definition used by the electrical layout. Default is None.
A_ht (float, optional) – Angle parameter in degrees. Default is 270.
ht_notch_dual (bool, optional) – Value for the ht_notch_dual parameter. Default is True.
epin_ht_dX (int, optional) – Value for the epin_ht_dX parameter. Default is 10.
epin_ht_dY (int, optional) – Value for the epin_ht_dY parameter. Default is 3.
xs_metal_imp (str, optional) – Layer or cross-section name used by the device. Default is ‘metal’.
via_i2m (Any, optional) – Via definition used between implant and metal layers. Default is None.
xs_p (str, optional) – Layer or cross-section name used by the device. Default is ‘p’.
xs_n (str, optional) – Layer or cross-section name used by the device. Default is ‘n’.
xs_cont_wg (Optional[str], optional) – Layer or cross-section name used by the device. Default is None.
w_p (float, optional) – Width parameter in microns. Default is 3.
gap_p_i (float, optional) – Spacing or gap parameter in microns. Default is 1.
gap_n_i (float, optional) – Spacing or gap parameter in microns. Default is 1.
w_n (float, optional) – Width parameter in microns. Default is 3.
offset_i (float, optional) – Value for the offset_i parameter. Default is 0.
A_imp_in (int, optional) – Angle parameter in degrees. Default is 180.
A_imp_out (int, optional) – Angle parameter in degrees. Default is 180.
xs_pcont (str, optional) – Layer or cross-section name used by the device. Default is ‘pp’.
xs_ncont (str, optional) – Layer or cross-section name used by the device. Default is ‘np’.
w_pcont (float, optional) – Width parameter in microns. Default is 3.
w_ncont (float, optional) – Width parameter in microns. Default is 3.
sp_cont (float, optional) – Spacing or gap parameter in microns. Default is 0.2.
w_ovlp (float, optional) – Width parameter in microns. Default is 0.2.
bus_dopping (bool, optional) – Value for the bus_dopping parameter. Default is True.
p_in_n_out (bool, optional) – Value for the p_in_n_out parameter. Default is False.
PIN_MRR_MM_Allpass#
- class mxpic.components.primitives.active.rings.PIN_MRR_MM_Allpass(name=None, r_ring=10, w_ring=0.55, gap=0.2, w_bus=0.45, R_cp=None, A_cp=0, R_att=10, R_att_min=10, A_att=10, offset_X=0, offset_Y=0, w_wg=0.45, Ltp_bus=10, dL_p2p=None, xs_ring='strip', sharp_patch=True, show_pins=False, xs_heater='heater', w_heater=0, xs_metal='metal', w_metal=8, via_h2m=None, isl=None, A_ht=270, ht_notch_dual=True, epin_ht_dX=10, epin_ht_dY=3, xs_metal_imp='metal', via_i2m=None, xs_p='p', xs_n='n', xs_cont_wg=None, w_p=3, w_n=3, w_i=1, offset_i=0, A_imp_in=180, A_imp_out=180, sp_cont=0.2, w_ovlp=0.2, bus_dopping=True, cell_xs_transition=None, p_in_n_out=False)#
Bases:
AED_Ring_PINPIN MRR MM Allpass primitive component.
This component builds the PIN MRR MM Allpass layout cell.
- Parameters:
name (Optional[str], optional) – Unique identifier for the device cell. Default is None.
r_ring (float, optional) – Radius parameter in microns. Default is 10.
w_ring (float, optional) – Width parameter in microns. Default is 0.55.
gap (float, optional) – Spacing or gap parameter in microns. Default is 0.2.
w_bus (float, optional) – Width parameter in microns. Default is 0.45.
R_cp (Any, optional) – Radius parameter in microns. Default is None.
A_cp (int, optional) – Angle parameter in degrees. Default is 0.
R_att (int, optional) – Radius parameter in microns. Default is 10.
R_att_min (int, optional) – Radius parameter in microns. Default is 10.
A_att (int, optional) – Angle parameter in degrees. Default is 10.
offset_X (float, optional) – Value for the offset_X parameter. Default is 0.
offset_Y (float, optional) – Value for the offset_Y parameter. Default is 0.
w_wg (float, optional) – Width parameter in microns. Default is 0.45.
Ltp_bus (int, optional) – Length parameter in microns. Default is 10.
dL_p2p (Optional[float], optional) – Value for the dL_p2p parameter. Default is None.
xs_ring (str, optional) – Layer or cross-section name used by the device. Default is ‘strip’.
sharp_patch (bool, optional) – Whether to add geometry patches for sharp corners or cladding continuity. Default is True.
show_pins (bool, optional) – Whether to draw pin markers in the generated layout. Default is False.
xs_heater (str, optional) – Layer or cross-section name used by the device. Default is ‘heater’.
w_heater (float, optional) – Width parameter in microns. Default is 0.
xs_metal (str, optional) – Layer or cross-section name used by the device. Default is ‘metal’.
w_metal (float, optional) – Width parameter in microns. Default is 8.
via_h2m (Any, optional) – Via definition used between heater and metal layers. Default is None.
isl (Any, optional) – Isolation-trench definition used by the electrical layout. Default is None.
A_ht (float, optional) – Angle parameter in degrees. Default is 270.
ht_notch_dual (bool, optional) – Value for the ht_notch_dual parameter. Default is True.
epin_ht_dX (int, optional) – Value for the epin_ht_dX parameter. Default is 10.
epin_ht_dY (int, optional) – Value for the epin_ht_dY parameter. Default is 3.
xs_metal_imp (str, optional) – Layer or cross-section name used by the device. Default is ‘metal’.
via_i2m (Any, optional) – Via definition used between implant and metal layers. Default is None.
xs_p (str, optional) – Layer or cross-section name used by the device. Default is ‘p’.
xs_n (str, optional) – Layer or cross-section name used by the device. Default is ‘n’.
xs_cont_wg (Optional[str], optional) – Layer or cross-section name used by the device. Default is None.
w_p (float, optional) – Width parameter in microns. Default is 3.
w_n (float, optional) – Width parameter in microns. Default is 3.
w_i (float, optional) – Width parameter in microns. Default is 1.
offset_i (float, optional) – Value for the offset_i parameter. Default is 0.
A_imp_in (int, optional) – Angle parameter in degrees. Default is 180.
A_imp_out (int, optional) – Angle parameter in degrees. Default is 180.
sp_cont (float, optional) – Spacing or gap parameter in microns. Default is 0.2.
w_ovlp (float, optional) – Width parameter in microns. Default is 0.2.
bus_dopping (bool, optional) – Value for the bus_dopping parameter. Default is True.
cell_xs_transition (Any, optional) – Cell or component dependency used by this device. Default is None.
p_in_n_out (bool, optional) – Value for the p_in_n_out parameter. Default is False.
PIN_MRR_MM_Adddrop#
- class mxpic.components.primitives.active.rings.PIN_MRR_MM_Adddrop(name=None, r_ring=10, w_ring=0.55, gap=0.2, w_bus=0.45, R_cp=None, A_cp=0, R_att=10, R_att_min=10, A_att=10, offset_X=0, offset_Y=0, w_wg=0.45, Ltp_bus=10, dL_p2p=None, xs_ring='strip', sharp_patch=True, show_pins=False, xs_heater='heater', w_heater=0, xs_metal='metal', w_metal=8, via_h2m=None, isl=None, A_ht=270, ht_notch_dual=True, epin_ht_dX=10, epin_ht_dY=3, xs_metal_imp='metal', via_i2m=None, xs_p='p', xs_n='n', xs_cont_wg=None, w_p=3, w_n=3, w_i=1, offset_i=0, A_imp_in=180, A_imp_out=180, sp_cont=0.2, w_ovlp=0.2, bus_dopping=True, cell_xs_transition=None, p_in_n_out=False)#
Bases:
AED_Ring_PINPIN MRR MM Adddrop primitive component.
This component builds the PIN MRR MM Adddrop layout cell.
- Parameters:
name (Optional[str], optional) – Unique identifier for the device cell. Default is None.
r_ring (float, optional) – Radius parameter in microns. Default is 10.
w_ring (float, optional) – Width parameter in microns. Default is 0.55.
gap (float, optional) – Spacing or gap parameter in microns. Default is 0.2.
w_bus (float, optional) – Width parameter in microns. Default is 0.45.
R_cp (Any, optional) – Radius parameter in microns. Default is None.
A_cp (int, optional) – Angle parameter in degrees. Default is 0.
R_att (int, optional) – Radius parameter in microns. Default is 10.
R_att_min (int, optional) – Radius parameter in microns. Default is 10.
A_att (int, optional) – Angle parameter in degrees. Default is 10.
offset_X (float, optional) – Value for the offset_X parameter. Default is 0.
offset_Y (float, optional) – Value for the offset_Y parameter. Default is 0.
w_wg (float, optional) – Width parameter in microns. Default is 0.45.
Ltp_bus (int, optional) – Length parameter in microns. Default is 10.
dL_p2p (Optional[float], optional) – Value for the dL_p2p parameter. Default is None.
xs_ring (str, optional) – Layer or cross-section name used by the device. Default is ‘strip’.
sharp_patch (bool, optional) – Whether to add geometry patches for sharp corners or cladding continuity. Default is True.
show_pins (bool, optional) – Whether to draw pin markers in the generated layout. Default is False.
xs_heater (str, optional) – Layer or cross-section name used by the device. Default is ‘heater’.
w_heater (float, optional) – Width parameter in microns. Default is 0.
xs_metal (str, optional) – Layer or cross-section name used by the device. Default is ‘metal’.
w_metal (float, optional) – Width parameter in microns. Default is 8.
via_h2m (Any, optional) – Via definition used between heater and metal layers. Default is None.
isl (Any, optional) – Isolation-trench definition used by the electrical layout. Default is None.
A_ht (float, optional) – Angle parameter in degrees. Default is 270.
ht_notch_dual (bool, optional) – Value for the ht_notch_dual parameter. Default is True.
epin_ht_dX (int, optional) – Value for the epin_ht_dX parameter. Default is 10.
epin_ht_dY (int, optional) – Value for the epin_ht_dY parameter. Default is 3.
xs_metal_imp (str, optional) – Layer or cross-section name used by the device. Default is ‘metal’.
via_i2m (Any, optional) – Via definition used between implant and metal layers. Default is None.
xs_p (str, optional) – Layer or cross-section name used by the device. Default is ‘p’.
xs_n (str, optional) – Layer or cross-section name used by the device. Default is ‘n’.
xs_cont_wg (Optional[str], optional) – Layer or cross-section name used by the device. Default is None.
w_p (float, optional) – Width parameter in microns. Default is 3.
w_n (float, optional) – Width parameter in microns. Default is 3.
w_i (float, optional) – Width parameter in microns. Default is 1.
offset_i (float, optional) – Value for the offset_i parameter. Default is 0.
A_imp_in (int, optional) – Angle parameter in degrees. Default is 180.
A_imp_out (int, optional) – Angle parameter in degrees. Default is 180.
sp_cont (float, optional) – Spacing or gap parameter in microns. Default is 0.2.
w_ovlp (float, optional) – Width parameter in microns. Default is 0.2.
bus_dopping (bool, optional) – Value for the bus_dopping parameter. Default is True.
cell_xs_transition (Any, optional) – Cell or component dependency used by this device. Default is None.
p_in_n_out (bool, optional) – Value for the p_in_n_out parameter. Default is False.
PIN_MRR_STD_Allpass#
- class mxpic.components.primitives.active.rings.PIN_MRR_STD_Allpass(name=None, r_ring=10, w_ring=0.55, gap=0.2, w_bus=0.45, A_cp=0, w_wg=0.45, Ltp_bus=10, dL_p2p=None, L_tilt=10, xs_ring='strip', sharp_patch=True, show_pins=False, xs_heater='heater', w_heater=0, xs_metal='metal', w_metal=8, via_h2m=None, isl=None, A_ht=270, ht_notch_dual=True, epin_ht_dX=10, epin_ht_dY=3, xs_metal_imp='metal', via_i2m=None, xs_p='p', xs_n='n', xs_cont_wg=None, w_p=3, w_n=3, w_i=1, offset_i=0, A_imp_in=180, A_imp_out=180, sp_cont=0.2, w_ovlp=0.2, bus_dopping=True, cell_xs_transition=None, p_in_n_out=False)#
Bases:
AED_Ring_PINPIN MRR STD Allpass primitive component.
This component builds the PIN MRR STD Allpass layout cell.
- Parameters:
name (Optional[str], optional) – Unique identifier for the device cell. Default is None.
r_ring (float, optional) – Radius parameter in microns. Default is 10.
w_ring (float, optional) – Width parameter in microns. Default is 0.55.
gap (float, optional) – Spacing or gap parameter in microns. Default is 0.2.
w_bus (float, optional) – Width parameter in microns. Default is 0.45.
A_cp (int, optional) – Angle parameter in degrees. Default is 0.
w_wg (float, optional) – Width parameter in microns. Default is 0.45.
Ltp_bus (int, optional) – Length parameter in microns. Default is 10.
dL_p2p (Optional[float], optional) – Value for the dL_p2p parameter. Default is None.
L_tilt (int, optional) – Length parameter in microns. Default is 10.
xs_ring (str, optional) – Layer or cross-section name used by the device. Default is ‘strip’.
sharp_patch (bool, optional) – Whether to add geometry patches for sharp corners or cladding continuity. Default is True.
show_pins (bool, optional) – Whether to draw pin markers in the generated layout. Default is False.
xs_heater (str, optional) – Layer or cross-section name used by the device. Default is ‘heater’.
w_heater (float, optional) – Width parameter in microns. Default is 0.
xs_metal (str, optional) – Layer or cross-section name used by the device. Default is ‘metal’.
w_metal (float, optional) – Width parameter in microns. Default is 8.
via_h2m (Any, optional) – Via definition used between heater and metal layers. Default is None.
isl (Any, optional) – Isolation-trench definition used by the electrical layout. Default is None.
A_ht (float, optional) – Angle parameter in degrees. Default is 270.
ht_notch_dual (bool, optional) – Value for the ht_notch_dual parameter. Default is True.
epin_ht_dX (int, optional) – Value for the epin_ht_dX parameter. Default is 10.
epin_ht_dY (int, optional) – Value for the epin_ht_dY parameter. Default is 3.
xs_metal_imp (str, optional) – Layer or cross-section name used by the device. Default is ‘metal’.
via_i2m (Any, optional) – Via definition used between implant and metal layers. Default is None.
xs_p (str, optional) – Layer or cross-section name used by the device. Default is ‘p’.
xs_n (str, optional) – Layer or cross-section name used by the device. Default is ‘n’.
xs_cont_wg (Optional[str], optional) – Layer or cross-section name used by the device. Default is None.
w_p (float, optional) – Width parameter in microns. Default is 3.
w_n (float, optional) – Width parameter in microns. Default is 3.
w_i (float, optional) – Width parameter in microns. Default is 1.
offset_i (float, optional) – Value for the offset_i parameter. Default is 0.
A_imp_in (int, optional) – Angle parameter in degrees. Default is 180.
A_imp_out (int, optional) – Angle parameter in degrees. Default is 180.
sp_cont (float, optional) – Spacing or gap parameter in microns. Default is 0.2.
w_ovlp (float, optional) – Width parameter in microns. Default is 0.2.
bus_dopping (bool, optional) – Value for the bus_dopping parameter. Default is True.
cell_xs_transition (Any, optional) – Cell or component dependency used by this device. Default is None.
p_in_n_out (bool, optional) – Value for the p_in_n_out parameter. Default is False.