Remove ADMS related code
This commit is contained in:
parent
656511a6f9
commit
5db715296d
|
|
@ -256,9 +256,6 @@ com_version(wordlist *wl)
|
||||||
#ifdef NGDEBUG
|
#ifdef NGDEBUG
|
||||||
fprintf(cp_out, "** Debugging option (-g) enabled\n");
|
fprintf(cp_out, "** Debugging option (-g) enabled\n");
|
||||||
#endif
|
#endif
|
||||||
#ifdef ADMS
|
|
||||||
fprintf(cp_out, "** Adms interface enabled\n");
|
|
||||||
#endif
|
|
||||||
#ifdef USE_OMP
|
#ifdef USE_OMP
|
||||||
fprintf(cp_out, "** OpenMP multithreading for BSIM3, BSIM4 enabled\n");
|
fprintf(cp_out, "** OpenMP multithreading for BSIM3, BSIM4 enabled\n");
|
||||||
#endif
|
#endif
|
||||||
|
|
|
||||||
|
|
@ -137,8 +137,6 @@ libdev_la_SOURCES = \
|
||||||
cktsoachk.c \
|
cktsoachk.c \
|
||||||
limit.c
|
limit.c
|
||||||
|
|
||||||
EXTRA_DIST = adms/admst
|
|
||||||
|
|
||||||
AM_CPPFLAGS = @AM_CPPFLAGS@ -I$(top_srcdir)/src/include -I$(top_srcdir)/src/spicelib/devices
|
AM_CPPFLAGS = @AM_CPPFLAGS@ -I$(top_srcdir)/src/include -I$(top_srcdir)/src/spicelib/devices
|
||||||
AM_CFLAGS = $(STATIC)
|
AM_CFLAGS = $(STATIC)
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -126,16 +126,6 @@ extern struct coreInfo_t coreInfo; /* cmexport.c */
|
||||||
#include "vcvs/vcvsitf.h"
|
#include "vcvs/vcvsitf.h"
|
||||||
#include "vsrc/vsrcitf.h"
|
#include "vsrc/vsrcitf.h"
|
||||||
#include "vdmos/vdmositf.h"
|
#include "vdmos/vdmositf.h"
|
||||||
#ifdef ADMS
|
|
||||||
#include "adms/hicum0/hicum0itf.h"
|
|
||||||
#include "adms/mextram/bjt504titf.h"
|
|
||||||
#include "adms/ekv/ekvitf.h"
|
|
||||||
#include "adms/psp102/psp102itf.h"
|
|
||||||
#include "adms/psp103/psp103itf.h"
|
|
||||||
#include "adms/bsimbulk/bsimbulkitf.h"
|
|
||||||
#include "adms/bsimcmg/bsimcmgitf.h"
|
|
||||||
#include "adms/r2_cmc/r2_cmcitf.h"
|
|
||||||
#endif
|
|
||||||
#ifdef CIDER
|
#ifdef CIDER
|
||||||
/* Numerical devices (Cider integration) */
|
/* Numerical devices (Cider integration) */
|
||||||
#include "nbjt/nbjtitf.h"
|
#include "nbjt/nbjtitf.h"
|
||||||
|
|
@ -211,17 +201,6 @@ static SPICEdev *(*static_devices[])(void) = {
|
||||||
get_numos_info,
|
get_numos_info,
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#ifdef ADMS
|
|
||||||
(SPICEdev *(*)(void)) get_hicum0_info,
|
|
||||||
(SPICEdev *(*)(void)) get_bjt504t_info,
|
|
||||||
(SPICEdev *(*)(void)) get_ekv_info,
|
|
||||||
(SPICEdev *(*)(void)) get_psp102_info,
|
|
||||||
(SPICEdev *(*)(void)) get_psp103_info,
|
|
||||||
(SPICEdev *(*)(void)) get_bsimbulk_info,
|
|
||||||
(SPICEdev *(*)(void)) get_bsimcmg_info,
|
|
||||||
(SPICEdev *(*)(void)) get_r2_cmc_info,
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#ifdef NDEV
|
#ifdef NDEV
|
||||||
get_ndev_info,
|
get_ndev_info,
|
||||||
#endif
|
#endif
|
||||||
|
|
@ -303,17 +282,12 @@ SPICEdev ** devices(void)
|
||||||
#ifdef DEVLIB
|
#ifdef DEVLIB
|
||||||
/*not yet usable*/
|
/*not yet usable*/
|
||||||
|
|
||||||
#ifdef ADMS
|
|
||||||
#define DEVICES_USED {"asrc", "bjt", "vbic", "bsim1", "bsim2", "bsim3", "bsim3v32", "bsim3v2", "bsim3v1", "bsim4", "bsim4v5", "bsim4v6", "bsim4v7", \
|
|
||||||
"bsim4soi", "bsim3soipd", "bsim3soifd", "bsim3soidd", "hisim2", "hisimhv1", "hisimhv2", \
|
|
||||||
"cap", "cccs", "ccvs", "csw", "dio", "hfet", "hfet2", "ind", "isrc", "jfet", "ltra", "mes", "mesa" ,"mos1", "mos2", "mos3", \
|
|
||||||
"mos6", "mos9", "res", "soi3", "sw", "tra", "urc", "vccs", "vcvs", "vsrc", "hicum0", "bjt504t", "ekv", "psp102", "psp103", "bsimbulk", "bsimcmg"}
|
|
||||||
#else
|
|
||||||
#define DEVICES_USED {"asrc", "bjt", "vbic", "bsim1", "bsim2", "bsim3", "bsim3v32", "bsim3v2", "bsim3v1", "bsim4", "bsim4v5", "bsim4v6", "bsim4v7", \
|
#define DEVICES_USED {"asrc", "bjt", "vbic", "bsim1", "bsim2", "bsim3", "bsim3v32", "bsim3v2", "bsim3v1", "bsim4", "bsim4v5", "bsim4v6", "bsim4v7", \
|
||||||
"bsim4soi", "bsim3soipd", "bsim3soifd", "bsim3soidd", "hisim2", "hisimhv1", "hisimhv2", \
|
"bsim4soi", "bsim3soipd", "bsim3soifd", "bsim3soidd", "hisim2", "hisimhv1", "hisimhv2", \
|
||||||
"cap", "cccs", "ccvs", "csw", "dio", "hfet", "hfet2", "ind", "isrc", "jfet", "ltra", "mes", "mesa" ,"mos1", "mos2", "mos3", \
|
"cap", "cccs", "ccvs", "csw", "dio", "hfet", "hfet2", "ind", "isrc", "jfet", "ltra", "mes", "mesa" ,"mos1", "mos2", "mos3", \
|
||||||
"mos6", "mos9", "res", "soi3", "sw", "tra", "urc", "vccs", "vcvs", "vsrc", "hicum2"}
|
"mos6", "mos9", "res", "soi3", "sw", "tra", "urc", "vccs", "vcvs", "vsrc", "hicum2"}
|
||||||
#endif
|
|
||||||
int load_dev(char *name) {
|
int load_dev(char *name) {
|
||||||
char *msg;
|
char *msg;
|
||||||
char libname[50];
|
char libname[50];
|
||||||
|
|
|
||||||
|
|
@ -31,14 +31,6 @@ model_numnodes(int type)
|
||||||
return 6;
|
return 6;
|
||||||
}
|
}
|
||||||
|
|
||||||
#ifdef ADMS
|
|
||||||
if (type == INPtypelook("BSIMBULK") || /* bsimbulk.va */
|
|
||||||
type == INPtypelook("BSIMCMG")) /* bsimcmg.va */
|
|
||||||
{
|
|
||||||
return 5;
|
|
||||||
}
|
|
||||||
#endif
|
|
||||||
|
|
||||||
if (type == INPtypelook("VDMOS")) /* 3 ; VDMOSnames */
|
if (type == INPtypelook("VDMOS")) /* 3 ; VDMOSnames */
|
||||||
{
|
{
|
||||||
return 5;
|
return 5;
|
||||||
|
|
@ -141,13 +133,6 @@ INP2M(CKTcircuit *ckt, INPtables *tab, struct card *current)
|
||||||
thismodel->INPmodType != INPtypelook("SOI3") &&
|
thismodel->INPmodType != INPtypelook("SOI3") &&
|
||||||
#ifdef CIDER
|
#ifdef CIDER
|
||||||
thismodel->INPmodType != INPtypelook("NUMOS") &&
|
thismodel->INPmodType != INPtypelook("NUMOS") &&
|
||||||
#endif
|
|
||||||
#ifdef ADMS
|
|
||||||
thismodel->INPmodType != INPtypelook("ekv") &&
|
|
||||||
thismodel->INPmodType != INPtypelook("psp102") &&
|
|
||||||
thismodel->INPmodType != INPtypelook("psp103") &&
|
|
||||||
thismodel->INPmodType != INPtypelook("bsimbulk") &&
|
|
||||||
thismodel->INPmodType != INPtypelook("bsimcmg") &&
|
|
||||||
#endif
|
#endif
|
||||||
thismodel->INPmodType != INPtypelook("HiSIM2") &&
|
thismodel->INPmodType != INPtypelook("HiSIM2") &&
|
||||||
thismodel->INPmodType != INPtypelook("HiSIMHV1") &&
|
thismodel->INPmodType != INPtypelook("HiSIMHV1") &&
|
||||||
|
|
|
||||||
|
|
@ -18,11 +18,6 @@ model_max_numnodes(int type)
|
||||||
if (type == INPtypelook("VBIC") ||
|
if (type == INPtypelook("VBIC") ||
|
||||||
type == INPtypelook("hicum2"))
|
type == INPtypelook("hicum2"))
|
||||||
return 5;
|
return 5;
|
||||||
#ifdef ADMS
|
|
||||||
if (type == INPtypelook("hicum0") ||
|
|
||||||
type == INPtypelook("bjt504t"))
|
|
||||||
return 5;
|
|
||||||
#endif
|
|
||||||
return 4;
|
return 4;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -96,10 +91,6 @@ void INP2Q(CKTcircuit *ckt, INPtables * tab, struct card *current, CKTnode *gnod
|
||||||
#ifdef CIDER
|
#ifdef CIDER
|
||||||
thismodel->INPmodType != INPtypelook("NBJT") &&
|
thismodel->INPmodType != INPtypelook("NBJT") &&
|
||||||
thismodel->INPmodType != INPtypelook("NBJT2") &&
|
thismodel->INPmodType != INPtypelook("NBJT2") &&
|
||||||
#endif
|
|
||||||
#ifdef ADMS
|
|
||||||
thismodel->INPmodType != INPtypelook("hicum0") &&
|
|
||||||
thismodel->INPmodType != INPtypelook("bjt504t") &&
|
|
||||||
#endif
|
#endif
|
||||||
thismodel->INPmodType != INPtypelook("hicum2") &&
|
thismodel->INPmodType != INPtypelook("hicum2") &&
|
||||||
thismodel->INPmodType != INPtypelook("VBIC"))
|
thismodel->INPmodType != INPtypelook("VBIC"))
|
||||||
|
|
|
||||||
|
|
@ -169,11 +169,8 @@ void INP2R(CKTcircuit *ckt, INPtables * tab, struct card *current)
|
||||||
INPinsert(&model, tab);
|
INPinsert(&model, tab);
|
||||||
current->error = INPgetMod(ckt, model, &thismodel, tab);
|
current->error = INPgetMod(ckt, model, &thismodel, tab);
|
||||||
if (thismodel != NULL) {
|
if (thismodel != NULL) {
|
||||||
if ((INPtypelook("Resistor") != thismodel->INPmodType)
|
if (INPtypelook("Resistor") != thismodel->INPmodType)
|
||||||
#ifdef ADMS
|
{
|
||||||
&& (INPtypelook("r2_cmc") != thismodel->INPmodType)
|
|
||||||
#endif
|
|
||||||
) {
|
|
||||||
LITERR("incorrect model type for resistor");
|
LITERR("incorrect model type for resistor");
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -63,22 +63,6 @@ char *INPdomodel(CKTcircuit *ckt, struct card *image, INPtables * tab)
|
||||||
"Device type VBIC not available in this binary\n");
|
"Device type VBIC not available in this binary\n");
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
#ifdef ADMS
|
|
||||||
case 6:
|
|
||||||
type = INPtypelook("bjt504t");
|
|
||||||
if(type < 0) {
|
|
||||||
err = INPmkTemp(
|
|
||||||
"Device type MEXTRAM not available in this binary\n");
|
|
||||||
}
|
|
||||||
break;
|
|
||||||
case 7:
|
|
||||||
type = INPtypelook("hicum0");
|
|
||||||
if(type < 0) {
|
|
||||||
err = INPmkTemp(
|
|
||||||
"Device type HICUM0 not available in this binary\n");
|
|
||||||
}
|
|
||||||
break;
|
|
||||||
#endif
|
|
||||||
case 8:
|
case 8:
|
||||||
type = INPtypelook("hicum2");
|
type = INPtypelook("hicum2");
|
||||||
if(type < 0) {
|
if(type < 0) {
|
||||||
|
|
@ -87,13 +71,8 @@ char *INPdomodel(CKTcircuit *ckt, struct card *image, INPtables * tab)
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
default: /* placeholder; use level 4 for the next model */
|
default: /* placeholder; use level 4 for the next model */
|
||||||
#ifdef ADMS
|
|
||||||
err = INPmkTemp(
|
|
||||||
"Only BJT levels 1-2, 4, 6-9 are supported in this binary\n");
|
|
||||||
#else
|
|
||||||
err = INPmkTemp(
|
err = INPmkTemp(
|
||||||
"Only BJT levels 1-2, 4, 8, 9 are supported in this binary\n");
|
"Only BJT levels 1-2, 4, 8, 9 are supported in this binary\n");
|
||||||
#endif
|
|
||||||
break;
|
break;
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
@ -341,48 +320,6 @@ char *INPdomodel(CKTcircuit *ckt, struct card *image, INPtables * tab)
|
||||||
("Device type BSIM5 not available in this binary\n");
|
("Device type BSIM5 not available in this binary\n");
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
#ifdef ADMS
|
|
||||||
case 16:
|
|
||||||
case 77:
|
|
||||||
type = INPtypelook("BSIMBULK");
|
|
||||||
if (type < 0) {
|
|
||||||
err =
|
|
||||||
INPmkTemp
|
|
||||||
("Device type BSIMBULK not available in this binary\n");}
|
|
||||||
break;
|
|
||||||
case 17:
|
|
||||||
case 72:
|
|
||||||
type = INPtypelook("BSIMCMG");
|
|
||||||
if (type < 0) {
|
|
||||||
err =
|
|
||||||
INPmkTemp
|
|
||||||
("Device type BSIMCMG not available in this binary\n");}
|
|
||||||
break;
|
|
||||||
case 44:
|
|
||||||
type = INPtypelook("ekv");
|
|
||||||
if (type < 0) {
|
|
||||||
err =
|
|
||||||
INPmkTemp
|
|
||||||
("Device type EKV not available in this binary\n");
|
|
||||||
}
|
|
||||||
break;
|
|
||||||
case 45:
|
|
||||||
type = INPtypelook("psp102");
|
|
||||||
if (type < 0) {
|
|
||||||
err =
|
|
||||||
INPmkTemp
|
|
||||||
("Device type PSP102 not available in this binary\n");
|
|
||||||
}
|
|
||||||
break;
|
|
||||||
case 69:
|
|
||||||
type = INPtypelook("psp103");
|
|
||||||
if (type < 0) {
|
|
||||||
err =
|
|
||||||
INPmkTemp
|
|
||||||
("Device type PSP103 not available in this binary\n");
|
|
||||||
}
|
|
||||||
break;
|
|
||||||
#endif
|
|
||||||
case 55:
|
case 55:
|
||||||
type = INPtypelook("B3SOIFD");
|
type = INPtypelook("B3SOIFD");
|
||||||
if (type < 0) {
|
if (type < 0) {
|
||||||
|
|
@ -444,13 +381,8 @@ char *INPdomodel(CKTcircuit *ckt, struct card *image, INPtables * tab)
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
default: /* placeholder; use level xxx for the next model */
|
default: /* placeholder; use level xxx for the next model */
|
||||||
#ifdef ADMS
|
|
||||||
err = INPmkTemp
|
|
||||||
("Only MOS device levels 1-6,8-10,14,16,17,44,45,49,54-58,60,68,72,73,77 are supported in this binary\n");
|
|
||||||
#else
|
|
||||||
err = INPmkTemp
|
err = INPmkTemp
|
||||||
("Only MOS device levels 1-6,8-10,14,49,54-58,60,68,73 are supported in this binary\n");
|
("Only MOS device levels 1-6,8-10,14,49,54-58,60,68,73 are supported in this binary\n");
|
||||||
#endif
|
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
INPmakeMod(modname, type, image);
|
INPmakeMod(modname, type, image);
|
||||||
|
|
@ -481,15 +413,6 @@ char *INPdomodel(CKTcircuit *ckt, struct card *image, INPtables * tab)
|
||||||
("Device type Resistor not available in this binary\n");
|
("Device type Resistor not available in this binary\n");
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
#ifdef ADMS
|
|
||||||
case 2:
|
|
||||||
type = INPtypelook("r2_cmc");
|
|
||||||
if (type < 0) {
|
|
||||||
err = INPmkTemp(
|
|
||||||
"Device type R2_CMC not available in this binary\n");
|
|
||||||
}
|
|
||||||
break;
|
|
||||||
#endif
|
|
||||||
}
|
}
|
||||||
INPmakeMod(modname, type, image);
|
INPmakeMod(modname, type, image);
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -38,10 +38,6 @@
|
||||||
#define CIDER 1
|
#define CIDER 1
|
||||||
/* don't undef CIDER, otherwise compilation will fail */
|
/* don't undef CIDER, otherwise compilation will fail */
|
||||||
|
|
||||||
/* Support for Verilog-A(MS) models */
|
|
||||||
/* #undef ADMS */
|
|
||||||
/* ADMS compilation is not supported with MS Visual Studio */
|
|
||||||
|
|
||||||
/* Define if we want debug sensitivity analysis */
|
/* Define if we want debug sensitivity analysis */
|
||||||
/* #undef ASDEBUG */
|
/* #undef ASDEBUG */
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue