Folder structure simplfied

This commit is contained in:
=
2026-06-06 16:43:26 +08:00
parent 8da92ced57
commit 8a17f1dde0
138 changed files with 10429 additions and 1432 deletions
+42 -6
View File
@@ -12,9 +12,24 @@ from ...electronics import Vias
class Heater_NDoped():
'''
This is the class for N-doped heater as a phase shifter.
'''
"""
This is the class for N-doped heater as a phase shifter.
Parameters
----------
w_wg : float, optional
Width parameter in microns. Default is 0.45.
slab_width : float, optional
Value for the slab_width parameter. Default is 1.1.
heater_length : int, optional
Value for the heater_length parameter. Default is 100.
heater_width : int, optional
Value for the heater_width parameter. Default is 1.
if_open : bool, optional
Value for the if_open parameter. Default is True.
show_pins : bool, optional
Whether to draw pin markers in the generated layout. Default is False.
"""
def __init__(
self,
w_wg: float=0.45,
@@ -197,9 +212,30 @@ class Heater_NDoped():
class PS_PIN() :
'''
PIN junction for a high-speed phase shift.
'''
"""
PIN junction for a high-speed phase shift.
Parameters
----------
w_wg : float, optional
Width parameter in microns. Default is 0.45.
w_wg_slab : float, optional
Width parameter in microns. Default is 0.5.
w_slab : float, optional
Width parameter in microns. Default is 1.
l_wg : float, optional
Value for the l_wg parameter. Default is 800.
d2wg_list : list, optional
Value for the d2wg_list parameter. Default is [0.2, 1].
p_layer_list : list, optional
Value for the p_layer_list parameter. Default is ['PW', 'PP'].
n_layer_list : list, optional
Value for the n_layer_list parameter. Default is ['NW', 'NP'].
w_plus_max : float, optional
Width parameter in microns. Default is 5.1.
show_pins : bool, optional
Whether to draw pin markers in the generated layout. Default is False.
"""
def __init__(
self,
w_wg: float=0.45,
@@ -10,6 +10,66 @@ import nazca.interconnects as IC
from ...basic import __list_convert__,__array_convert__
class waveguide_PIN:
"""
waveguide PIN primitive component.
This component builds the waveguide PIN layout cell.
Parameters
----------
xs : str, optional
Layer or cross-section name used by the device. Default is 'rib'.
L_wg : float, optional
Length parameter in microns. Default is 100.
w_wg : float, optional
Width parameter in microns. Default is 1.2.
xs_pn_ct : str, optional
Layer or cross-section name used by the device. Default is 'strip_cor'.
w_itr : float, optional
Width parameter in microns. Default is 2.0.
w_p : float, optional
Width parameter in microns. Default is 4.0.
w_n : float, optional
Width parameter in microns. Default is 4.0.
w_p_ct : float, optional
Width parameter in microns. Default is 4.0.
w_n_ct : float, optional
Width parameter in microns. Default is 4.0.
xs_heater : str, optional
Layer or cross-section name used by the device. Default is 'heater'.
xs_via_h2m : str, optional
Layer or cross-section name used by the device. Default is 'via_h2m'.
w_metal_pn : float, optional
Width parameter in microns. Default is 8.
sz_via_i2m : float, optional
Value for the sz_via_i2m parameter. Default is 0.25.
sp_via_i2m : float, optional
Spacing or gap parameter in microns. Default is 0.35.
sp_sc : float, optional
Spacing or gap parameter in microns. Default is 1.
xs_p : str, optional
Layer or cross-section name used by the device. Default is 'pw'.
xs_n : str, optional
Layer or cross-section name used by the device. Default is 'nw'.
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'.
xs_sa : str, optional
Layer or cross-section name used by the device. Default is 'sa'.
xs_via_s2m : str, optional
Layer or cross-section name used by the device. Default is 'via_s2m'.
xs_metal : str, optional
Layer or cross-section name used by the device. Default is 'metal'.
rib_taper : bool, optional
Value for the rib_taper parameter. Default is True.
L_taper : float, optional
Length parameter in microns. Default is 30.
xs_port : str, optional
Layer or cross-section name used by the device. Default is 'strip'.
show_pins : bool, optional
Whether to draw pin markers in the generated layout. Default is True.
"""
def __init__(self,
xs: str="rib", ## note, this xsection cannot directly mixed iwth 'rib'
L_wg: float = 100,
@@ -183,6 +243,58 @@ class waveguide_PIN:
class WGDoped():
"""
WGDoped primitive component.
This component builds the WGDoped layout cell.
Parameters
----------
name : Optional[str], optional
Unique identifier for the device cell. Default is None.
w_wg : float, optional
Width parameter in microns. Default is 0.5.
w_port : float, optional
Width parameter in microns. Default is 0.5.
Ltp_port : int, optional
Length parameter in microns. Default is 10.
L_wg : int, optional
Length parameter in microns. Default is 200.
xs_wg : str, optional
Layer or cross-section name used by the device. Default is 'rib'.
xs_n : list, optional
Layer or cross-section name used by the device. Default is ['nld', 'np'].
xs_p : list, optional
Layer or cross-section name used by the device. Default is ['pld', 'pp'].
w_n : list, optional
Width parameter in microns. Default is [0.5, 1].
w_p : list, optional
Width parameter in microns. Default is [0.5, 1].
w_ht : float, optional
Width parameter in microns. Default is 0.
L_ht : Any, optional
Length parameter in microns. Default is None.
xs_ht : str, optional
Layer or cross-section name used by the device. Default is 'heater'.
w_mt : Optional[float], optional
Width parameter in microns. Default is None.
xs_mt : str, optional
Layer or cross-section name used by the device. Default is 'metal'.
xs_cont_wg : Optional[str], optional
Layer or cross-section name used by the device. Default is None.
w_i : Optional[float], optional
Width parameter in microns. Default is None.
dope_offset : int, optional
Value for the dope_offset parameter. Default is 0.
via_s2m : Any, optional
Value for the via_s2m parameter. Default is None.
via_h2m : Any, optional
Via definition used between heater and metal layers. Default is None.
dope_ovlp : float, optional
Value for the dope_ovlp parameter. Default is 0.2.
cell_xs_transition : Any, optional
Cell or component dependency used by this device. Default is None.
"""
def __init__(self,
name: Optional[str]=None,
w_wg: float = 0.5,
+498 -6
View File
@@ -8,7 +8,7 @@ from ...electronics.eic_units import Vias_arc
from ..pic.taper import taper_xs2xs
from ...structures import *
from ...geometry import *
import nazca.interconnects as IC
class Route(IC.Interconnect):
@@ -26,6 +26,114 @@ from ...basic import __list_convert__,__array_convert__
""" This is used within the situation that double side is the same, and concentric coupling """
""" Refreshed 2023.09.14 """
class AED_Ring_PIN(MRR_AED): ## Finished in 2022.11.23
"""
AED 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.
"""
def __init__(self,
name: Optional[str]=None,
ORx: float=10,
@@ -579,6 +687,116 @@ class AED_Ring_PIN(MRR_AED): ## Finished in 2022.11.23
## Sub-classes for standard ring resonators
class STD_Ring_PIN(AED_Ring_PIN):
"""
STD 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.
"""
def __init__(self,
name: str,
r_ring: float=10,
@@ -676,10 +894,6 @@ class STD_Ring_PIN(AED_Ring_PIN):
A_imp_in = A_imp_in,
A_imp_out = A_imp_out,
xs_pcont = xs_pcont,
xs_ncont = xs_ncont,
w_pcont = w_pcont,
w_ncont = w_ncont,
sp_cont = sp_cont,
w_ovlp = w_ovlp, ## overlapping area for doping
@@ -691,6 +905,102 @@ class STD_Ring_PIN(AED_Ring_PIN):
## Sub-classed for allpass rings with Euler shape coupling
class PIN_MRR_MM_Allpass(AED_Ring_PIN):
"""
PIN 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.
"""
def __init__(self,
name: Optional[str] = None,
r_ring: float=10,
@@ -803,6 +1113,102 @@ class PIN_MRR_MM_Allpass(AED_Ring_PIN):
## Sub-classed for allpass rings with Euler shape coupling
class PIN_MRR_MM_Adddrop(AED_Ring_PIN):
"""
PIN 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.
"""
def __init__(self,
name: Optional[str] = None,
r_ring: float=10,
@@ -917,6 +1323,92 @@ class PIN_MRR_MM_Adddrop(AED_Ring_PIN):
## Sub-classed for allpass rings with standard coupling
class PIN_MRR_STD_Allpass(AED_Ring_PIN):
"""
PIN 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.
"""
def __init__(self,
name: Optional[str]=None,
r_ring: float=10,
@@ -1017,4 +1509,4 @@ class PIN_MRR_STD_Allpass(AED_Ring_PIN):
bus_dopping = bus_dopping,
p_in_n_out=p_in_n_out, ## default , p-outside n-inside
cell_xs_transition=cell_xs_transition,
)
)