From 15610b623c7dc4c411dacf7b625c541b8dac874e Mon Sep 17 00:00:00 2001 From: PotatoMaxwell Date: Mon, 4 May 2026 17:34:46 +0800 Subject: [PATCH] AMF and silterra foundry file added --- foundries/AMF.py | 65 +++++++++++++++++++++++++++++++++++++++ foundries/Silterra.py | 71 +++++++++++++++++++++++++++++++++++++++++++ foundries/__init__.py | 25 +++++++++++++++ 3 files changed, 161 insertions(+) create mode 100644 foundries/AMF.py create mode 100644 foundries/Silterra.py create mode 100644 foundries/__init__.py diff --git a/foundries/AMF.py b/foundries/AMF.py new file mode 100644 index 0000000..17e6278 --- /dev/null +++ b/foundries/AMF.py @@ -0,0 +1,65 @@ +import nazca as nd +from .Foundry import Foundry + +class AMF_Si220_Active(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={ + + 'STRIP_COR' : ((10,0), 'RIB'), + + 'SRIB_COR' : ((11,0), 'GRAT'), + + 'RIB_COR' : ((12,0), 'SLAB'), + + 'SINWIN1' : ((53,0), 'SINWIN1'), + 'SINWG1' : ((54,0), 'SINWG1'), + + 'HEATER' : ((115,0), 'HTR'), + + 'VIA_S2M' : ((100,0), 'VIA1'), + 'VIA_H2M' : ((120,0), 'VIA2'), + 'VIA_M2M' : ((120,0), 'VIA2'), + + 'METAL' : ((105,0), 'METAL'), + 'METAL_2' : ((125,0), 'METAL_2'), + + 'PAD' : ((150,0), 'BONDPAD'), + + 'OPEN' : ((151,0), 'OX_OPEN'), + + 'ISL' : ((160,0), 'DT'), + + ### Active part + 'PP' : ((21,0), 'PCONT'), + 'PCONT' : ((21,0), 'PCONT'), + 'NP' : ((22,0), 'NCONT'), + 'NCONT' : ((22,0), 'NCONT'), + 'PLD' : ((23,0), 'PIM'), + 'NLD' : ((24,0), 'NIM'), + 'PLD2' : ((25,0), 'IPD'), + 'NLD2' : ((26,0), 'NPD'), + + 'GE' : ((40,0), 'GeEP'), + 'PPPGE' : ((20,0), 'PPPGE'), + 'NPPGE' : ((41,0), 'NPPGE'), + }): + super().__init__(layermap=layermap) + self._add_xsection_(xsection='strip',layers=['STRIP_COR'],growth=[0]) + self._add_xsection_(xsection='rib',layers=['STRIP_COR','RIB_COR'],growth=[0,3]) ## Slab waveguide + self._add_xsection_(xsection='rib_s',layers=['STRIP_COR','SRIB_COR'],growth=[0,4]) ## Slab waveguide + self._add_xsection_(xsection='isl',layers=['ISL'],growth=[0]) + self._add_xsection_(xsection='sn',layers=['SINWG1','SINWIN1'],growth=[0,21]) + + self._add_xsection_(xsection='pad',layers=['METAL_2','PAD'],growth=[0,-2.5]) ## DRC 4.2 - [AMF-QP-RND-006] diff --git a/foundries/Silterra.py b/foundries/Silterra.py new file mode 100644 index 0000000..60429f4 --- /dev/null +++ b/foundries/Silterra.py @@ -0,0 +1,71 @@ +import nazca as nd +from .Foundry import Foundry + +class EOM1_2ML_CU(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) diff --git a/foundries/__init__.py b/foundries/__init__.py new file mode 100644 index 0000000..f9a6cc7 --- /dev/null +++ b/foundries/__init__.py @@ -0,0 +1,25 @@ +from .CUMEC import CUMEC_CSiP130Cu,CUMEC_CSiP180Al_PASSIVE + +from .AMF import AMF_Si220_Active + +from .ANT import ANT_Si220_MPW + +from .IMEC import IMEC_Si220_Active + +from .IMECAS import IMECAS_SiP + +from .Foundry import Foundry + +from .CompTek import CT_CU3ML + +from .SITRI import SITRI_LSIN_SOI + +from .Silterra import EOM1_2ML_CU + + + + + + + +