dev.c, inp2m.c, inpdomod.c, introduce bsimcmg (use level 17)

This commit is contained in:
rlar 2017-07-07 17:46:27 +02:00
parent 8d314dc341
commit 289c10a2f0
3 changed files with 13 additions and 2 deletions

View File

@ -126,6 +126,7 @@ int add_udn(int,Evt_Udn_Info_t **);
#include "adms/ekv/ekvitf.h"
#include "adms/psp102/psp102itf.h"
#include "adms/bsim6/bsim6itf.h"
#include "adms/bsimcmg/bsimcmgitf.h"
#endif
#ifdef CIDER
/* Numerical devices (Cider integration) */
@ -207,6 +208,7 @@ static SPICEdev *(*static_devices[])(void) = {
(SPICEdev *(*)(void)) get_ekv_info,
(SPICEdev *(*)(void)) get_psp102_info,
(SPICEdev *(*)(void)) get_bsim6_info,
(SPICEdev *(*)(void)) get_bsimcmg_info,
#endif
#ifdef NDEV
@ -291,7 +293,7 @@ SPICEdev ** devices(void)
#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", "hicum2", "bjt504t", "ekv", "psp102", "bsim6"}
"mos6", "mos9", "res", "soi3", "sw", "tra", "urc", "vccs", "vcvs", "vsrc", "hicum0", "hicum2", "bjt504t", "ekv", "psp102", "bsim6", "bsimcmg"}
#else
#define DEVICES_USED {"asrc", "bjt", "vbic", "bsim1", "bsim2", "bsim3", "bsim3v32", "bsim3v2", "bsim3v1", "bsim4", "bsim4v5", "bsim4v6", "bsim4v7", \
"bsim4soi", "bsim3soipd", "bsim3soifd", "bsim3soidd", "hisim2", "hisimhv1", "hisimhv2", \

View File

@ -31,7 +31,8 @@ model_numnodes(int type)
return 6;
}
if (type == INPtypelook("BSIM6")) /* bsim6.va with __THERMAL_NODE__ */
if (type == INPtypelook("BSIM6") || /* bsim6.va with __THERMAL_NODE__ */
type == INPtypelook("BSIMCMG")) /* bsimcmg.va */
{
return 5;
}
@ -131,6 +132,7 @@ INP2M(CKTcircuit *ckt, INPtables *tab, card *current)
thismodel->INPmodType != INPtypelook("ekv") &&
thismodel->INPmodType != INPtypelook("psp102") &&
thismodel->INPmodType != INPtypelook("bsim6") &&
thismodel->INPmodType != INPtypelook("bsimcmg") &&
#endif
thismodel->INPmodType != INPtypelook("HiSIM2") &&
thismodel->INPmodType != INPtypelook("HiSIMHV1") &&

View File

@ -335,6 +335,13 @@ char *INPdomodel(CKTcircuit *ckt, card * image, INPtables * tab)
INPmkTemp
("Device type BSIM6 not available in this binary\n");}
break;
case 17:
type = INPtypelook("BSIMCMG");
if (type < 0) {
err =
INPmkTemp
("Device type BSIMCMG not available in this binary\n");}
break;
#ifdef ADMS
case 44:
type = INPtypelook("ekv");