Technolgy file archetecture revised with dictionary input method

This commit is contained in:
=
2026-06-07 17:07:20 +08:00
parent 8a17f1dde0
commit 54d20eb154
163 changed files with 5948 additions and 1297 deletions
+98
View File
@@ -0,0 +1,98 @@
# 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 AMF_Si220_Active(Foundry):
# MANIFEST = "amf/AMF_Si220_Active.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 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\\"
# #
# # LAYERS = {
# # "RIB": LayerSpec("RIB", (10, 0), aliases=("STRIP_COR",)),
# # "GRAT": LayerSpec("GRAT", (11, 0), aliases=("SRIB_COR",)),
# # "SLAB": LayerSpec("SLAB", (12, 0), aliases=("RIB_COR",)),
# # "SINWIN1": LayerSpec("SINWIN1", (53, 0)),
# # "SINWG1": LayerSpec("SINWG1", (54, 0)),
# # "HTR": LayerSpec("HTR", (115, 0), aliases=("HEATER",)),
# # "VIA1": LayerSpec("VIA1", (100, 0), aliases=("VIA_S2M",)),
# # "VIA2": LayerSpec("VIA2", (120, 0), aliases=("VIA_H2M", "VIA_M2M")),
# # "METAL": LayerSpec("METAL", (105, 0)),
# # "METAL_2": LayerSpec("METAL_2", (125, 0)),
# # "BONDPAD": LayerSpec("BONDPAD", (150, 0), aliases=("PAD",)),
# # "OX_OPEN": LayerSpec("OX_OPEN", (151, 0), aliases=("OPEN",)),
# # "DT": LayerSpec("DT", (160, 0), aliases=("ISL",)),
# # "PCONT": LayerSpec("PCONT", (21, 0), aliases=("PP",)),
# # "NCONT": LayerSpec("NCONT", (22, 0), aliases=("NP",)),
# # "PIM": LayerSpec("PIM", (23, 0), aliases=("PLD",)),
# # "NIM": LayerSpec("NIM", (24, 0), aliases=("NLD",)),
# # "IPD": LayerSpec("IPD", (25, 0), aliases=("PLD2",)),
# # "NPD": LayerSpec("NPD", (26, 0), aliases=("NLD2",)),
# # "GeEP": LayerSpec("GeEP", (40, 0), aliases=("GE",)),
# # "PPPGE": LayerSpec("PPPGE", (20, 0)),
# # "NPPGE": LayerSpec("NPPGE", (41, 0)),
# # }
# #
# # XSECTIONS = {
# # "strip": XSectionSpec(
# # "strip",
# # (XSectionLayerSpec("STRIP_COR", growx=0, growy=0),),
# # ),
# # "strip_cor": XSectionSpec(
# # "strip_cor",
# # (XSectionLayerSpec("STRIP_COR", growx=0, growy=0),),
# # ),
# # "rib": XSectionSpec(
# # "rib",
# # (
# # XSectionLayerSpec("STRIP_COR", growx=0, growy=0),
# # XSectionLayerSpec("RIB_COR", growx=3, growy=3),
# # ),
# # ),
# # "rib_s": XSectionSpec(
# # "rib_s",
# # (
# # XSectionLayerSpec("STRIP_COR", growx=0, growy=0),
# # XSectionLayerSpec("SRIB_COR", growx=4, growy=4),
# # ),
# # ),
# # "isl": XSectionSpec(
# # "isl",
# # (XSectionLayerSpec("ISL", growx=0, growy=0),),
# # ),
# # "sn": XSectionSpec(
# # "sn",
# # (
# # XSectionLayerSpec("SINWG1", growx=0, growy=0),
# # XSectionLayerSpec("SINWIN1", growx=21, growy=21),
# # ),
# # ),
# # "pad": XSectionSpec(
# # "pad",
# # (
# # XSectionLayerSpec("METAL_2", growx=0, growy=0),
# # XSectionLayerSpec("PAD", growx=-2.5, growy=-2.5),
# # ),
# # ),
# # }
+57
View File
@@ -0,0 +1,57 @@
# 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 ANT_Si220_MPW(Foundry):
# MANIFEST = "ant/ANT_Si220_MPW.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 ANT_Si220_MPW(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\\"
# #
# # LAYERS = {
# # "RIB": LayerSpec("RIB", (1, 0), aliases=("STRIP_COR",)),
# # "METAL": LayerSpec("METAL", (12, 0)),
# # "HTR": LayerSpec("HTR", (11, 0), aliases=("HEATER",)),
# # "BONDPAD": LayerSpec("BONDPAD", (13, 0), aliases=("PAD",)),
# # "ISOLATION": LayerSpec("ISOLATION", (203, 0), aliases=("ISL",)),
# # "DEEPTRENCH": LayerSpec("DEEPTRENCH", (201, 0), aliases=("DT",)),
# # }
# #
# # XSECTIONS = {
# # "strip": XSectionSpec(
# # "strip",
# # (XSectionLayerSpec("STRIP_COR", growx=0, growy=0),),
# # ),
# # "strip_cor": XSectionSpec(
# # "strip_cor",
# # (XSectionLayerSpec("STRIP_COR", growx=0, growy=0),),
# # ),
# # "pad": XSectionSpec(
# # "pad",
# # (
# # XSectionLayerSpec("METAL", growx=0, growy=0),
# # XSectionLayerSpec("PAD", growx=-5, growy=-5),
# # ),
# # ),
# # }
+249
View File
@@ -0,0 +1,249 @@
# 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),
# # ),
# # ),
# # }
+104
View File
@@ -0,0 +1,104 @@
# 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 CT_CU3ML(Foundry):
# MANIFEST = "comptek/CT_CU3ML.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 CT_CU3ML(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\\"
# #
# # LAYERS = {
# # "RIB": LayerSpec("RIB", (275, 0), aliases=("STRIP_COR",)),
# # "GRAT": LayerSpec("GRAT", (407, 0), aliases=("SRIB_COR",)),
# # "SLAB": LayerSpec("SLAB", (406, 0), aliases=("RIB_COR",)),
# # "NitrideWG": LayerSpec("NitrideWG", (263, 0), aliases=("SINWG",)),
# # "NitrideWG_RIB": LayerSpec(
# # "NitrideWG_RIB",
# # (415, 0),
# # aliases=("RIB_SIN",),
# # description="Legacy map used NitrideWG for this layer.",
# # ),
# # "TIN": LayerSpec("TIN", (398, 0), aliases=("HEATER",)),
# # "ContSi": LayerSpec("ContSi", (268, 0), aliases=("VIA_S2M",)),
# # "ContGe": LayerSpec("ContGe", (35, 0), aliases=("VIA_G2M",)),
# # "VIA1": LayerSpec("VIA1", (85, 0), aliases=("VIA_M2M",)),
# # "VIA2": LayerSpec("VIA2", (86, 0), aliases=("VIA_M2M_2",)),
# # "VIA3": LayerSpec("VIA3", (419, 0), aliases=("VIA_M2M_3",)),
# # "M1": LayerSpec("M1", (6, 0), aliases=("METAL",)),
# # "M2": LayerSpec("M2", (86, 0), aliases=("METAL_2",)),
# # "M3": LayerSpec("M3", (27, 0), aliases=("METAL_3", "PAD")),
# # "BEOL_N0_RMV": LayerSpec("BEOL_N0_RMV", (283, 0), aliases=("N0RMV",)),
# # "BEOL_N1_RMV": LayerSpec("BEOL_N1_RMV", (289, 0), aliases=("N1RMV",)),
# # "BEOL_N2_RMV": LayerSpec("BEOL_N2_RMV", (290, 0), aliases=("N2RMV",)),
# # "BEOL_N3_RMV": LayerSpec("BEOL_N3_RMV", (291, 0), aliases=("N3RMV",)),
# # "SIN_RMV": LayerSpec("SIN_RMV", (483, 0), aliases=("PAD_OPEN",)),
# # "DT": LayerSpec("DT", (404, 0), aliases=("ISL",)),
# # "P": LayerSpec("P", (256, 0)),
# # "N": LayerSpec("N", (257, 0)),
# # "P+": LayerSpec("P+", (258, 0)),
# # "N+": LayerSpec("N+", (259, 0)),
# # "P++": LayerSpec("P++", (260, 0)),
# # "N++": LayerSpec("N++", (261, 0)),
# # "GePD": LayerSpec("GePD", (262, 0), aliases=("GE",)),
# # "GeN+": LayerSpec("GeN+", (265, 0), aliases=("GN+",)),
# # "GeP+": LayerSpec("GeP+", (266, 0), aliases=("GP+",)),
# # "GeWindow": LayerSpec("GeWindow", (264, 0), aliases=("GW",)),
# # }
# #
# # XSECTIONS = {
# # "strip": XSectionSpec(
# # "strip",
# # (XSectionLayerSpec("STRIP_COR", growx=0, growy=0),),
# # ),
# # "strip_cor": XSectionSpec(
# # "strip_cor",
# # (XSectionLayerSpec("STRIP_COR", growx=0, growy=0),),
# # ),
# # "rib": XSectionSpec(
# # "rib",
# # (
# # XSectionLayerSpec("STRIP_COR", growx=0, growy=0),
# # XSectionLayerSpec("RIB_COR", growx=4, growy=4),
# # ),
# # ),
# # "rib_s": XSectionSpec(
# # "rib_s",
# # (
# # XSectionLayerSpec("STRIP_COR", growx=0, growy=0),
# # XSectionLayerSpec("SRIB_COR", growx=4, growy=4),
# # ),
# # ),
# # "isl": XSectionSpec(
# # "isl",
# # (XSectionLayerSpec("ISL", growx=0, growy=0),),
# # ),
# # "pad": XSectionSpec(
# # "pad",
# # (
# # XSectionLayerSpec("METAL_3", growx=0, growy=0),
# # XSectionLayerSpec("PAD_OPEN", growx=-2.5, growy=-2.5),
# # ),
# # ),
# # }
+123
View File
@@ -0,0 +1,123 @@
# 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 IMEC_Si220_Active(Foundry):
# MANIFEST = "imec/IMEC_Si220_Active.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 IMEC_Si220_Active(Foundry):
# #
# # lib_path = "GDS_lib\\"
# # W_ISL = 5
# # SP_ISL = 5
# # SZ_CT = 0.25
# # SP_CT = 0.35
# # SP_METAL = 1.5
# #
# # LAYERS = {
# # "WG_COR": LayerSpec("WG_COR", (37, 4), aliases=("STRIP_COR",)),
# # "WG_CLD": LayerSpec("WG_CLD", (37, 5), aliases=("STRIP_CLD",)),
# # "WG_TRE": LayerSpec("WG_TRE", (37, 6), aliases=("STRIP_TRE",)),
# # "WG_PRI": LayerSpec("WG_PRI", (38, 0), aliases=("STRIP_PRI",)),
# # "FC_COR": LayerSpec("FC_COR", (35, 4), aliases=("SRIB_COR",)),
# # "FC_CLD": LayerSpec("FC_CLD", (35, 5), aliases=("SRIB_CLD",)),
# # "FC_TRE": LayerSpec("FC_TRE", (35, 6), aliases=("SRIB_TRE",)),
# # "FC_PRI": LayerSpec("FC_PRI", (36, 0), aliases=("SRIB_PRI",)),
# # "SKT_COR": LayerSpec("SKT_COR", (43, 4), aliases=("RIB_COR",)),
# # "SKT_CLD": LayerSpec("SKT_CLD", (43, 5), aliases=("RIB_CLD",)),
# # "SKT_TRE": LayerSpec("SKT_TRE", (43, 6), aliases=("RIB_TRE",)),
# # "SKT_PRI": LayerSpec("SKT_PRI", (44, 0), aliases=("RIB_PRI",)),
# # "FCW_COR": LayerSpec("FCW_COR", (31, 24)),
# # "FCW_CLD": LayerSpec("FCW_CLD", (31, 25)),
# # "FCW_TRE": LayerSpec("FCW_TRE", (31, 26)),
# # "FCW_PRI": LayerSpec("FCW_PRI", (32, 0)),
# # "METPASS": LayerSpec("METPASS", (18, 0), aliases=("PAD",)),
# # "MHD": LayerSpec("MHD", (14, 0), aliases=("HEATER",)),
# # "PCON": LayerSpec("PCON", (10, 0), aliases=("VIA_S2M",)),
# # "PVH": LayerSpec("PVH", (53, 0), aliases=("VIA_H2M",)),
# # "M1_DRW": LayerSpec("M1_DRW", (11, 0), aliases=("METAL",)),
# # "M1_NOFILL": LayerSpec("M1_NOFILL", (11, 9)),
# # "M2_DRW": LayerSpec("M2_DRW", (13, 0), aliases=("METAL_2",)),
# # "M2_NOFILL": LayerSpec("M2_NOFILL", (13, 9)),
# # "VIA12": LayerSpec("VIA12", (12, 0), aliases=("VIA_M2M",)),
# # "LPASS": LayerSpec("LPASS", (91, 0), aliases=("GC_OPEN",)),
# # "PASS1": LayerSpec("PASS1", (16, 0), aliases=("SiN_OPEN",)),
# # "PASS2": LayerSpec("PASS2", (17, 0), aliases=("PAD_OPEN",)),
# # "EXPOWG": LayerSpec("EXPOWG", (84, 0)),
# # "N1": LayerSpec("N1", (2, 0)),
# # "P1": LayerSpec("P1", (3, 0)),
# # "N2": LayerSpec("N2", (6, 0)),
# # "P2": LayerSpec("P2", (7, 0)),
# # "NBODY": LayerSpec("NBODY", (25, 0)),
# # "PBODY": LayerSpec("PBODY", (26, 0)),
# # "NP": LayerSpec("NP", (4, 0)),
# # "PP": LayerSpec("PP", (5, 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("RIB_COR", growx=0, growy=0),
# # XSectionLayerSpec("RIB_CLD", growx=2, growy=2),
# # ),
# # ),
# # "rib": XSectionSpec(
# # "rib",
# # (
# # XSectionLayerSpec("RIB_COR", growx=0, growy=0),
# # XSectionLayerSpec("RIB_CLD", growx=4.1, growy=4.1),
# # XSectionLayerSpec("STRIP_COR", growx=4, growy=4),
# # XSectionLayerSpec("STRIP_CLD", growx=6.5, growy=6.5),
# # ),
# # ),
# # "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("SiN_OPEN", growx=-3, growy=-3),
# # XSectionLayerSpec("PAD", growx=0, growy=0),
# # XSectionLayerSpec("PAD_OPEN", growx=-3, growy=-3),
# # ),
# # ),
# # "expowg": XSectionSpec(
# # "expowg",
# # (
# # XSectionLayerSpec("EXPOWG", growx=0, growy=0),
# # XSectionLayerSpec("FCW_COR", growx=1, growy=1),
# # XSectionLayerSpec("FCW_CLD", growx=3, growy=3),
# # ),
# # ),
# # }
+91
View File
@@ -0,0 +1,91 @@
# 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 IMECAS_SiP(Foundry):
# MANIFEST = "imecas/IMECAS_SiP.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 IMECAS_SiP(Foundry):
# #
# # lib_path = "GDS_lib\\"
# # W_ISL = 10
# # SP_ISL = 10
# # SP_METAL = 1.5
# #
# # LAYERS = {
# # "FECOR": LayerSpec("FECOR", (10, 2), aliases=("STRIP_COR",)),
# # "FECLD": LayerSpec("FECLD", (10, 3), aliases=("STRIP_CLD",)),
# # "FETCH": LayerSpec("FETCH", (10, 4), aliases=("STRIP_TRE",)),
# # "SECOR": LayerSpec("SECOR", (11, 2), aliases=("SRIB_COR",)),
# # "SECLD": LayerSpec("SECLD", (11, 3), aliases=("SRIB_CLD",)),
# # "SETCH": LayerSpec("SETCH", (11, 4), aliases=("SRIB_TRE",)),
# # "MECOR": LayerSpec("MECOR", (12, 2), aliases=("RIB_COR",)),
# # "MECLD": LayerSpec("MECLD", (12, 3), aliases=("RIB_CLD",)),
# # "METCH": LayerSpec("METCH", (12, 4), aliases=("RIB_TRE",)),
# # "M1": LayerSpec("M1", (31, 0), aliases=("METAL",)),
# # "TIN": LayerSpec("TIN", (34, 0), aliases=("HEATER",)),
# # "PAD": LayerSpec("PAD", (36, 0)),
# # "DETCH": LayerSpec("DETCH", (80, 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("RIB_COR", growx=0, growy=0),
# # XSectionLayerSpec("RIB_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),
# # ),
# # ),
# # "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=5, growy=5),
# # XSectionLayerSpec("PAD", growx=0, growy=0),
# # ),
# # ),
# # "isl": XSectionSpec(
# # "isl",
# # (XSectionLayerSpec("DETCH", growx=0, growy=0),),
# # ),
# # }
+112
View File
@@ -0,0 +1,112 @@
# 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 SITRI_LSIN_SOI(Foundry):
# MANIFEST = "sitri/SITRI_LSIN_SOI.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 SITRI_LSIN_SOI(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\\"
# #
# # LAYERS = {
# # "RIB": LayerSpec("RIB", (1, 0), aliases=("STRIP_COR",)),
# # "GRAT": LayerSpec("GRAT", (3, 0), aliases=("SRIB_COR",)),
# # "SLAB": LayerSpec("SLAB", (2, 0), aliases=("RIB_COR",)),
# # "SINWIN1": LayerSpec("SINWIN1", (53, 0)),
# # "SINWG1": LayerSpec("SINWG1", (54, 0)),
# # "HTR": LayerSpec("HTR", (45, 0), aliases=("HEATER",)),
# # "VIA1": LayerSpec("VIA1", (50, 0), aliases=("VIA_H2M",)),
# # "CS": LayerSpec("CS", (35, 0), aliases=("VIA_S2M",)),
# # "METAL": LayerSpec("METAL", (40, 0)),
# # "METAL_2": LayerSpec("METAL_2", (55, 0)),
# # "BONDPAD": LayerSpec("BONDPAD", (66, 0), aliases=("PAD",)),
# # "DT": LayerSpec("DT", (71, 0), aliases=("ISL",)),
# # "OX_OPEN": LayerSpec("OX_OPEN", (151, 0), aliases=("OPEN",)),
# # "PM_P": LayerSpec(
# # "PM_P",
# # (13, 0),
# # aliases=("P",),
# # description="Legacy map used PM for this P implant layer.",
# # ),
# # "PM_N": LayerSpec(
# # "PM_N",
# # (14, 0),
# # aliases=("N",),
# # description="Legacy map used PM for this N implant layer.",
# # ),
# # "PM": LayerSpec("PM", (15, 0)),
# # "NM": LayerSpec("NM", (16, 0)),
# # "PH": LayerSpec("PH", (11, 0)),
# # "NH": LayerSpec("NH", (12, 0)),
# # "PP": LayerSpec("PP", (17, 0)),
# # "NP": LayerSpec("NP", (18, 0)),
# # "GEN": LayerSpec("GEN", (21, 0)),
# # "GEP": LayerSpec("GEP", (22, 0)),
# # "GeEP": LayerSpec("GeEP", (20, 0), aliases=("GE",)),
# # "CG": LayerSpec("CG", (36, 0)),
# # }
# #
# # XSECTIONS = {
# # "strip": XSectionSpec(
# # "strip",
# # (XSectionLayerSpec("STRIP_COR", growx=0, growy=0),),
# # ),
# # "strip_cor": XSectionSpec(
# # "strip_cor",
# # (XSectionLayerSpec("STRIP_COR", growx=0, growy=0),),
# # ),
# # "rib": XSectionSpec(
# # "rib",
# # (
# # XSectionLayerSpec("STRIP_COR", growx=0, growy=0),
# # XSectionLayerSpec("RIB_COR", growx=4, growy=4),
# # XSectionLayerSpec("SRIB_COR", growx=2, growy=2),
# # ),
# # ),
# # "rib_s": XSectionSpec(
# # "rib_s",
# # (
# # XSectionLayerSpec("STRIP_COR", growx=0, growy=0),
# # XSectionLayerSpec("SRIB_COR", growx=4, growy=4),
# # ),
# # ),
# # "isl": XSectionSpec(
# # "isl",
# # (XSectionLayerSpec("ISL", growx=0, growy=0),),
# # ),
# # "sn": XSectionSpec(
# # "sn",
# # (
# # XSectionLayerSpec("SINWG1", growx=0, growy=0),
# # XSectionLayerSpec("SINWIN1", growx=21, growy=21),
# # ),
# # ),
# # "pad": XSectionSpec(
# # "pad",
# # (
# # XSectionLayerSpec("METAL_2", growx=0, growy=0),
# # XSectionLayerSpec("PAD", growx=-2.5, growy=-2.5),
# # ),
# # ),
# # }
+395
View File
@@ -0,0 +1,395 @@
# 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 EOM1_2ML_CU(Foundry):
# MANIFEST = "silterra/EMO1_2ML_CU.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
# #
# #
# # LBR_SOURCE_FILE = "EMO1 process file 2ML Cu + Al RDL Rev1 2023R2.lbr"
# # PROCESS_REVISION = "c47fe0e44735e170addb3f68fa8b4387"
# # OPTICAL_MATERIAL_REVISION = "77d93f81a36e99288ae982ff91bfedca"
# #
# # SI = "Layer Builder Si (Silicon) - Palik"
# # FE_PECVD_NITRIDE = "SilTerra Front End PECVD Nitride"
# # FE_LPCVD_NITRIDE = "SilTerra Front End LPCVD Nitride"
# # GERMANIUM = "SilTerra Germanium"
# # TUNGSTEN = "W (Tungsten) - Palik"
# # BE_OXIDE = "SilTerra Back End Oxide"
# # BE_NITRIDE = "SilTerra Back End Nitride"
# # COPPER = "Cu (Copper) - Palik"
# # TIN = "TiN - Palik"
# # ALUMINIUM = "Al (Aluminium) - Palik"
# # ETCH = "etch"
# #
# #
# # 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\\"
# #
# # PROCESS_NAME = "EMO1"
# # PROCESS_REVISION = PROCESS_REVISION
# # OPTICAL_MATERIAL_REVISION = OPTICAL_MATERIAL_REVISION
# # LBR_SOURCE_FILE = LBR_SOURCE_FILE
# #
# # LAYERS = {
# # "WG_HM": LayerSpec(
# # name="WG_HM",
# # layer=(275, 0),
# # material=SI,
# # z_start=0.0,
# # thickness=0.22,
# # sidewall_angle=83.0,
# # process="Grow",
# # description="Strip Waveguide",
# # ),
# # "WG_STRIP": LayerSpec(
# # name="WG_STRIP",
# # layer=(101, 251),
# # description="Legacy/layout-only strip waveguide layer; not present in the EMO1 .lbr stack.",
# # ),
# # "WG_LOWRIB": LayerSpec(
# # name="WG_LOWRIB",
# # layer=(100, 90),
# # material=SI,
# # z_start=0.0,
# # thickness=0.07,
# # sidewall_angle=83.0,
# # process="Grow",
# # description="Low Rib Waveguide",
# # ),
# # "WG_HIGHRIB": LayerSpec(
# # name="WG_HIGHRIB",
# # layer=(232, 0),
# # material=SI,
# # z_start=0.0,
# # thickness=0.15,
# # sidewall_angle=83.0,
# # process="Grow",
# # description="High Rib Waveguide",
# # ),
# #
# # "HEATER": LayerSpec(
# # name="HEATER",
# # layer=(29, 30),
# # material=TIN,
# # z_start=1.22,
# # thickness=0.12,
# # sidewall_angle=90.0,
# # process="Grow",
# # description="Heater",
# # ),
# # "CT_SI": LayerSpec(
# # name="CT_SI",
# # layer=(268, 0),
# # material=TUNGSTEN,
# # z_start=0.22,
# # thickness=1.0,
# # sidewall_angle=90.0,
# # process="Grow",
# # description="Contact Silicon",
# # ),
# # "CT_GE": LayerSpec(
# # name="CT_GE",
# # layer=(35, 0),
# # material=TUNGSTEN,
# # z_start=0.72,
# # thickness=0.5,
# # sidewall_angle=90.0,
# # process="Grow",
# # description="Contact Germanium",
# # ),
# # "GE_EPI": LayerSpec(
# # name="GE_EPI",
# # layer=(264, 0),
# # material=GERMANIUM,
# # z_start=0.22,
# # thickness=0.5,
# # process="Grow",
# # description="Composite Germanium Epitaxy drawing layer from bot/top .lbr rows.",
# # ),
# #
# # "UTV": LayerSpec(
# # name="UTV",
# # layer=(172, 0),
# # material=COPPER,
# # z_start=2.05,
# # thickness=1.23,
# # sidewall_angle=90.0,
# # process="Grow",
# # description="UTV",
# # ),
# # "RDL_VIA": LayerSpec(
# # name="RDL_VIA",
# # layer=(194, 0),
# # material=ALUMINIUM,
# # z_start=5.51,
# # thickness=1.33,
# # sidewall_angle=90.0,
# # process="Grow",
# # description="RDL Via",
# # ),
# #
# # "UTM": LayerSpec(
# # name="UTM",
# # layer=(173, 0),
# # material=COPPER,
# # z_start=1.22,
# # thickness=0.83,
# # sidewall_angle=90.0,
# # process="Grow",
# # description="UTM",
# # ),
# # "UTM2": LayerSpec(
# # name="UTM2",
# # layer=(197, 0),
# # material=COPPER,
# # z_start=3.28,
# # thickness=2.23,
# # sidewall_angle=90.0,
# # process="Grow",
# # description="UTM2",
# # ),
# # "RDL_MET": LayerSpec(
# # name="RDL_MET",
# # layer=(195, 0),
# # material=ALUMINIUM,
# # z_start=6.84,
# # thickness=1.2,
# # sidewall_angle=90.0,
# # process="Grow",
# # description="RDL Aluminium",
# # ),
# #
# # "PAD_ELE": LayerSpec(
# # name="PAD_ELE",
# # layer=(100, 170),
# # material=ETCH,
# # z_start=8.04,
# # thickness=1.0,
# # sidewall_angle=90.0,
# # process="Grow",
# # description="Pad Electrical",
# # ),
# # "PAD_OPTICAL": LayerSpec(
# # name="PAD_OPTICAL",
# # layer=(100, 160),
# # material=ETCH,
# # z_start=7.34,
# # thickness=0.5,
# # sidewall_angle=90.0,
# # process="Grow",
# # description="Pad Optical",
# # ),
# # "PAD_AL": LayerSpec(
# # name="PAD_AL",
# # layer=(145, 0),
# # description="Legacy/layout-only aluminium pad layer; not present in the EMO1 .lbr stack.",
# # ),
# #
# # "WG_N": LayerSpec(
# # name="WG_N",
# # layer=(263, 0),
# # material=FE_PECVD_NITRIDE + " / " + FE_LPCVD_NITRIDE,
# # z_start=0.62,
# # thickness=0.4,
# # sidewall_angle=85.0,
# # process="Grow",
# # description="PECVD/LPCVD Nitride Waveguide",
# # ),
# # "SiN_Rib_WG": LayerSpec(
# # name="SiN_Rib_WG",
# # layer=(63, 30),
# # description="Legacy/layout-only SiN rib waveguide layer; not present in the EMO1 .lbr stack.",
# # ),
# #
# # "SSIN0": LayerSpec(
# # name="SSIN0",
# # layer=(283, 0),
# # material=BE_NITRIDE,
# # z_start=1.22,
# # thickness=0.13,
# # sidewall_angle=90.0,
# # process="Grow",
# # description="SSIN0",
# # ),
# # "SSIN1": LayerSpec(
# # name="SSIN1",
# # layer=(289, 0),
# # material=BE_NITRIDE,
# # z_start=2.05,
# # thickness=0.13,
# # sidewall_angle=90.0,
# # process="Grow",
# # description="SSIN1",
# # ),
# # "SSIN2": LayerSpec(
# # name="SSIN2",
# # layer=(290, 0),
# # material=BE_NITRIDE,
# # z_start=3.28,
# # thickness=0.13,
# # sidewall_angle=90.0,
# # process="Grow",
# # description="SSIN2",
# # ),
# # "SSIN3": LayerSpec(
# # name="SSIN3",
# # layer=(291, 0),
# # material=BE_NITRIDE,
# # z_start=5.51,
# # thickness=0.13,
# # sidewall_angle=90.0,
# # process="Grow",
# # description="SSIN3",
# # ),
# #
# # "EXCLUSION": LayerSpec(
# # name="EXCLUSION",
# # layer=(57, 0),
# # description="Legacy/layout-only exclusion layer; not present in the EMO1 .lbr stack.",
# # ),
# # "SALICIDE": LayerSpec(
# # name="SALICIDE",
# # layer=(128, 60),
# # description="Legacy/layout-only salicide layer; not present in the EMO1 .lbr stack.",
# # ),
# #
# # "DM_EXL": LayerSpec(
# # name="DM_EXL",
# # layer=(23, 0),
# # description="Legacy/layout-only dummy exclusion layer; not present in the EMO1 .lbr stack.",
# # ),
# # "DM_EXL_FE": LayerSpec(
# # name="DM_EXL_FE",
# # layer=(23, 40),
# # description="Legacy/layout-only front-end dummy exclusion layer; not present in the EMO1 .lbr stack.",
# # ),
# # "DM_EXL_BE": LayerSpec(
# # name="DM_EXL_BE",
# # layer=(23, 41),
# # description="Legacy/layout-only back-end dummy exclusion layer; not present in the EMO1 .lbr stack.",
# # ),
# #
# # "OXIDE_FACET": LayerSpec(
# # name="OXIDE_FACET",
# # layer=(90, 0),
# # material=ETCH,
# # z_start=-3.0,
# # thickness=11.64,
# # sidewall_angle=98.0,
# # process="Grow",
# # description="Deep Oxide Trench; GDS is shared with Deep Silicon Trench in the .lbr.",
# # ),
# # "DT": LayerSpec(
# # name="DT",
# # layer=(404, 0),
# # description="Legacy/layout-only deep-trench layer; EMO1 .lbr uses 90:0 for deep trench rows.",
# # ),
# #
# # ### Active part
# # "P": LayerSpec(
# # name="P",
# # layer=(256, 0),
# # description="Legacy/layout-only implant layer; not present in the EMO1 .lbr stack.",
# # ),
# # "N": LayerSpec(
# # name="N",
# # layer=(257, 0),
# # description="Legacy/layout-only implant layer; not present in the EMO1 .lbr stack.",
# # ),
# # "PP": LayerSpec(
# # name="PP",
# # layer=(258, 0),
# # description="Legacy/layout-only implant layer; not present in the EMO1 .lbr stack.",
# # ),
# # "NP": LayerSpec(
# # name="NP",
# # layer=(259, 0),
# # description="Legacy/layout-only implant layer; not present in the EMO1 .lbr stack.",
# # ),
# # "PPP": LayerSpec(
# # name="PPP",
# # layer=(260, 0),
# # description="Legacy/layout-only implant layer; not present in the EMO1 .lbr stack.",
# # ),
# # "NPP": LayerSpec(
# # name="NPP",
# # layer=(261, 0),
# # description="Legacy/layout-only implant layer; not present in the EMO1 .lbr stack.",
# # ),
# #
# # "PD_SIPP": LayerSpec(
# # name="PD_SIPP",
# # layer=(100, 140),
# # description="Legacy/layout-only photodiode implant layer; not present in the EMO1 .lbr stack.",
# # ),
# # "PD_SINP": LayerSpec(
# # name="PD_SINP",
# # layer=(100, 150),
# # description="Legacy/layout-only photodiode implant layer; not present in the EMO1 .lbr stack.",
# # ),
# # }
# #
# # XSECTIONS = {
# # "strip": XSectionSpec(
# # name="strip",
# # layers=(
# # XSectionLayerSpec(layer="WG_HM", growx=0, growy=0),
# # XSectionLayerSpec(layer="WG_STRIP", growx=4, growy=4),
# # ),
# # ),
# # "rib_low": XSectionSpec(
# # name="rib_low",
# # layers=(
# # XSectionLayerSpec(layer="WG_HM", growx=0, growy=0),
# # XSectionLayerSpec(layer="WG_LOWRIB", growx=3, growy=3),
# # XSectionLayerSpec(
# # layer="WG_STRIP",
# # leftedge=(-0.5, -3),
# # rightedge=(-0.5, -3.5),
# # ),
# # XSectionLayerSpec(
# # layer="WG_STRIP",
# # leftedge=(0.5, 3.5),
# # rightedge=(0.5, 3),
# # ),
# # ),
# # ),
# # "metal_1": XSectionSpec(
# # name="metal_1",
# # layers=(
# # XSectionLayerSpec(layer="UTM", growx=0, growy=0),
# # XSectionLayerSpec(layer="SSIN0", growx=2.5, growy=2.5),
# # ),
# # ),
# # "metal_2": XSectionSpec(
# # name="metal_2",
# # layers=(
# # XSectionLayerSpec(layer="UTM2", growx=0, growy=0),
# # XSectionLayerSpec(layer="SSIN1", growx=2.5, growy=2.5),
# # ),
# # ),
# # }
# #
# # def __init__(self) -> None:
# # super().__init__()
+2
View File
@@ -0,0 +1,2 @@
# Legacy technology source archive.
# Active technologies are loaded from YAML manifests in mxpic/technologies/<foundry>/*.yml.