Files
mxpic_forge/mxpic/foundries/Silterra.py
T
2026-05-28 20:36:25 +08:00

91 lines
2.5 KiB
Python

import nazca as nd
from .Foundry import Foundry
class EOM1_2ML_CU_RDL(Foundry) :
## Generall parameters
STD_SMWG_WIDTH = 0.45
SLAB_GROWTH = 2
W_METAL_MIN = 5
SPACING_HEATER_MIN = 2
SPACING_METAL_MIN = 4
W_HEATER_MIN = 3
lib_path = 'GDS_lib\\'
# show_pins = False
def __init__(self, layermap={
'WG_HM' : ((275,0)),
'WG_STRIP' : ((101,251)),
'WG_LOWRIB' : ((100,90)),
'WG_HIGHRIB' : ((232,0)),
'HEATER' : ((29,30)),
'CT_SI' : ((268,0)),
'CT_GE' : ((35,0)),
'UTV' : ((172,0)),
'RDL_VIA' : ((194,0)),
'UTM' : ((173,0)),
'UTM2' : ((197,0)),
'RDL_MET' : ((195,0)),
'PAD_ELE' : ((100,170)),
'PAD_OPTICAL' : ((100,160)),
"PAD_AL" : ((145,0)),
"WG_N" : ((263,0)),
"SiN_Rib_WG" : ((63,30)),
"SSIN0" : ((283,0)),
"SSIN1" : ((289,0)),
"SSIN2" : ((290,0)),
"SSIN3" : ((291,0)),
"EXCLUSION" : (57,0),
"SALICIDE" : ((128,60)),
"DM_EXL" : ((23,0)),
"DM_EXL_FE" : ((23,40)),
"DM_EXL_BE" : ((23,41)),
"OXIDE_FACET" : ((90,0)),
"DT" : ((404,0)),
### Active part
'P' : ((256,0)),
'N' : ((257,0)),
'PP' : ((258,0)),
'NP' : ((259,0)),
'PPP' : ((260,0)),
'NPP' : ((261,0)),
'PD_SIPP' : ((100,140)),
'PD_SINP' : ((100,150)),
}):
super().__init__(layermap=layermap)
## add cross sections
nd.add_xsection("strip")
nd.add_layer2xsection("strip",layer="WG_HM",growx=0,growy=0)
nd.add_layer2xsection("strip",layer="WG_STRIP",growx=4,growy=4)
nd.add_xsection("rib_low")
nd.add_layer2xsection("rib_low",layer="WG_HM",growx=0,growy=0)
nd.add_layer2xsection("rib_low",layer="WG_SRIB",growx=3,growy=3)
nd.add_layer2xsection("rib_low",layer="WG_STRIP",leftedge=(-0.5,-3),rightedge=(-0.5,-3.5))
nd.add_layer2xsection("rib_low",layer="WG_STRIP",leftedge=(0.5,3.5),rightedge=(0.5,3))
nd.add_xsection("metal_1")
nd.add_layer2xsection("metal_1",layer="UTM",growx=0,growy=0)
nd.add_layer2xsection("metal_1",layer="SSIN0",growx=2.5,growy=2.5)
nd.add_xsection("metal_2")
nd.add_layer2xsection("metal_2",layer="UTM2",growx=0,growy=0)
nd.add_layer2xsection("metal_2",layer="SSIN1",growx=2.5,growy=2.5)