# LEGACY TECHNOLOGY MODULE - DISABLED # This source was moved out of the active technology package. # Technologies are now loaded from foundry-local YAML manifests via Foundry(manifest). # # from .Foundry import Foundry # # # class CUMEC_CSiP130Cu(Foundry): # MANIFEST = "cumec/CUMEC_CSiP130Cu.yml" # # # class CUMEC_CSiP180Al_PASSIVE(Foundry): # MANIFEST = "cumec/CUMEC_CSiP180Al_PASSIVE.yml" # # # # ---------------------------------------------------------------------- # # LEGACY INLINE TECHNOLOGY SOURCE - DISABLED # # Kept for traceability while YAML manifests are the source of truth. # # ---------------------------------------------------------------------- # # from .Foundry import Foundry # # from .layer_models import LayerSpec, XSectionLayerSpec, XSectionSpec # # # # # # class CUMEC_CSiP130Cu(Foundry): # # # # lib_path = "GDS_lib\\" # # W_ISL = 5 # # SP_ISL = 5 # # SZ_CT = 0.25 # # SP_CT = 0.35 # # SP_METAL = 1.5 # # # # LAYERS = { # # "FETCH_COR": LayerSpec("FETCH_COR", (31, 1), aliases=("STRIP_COR",)), # # "FETCH_CLD": LayerSpec("FETCH_CLD", (31, 2), aliases=("STRIP_CLD",)), # # "FETCH_TRE": LayerSpec("FETCH_TRE", (31, 3), aliases=("STRIP_TRE",)), # # "FETCH_HOL": LayerSpec("FETCH_HOL", (31, 4), aliases=("STRIP_HOL",)), # # "SETCH_COR": LayerSpec("SETCH_COR", (32, 1), aliases=("SRIB_COR",)), # # "SETCH_CLD": LayerSpec("SETCH_CLD", (32, 2), aliases=("SRIB_CLD",)), # # "SETCH_TRE": LayerSpec("SETCH_TRE", (32, 3), aliases=("SRIB_TRE",)), # # "SETCH_HOL": LayerSpec("SETCH_HOL", (32, 4), aliases=("SRIB_HOL",)), # # "METCH_COR": LayerSpec("METCH_COR", (33, 1), aliases=("RIB_COR",)), # # "METCH_CLD": LayerSpec("METCH_CLD", (33, 2), aliases=("RIB_CLD",)), # # "METCH_TRE": LayerSpec("METCH_TRE", (33, 3), aliases=("RIB_TRE",)), # # "METCH_HOL": LayerSpec("METCH_HOL", (33, 4), aliases=("RIB_HOL",)), # # "HEATER": LayerSpec("HEATER", (19, 0)), # # "CT": LayerSpec("CT", (50, 0), aliases=("VIA_H2M", "VIA_S2M")), # # "V1": LayerSpec("V1", (51, 0), aliases=("VIA_M2M",)), # # "METAL": LayerSpec("METAL", (11, 1)), # # "METAL_SLTBK": LayerSpec("METAL_SLTBK", (11, 21)), # # "METAL_2": LayerSpec("METAL_2", (12, 1)), # # "METAL_2_SLTBK": LayerSpec("METAL_2_SLTBK", (12, 21)), # # "BOND_PAD": LayerSpec("BOND_PAD", (20, 0), aliases=("PAD",)), # # "PASS1": LayerSpec("PASS1", (60, 0)), # # "PASS2": LayerSpec("PASS2", (63, 0)), # # "OPEN": LayerSpec("OPEN", (61, 0), aliases=("GC_OPEN",)), # # "ISL": LayerSpec("ISL", (67, 0)), # # "NW": LayerSpec("NW", (21, 0)), # # "PW": LayerSpec("PW", (22, 0)), # # "NLD": LayerSpec("NLD", (23, 0)), # # "PLD": LayerSpec("PLD", (24, 0)), # # "NLD2": LayerSpec("NLD2", (25, 0)), # # "PLD2": LayerSpec("PLD2", (26, 0)), # # "NP": LayerSpec("NP", (27, 0)), # # "PP": LayerSpec("PP", (28, 0)), # # "EPI": LayerSpec("EPI", (40, 0), aliases=("GE",)), # # "SA": LayerSpec("SA", (36, 0)), # # "ABOX": LayerSpec("ABOX", (97, 1)), # # "PBOX": LayerSpec("PBOX", (97, 2)), # # "NOFILL": LayerSpec("NOFILL", (92, 0)), # # "LOGO": LayerSpec("LOGO", (90, 0)), # # "PINREC": LayerSpec("PINREC", (95, 0)), # # "DEVREC": LayerSpec("DEVREC", (1001, 0)), # # } # # # # XSECTIONS = { # # "strip": XSectionSpec( # # "strip", # # ( # # XSectionLayerSpec("STRIP_COR", growx=0, growy=0), # # XSectionLayerSpec("STRIP_CLD", growx=2, growy=2), # # ), # # ), # # "strip_cor": XSectionSpec( # # "strip_cor", # # (XSectionLayerSpec("STRIP_COR", growx=0, growy=0),), # # ), # # "rib_s": XSectionSpec( # # "rib_s", # # ( # # XSectionLayerSpec("STRIP_COR", growx=0, growy=0), # # XSectionLayerSpec("STRIP_CLD", growx=2, growy=2), # # ), # # ), # # "rib": XSectionSpec( # # "rib", # # ( # # XSectionLayerSpec("RIB_COR", growx=0, growy=0), # # XSectionLayerSpec("RIB_CLD", growx=4, growy=4), # # XSectionLayerSpec("STRIP_COR", growx=2, growy=2), # # XSectionLayerSpec("STRIP_CLD", growx=4, growy=4), # # ), # # ), # # "rib_slab": XSectionSpec( # # "rib_slab", # # ( # # XSectionLayerSpec("RIB_COR", growx=0, growy=0), # # XSectionLayerSpec("RIB_CLD", growx=4, growy=4), # # ), # # ), # # "drib": XSectionSpec( # # "drib", # # ( # # XSectionLayerSpec("RIB_COR", growx=0, growy=0), # # XSectionLayerSpec("RIB_CLD", growx=4, growy=4), # # XSectionLayerSpec("STRIP_COR", growx=2, growy=2), # # XSectionLayerSpec("STRIP_CLD", growx=4, growy=4), # # ), # # ), # # "pad": XSectionSpec( # # "pad", # # ( # # XSectionLayerSpec("METAL_2", growx=0, growy=0), # # XSectionLayerSpec("PAD", growx=0, growy=0), # # XSectionLayerSpec("PASS1", growx=-2.5, growy=-2.5), # # XSectionLayerSpec("PASS2", growx=-2.5, growy=-2.5), # # ), # # ), # # "isl": XSectionSpec( # # "isl", # # ( # # XSectionLayerSpec("ISL", growx=0, growy=0), # # XSectionLayerSpec("STRIP_CLD", growx=1, growy=1), # # XSectionLayerSpec("GC_OPEN", growx=3, growy=3), # # ), # # ), # # "metal": XSectionSpec( # # "metal", # # ( # # XSectionLayerSpec("METAL", growx=0, growy=0), # # XSectionLayerSpec("METAL_SLTBK", growx=0, growy=0), # # ), # # ), # # "metal_2": XSectionSpec( # # "metal_2", # # ( # # XSectionLayerSpec("METAL_2", growx=0, growy=0), # # XSectionLayerSpec("METAL_2_SLTBK", growx=0, growy=0), # # ), # # ), # # } # # # # # # class CUMEC_CSiP180Al_PASSIVE(Foundry): # # # # lib_path = "GDS_lib\\" # # W_ISL = 5 # # SP_ISL = 5 # # SZ_CT = 0.25 # # SP_CT = 0.35 # # SP_METAL = 1.5 # # # # LAYERS = { # # "FETCH_COR": LayerSpec("FETCH_COR", (31, 1), aliases=("STRIP_COR",)), # # "FETCH_CLD": LayerSpec("FETCH_CLD", (31, 2), aliases=("STRIP_CLD",)), # # "FETCH_TRE": LayerSpec("FETCH_TRE", (31, 3), aliases=("STRIP_TRE",)), # # "FETCH_HOL": LayerSpec("FETCH_HOL", (31, 4), aliases=("STRIP_HOL",)), # # "SETCH_COR": LayerSpec("SETCH_COR", (32, 1), aliases=("SRIB_COR",)), # # "SETCH_CLD": LayerSpec("SETCH_CLD", (32, 2), aliases=("SRIB_CLD",)), # # "SETCH_TRE": LayerSpec("SETCH_TRE", (32, 3), aliases=("SRIB_TRE",)), # # "SETCH_HOL": LayerSpec("SETCH_HOL", (32, 4), aliases=("SRIB_HOL",)), # # "METCH_COR": LayerSpec("METCH_COR", (33, 1), aliases=("RIB_COR",)), # # "METCH_CLD": LayerSpec("METCH_CLD", (33, 2), aliases=("RIB_CLD",)), # # "METCH_TRE": LayerSpec("METCH_TRE", (33, 3), aliases=("RIB_TRE",)), # # "METCH_HOL": LayerSpec("METCH_HOL", (33, 4), aliases=("RIB_HOL",)), # # "HEATER": LayerSpec("HEATER", (19, 0)), # # "METAL": LayerSpec("METAL", (11, 1)), # # "PASS1": LayerSpec("PASS1", (60, 0)), # # "ISL": LayerSpec("ISL", (67, 0)), # # } # # # # XSECTIONS = { # # "strip": XSectionSpec( # # "strip", # # ( # # XSectionLayerSpec("STRIP_COR", growx=0, growy=0), # # XSectionLayerSpec("STRIP_CLD", growx=2, growy=2), # # ), # # ), # # "strip_cor": XSectionSpec( # # "strip_cor", # # (XSectionLayerSpec("STRIP_COR", growx=0, growy=0),), # # ), # # "rib_s": XSectionSpec( # # "rib_s", # # ( # # XSectionLayerSpec("SRIB_COR", growx=0, growy=0), # # XSectionLayerSpec("SRIB_CLD", growx=2, growy=2), # # ), # # ), # # "rib": XSectionSpec( # # "rib", # # ( # # XSectionLayerSpec("RIB_COR", growx=0, growy=0), # # XSectionLayerSpec("RIB_CLD", growx=4, growy=4), # # XSectionLayerSpec("STRIP_COR", growx=2, growy=2), # # XSectionLayerSpec("STRIP_CLD", growx=4, growy=4), # # ), # # ), # # "rib_s_wg": XSectionSpec( # # "rib_s_wg", # # ( # # XSectionLayerSpec("SRIB_COR", growx=0, growy=0), # # XSectionLayerSpec("SRIB_CLD", growx=5, growy=5), # # XSectionLayerSpec("STRIP_COR", growx=2.5, growy=2.5), # # XSectionLayerSpec("STRIP_CLD", growx=5, growy=5), # # ), # # ), # # "rib_slab": XSectionSpec( # # "rib_slab", # # ( # # XSectionLayerSpec("RIB_COR", growx=0, growy=0), # # XSectionLayerSpec("RIB_CLD", growx=4, growy=4), # # ), # # ), # # "drib": XSectionSpec( # # "drib", # # ( # # XSectionLayerSpec("RIB_COR", growx=0, growy=0), # # XSectionLayerSpec("RIB_CLD", growx=4, growy=4), # # XSectionLayerSpec("STRIP_COR", growx=2, growy=2), # # XSectionLayerSpec("STRIP_CLD", growx=4, growy=4), # # ), # # ), # # "pad": XSectionSpec( # # "pad", # # ( # # XSectionLayerSpec("METAL", growx=0, growy=0), # # XSectionLayerSpec("PASS1", growx=-2.5, growy=-2.5), # # ), # # ), # # "isl": XSectionSpec( # # "isl", # # ( # # XSectionLayerSpec("ISL", growx=0, growy=0), # # XSectionLayerSpec("STRIP_CLD", growx=1, growy=1), # # ), # # ), # # }