250 lines
10 KiB
Python
250 lines
10 KiB
Python
# 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),
|
|
# # ),
|
|
# # ),
|
|
# # }
|