From 647b7cc6c78205ee4c40a474b6c1788e258d94ca Mon Sep 17 00:00:00 2001 From: Tim Edwards Date: Sun, 17 Jan 2021 12:52:57 -0500 Subject: [PATCH] Corrected one small inconsistency in the handling of symmetric vs. asymmetric MOSFET definitions in the tech file "extract" section. Corrected the nmos.tech.in file to put the resistance classes in plane order, as otherwise the interpretation of which resistance classes belongs to the transistor source and drain can get messed up by the presence of buried contacts. --- VERSION | 2 +- extract/ExtTech.c | 4 +++- scmos/nmos.tech.in | 2 +- 3 files changed, 5 insertions(+), 3 deletions(-) diff --git a/VERSION b/VERSION index 6fa2fa77..60d1fa3a 100644 --- a/VERSION +++ b/VERSION @@ -1 +1 @@ -8.3.117 +8.3.118 diff --git a/extract/ExtTech.c b/extract/ExtTech.c index 4f6bdb59..7445ddb4 100644 --- a/extract/ExtTech.c +++ b/extract/ExtTech.c @@ -2202,10 +2202,13 @@ ExtTechLine(sectionName, argc, argv) termtypes[1] = DBZeroTypeBits; /* Make it symmetric */ else if (!TTMaskIsZero(&termtypes[2])) { + class = DEV_ASYMMETRIC; TechError("Device mosfet %s has overlapping drain" " and source types!\n", transName); /* Should this device be disabled? */ } + else + class = DEV_ASYMMETRIC; termtypes[2] = DBZeroTypeBits; if (strcmp(argv[6], "None")) DBTechNoisyNameMask(argv[6], &subsTypes); /* substrate */ @@ -2213,7 +2216,6 @@ ExtTechLine(sectionName, argc, argv) if (argc > 8) gscap = aToCap(argv[8]); if (argc > 9) gccap = aToCap(argv[9]); nterm = 2; - class = DEV_ASYMMETRIC; } else { diff --git a/scmos/nmos.tech.in b/scmos/nmos.tech.in index 7de2dd33..00e1cadc 100644 --- a/scmos/nmos.tech.in +++ b/scmos/nmos.tech.in @@ -354,8 +354,8 @@ extract planeorder metal 1 # sheet resistivity milli-ohms per square */ - resist poly,pmc/poly,efet,dfet,bc 30000 resist diff,dmc/poly 10000 + resist poly,pmc/poly,efet,dfet,bc 30000 resist metal,glass 30 # area capacitance atto-farads/lambda**2 */