explicitly clear has_cuda for all non-CUDA models

This commit is contained in:
Francesco Lannutti 2017-09-19 21:19:23 +02:00 committed by rlar
parent b5763eb0d8
commit 5676df66a5
43 changed files with 250 additions and 15 deletions

View File

@ -32,6 +32,12 @@ ASRCsetup(SMPmatrix *matrix, GENmodel *inModel, CKTcircuit *ckt, int *states)
NG_IGNORE(states);
for (; model; model = ASRCnextModel(model)) {
#ifdef USE_CUSPICE
/* This model doesn't support CUDA */
model->gen.has_cuda = 0 ;
#endif
for (here = ASRCinstances(model); here; here=ASRCnextInstance(here)) {
if (!here->ASRCtree)

View File

@ -34,6 +34,11 @@ BJTsetup(SMPmatrix *matrix, GENmodel *inModel, CKTcircuit *ckt, int *states)
/* loop through all the diode models */
for( ; model != NULL; model = BJTnextModel(model)) {
#ifdef USE_CUSPICE
/* This model doesn't support CUDA */
model->gen.has_cuda = 0 ;
#endif
if(model->BJTtype != NPN && model->BJTtype != PNP) {
model->BJTtype = NPN;
}

View File

@ -26,8 +26,13 @@ B1setup(SMPmatrix *matrix, GENmodel *inModel, CKTcircuit *ckt,
/* loop through all the B1 device models */
for( ; model != NULL; model = B1nextModel(model)) {
/* Default value Processing for B1 MOSFET Models */
#ifdef USE_CUSPICE
/* This model doesn't support CUDA */
model->gen.has_cuda = 0 ;
#endif
/* Default value Processing for B1 MOSFET Models */
if( ! model->B1typeGiven) {
model->B1type = NMOS; /* NMOS */
}

View File

@ -25,8 +25,13 @@ B2setup(SMPmatrix *matrix, GENmodel *inModel, CKTcircuit *ckt, int *states)
/* loop through all the B2 device models */
for( ; model != NULL; model = B2nextModel(model)) {
/* Default value Processing for B2 MOSFET Models */
#ifdef USE_CUSPICE
/* This model doesn't support CUDA */
model->gen.has_cuda = 0 ;
#endif
/* Default value Processing for B2 MOSFET Models */
if( ! model->B2typeGiven) {
model->B2type = NMOS; /* NMOS */
}

View File

@ -51,7 +51,13 @@ BSIM3instance **InstArray;
/* loop through all the BSIM3 device models */
for( ; model != NULL; model = BSIM3nextModel(model))
{
/* Default value Processing for BSIM3 MOSFET Models */
#ifdef USE_CUSPICE
/* This model doesn't support CUDA */
model->gen.has_cuda = 0 ;
#endif
/* Default value Processing for BSIM3 MOSFET Models */
if (!model->BSIM3typeGiven)
model->BSIM3type = NMOS;
if (!model->BSIM3mobModGiven)

View File

@ -49,8 +49,13 @@ IFuid tmpName;
/* loop through all the B3SOIDD device models */
for( ; model != NULL; model = B3SOIDDnextModel(model))
{
/* Default value Processing for B3SOIDD MOSFET Models */
#ifdef USE_CUSPICE
/* This model doesn't support CUDA */
model->gen.has_cuda = 0 ;
#endif
/* Default value Processing for B3SOIDD MOSFET Models */
if (!model->B3SOIDDtypeGiven)
model->B3SOIDDtype = NMOS;
if (!model->B3SOIDDmobModGiven)

View File

@ -49,8 +49,13 @@ IFuid tmpName;
/* loop through all the B3SOIFD device models */
for( ; model != NULL; model = B3SOIFDnextModel(model))
{
/* Default value Processing for B3SOIFD MOSFET Models */
#ifdef USE_CUSPICE
/* This model doesn't support CUDA */
model->gen.has_cuda = 0 ;
#endif
/* Default value Processing for B3SOIFD MOSFET Models */
if (!model->B3SOIFDtypeGiven)
model->B3SOIFDtype = NMOS;
if (!model->B3SOIFDmobModGiven)

View File

@ -49,8 +49,13 @@ IFuid tmpName;
/* loop through all the B3SOIPD device models */
for( ; model != NULL; model = B3SOIPDnextModel(model))
{
/* Default value Processing for B3SOIPD MOSFET Models */
#ifdef USE_CUSPICE
/* This model doesn't support CUDA */
model->gen.has_cuda = 0 ;
#endif
/* Default value Processing for B3SOIPD MOSFET Models */
if (!model->B3SOIPDtypeGiven)
model->B3SOIPDtype = NMOS;
if (!model->B3SOIPDmobModGiven)

View File

@ -37,7 +37,13 @@ IFuid tmpName;
/* loop through all the BSIM3v0 device models */
for( ; model != NULL; model = BSIM3v0nextModel(model))
{
/* Default value Processing for BSIM3v0 MOSFET Models */
#ifdef USE_CUSPICE
/* This model doesn't support CUDA */
model->gen.has_cuda = 0 ;
#endif
/* Default value Processing for BSIM3v0 MOSFET Models */
if (!model->BSIM3v0typeGiven)
model->BSIM3v0type = NMOS;
if (!model->BSIM3v0mobModGiven)

View File

@ -43,7 +43,13 @@ IFuid tmpName;
/* loop through all the BSIM3v1 device models */
for( ; model != NULL; model = BSIM3v1nextModel(model))
{
/* Default value Processing for BSIM3v1 MOSFET Models */
#ifdef USE_CUSPICE
/* This model doesn't support CUDA */
model->gen.has_cuda = 0 ;
#endif
/* Default value Processing for BSIM3v1 MOSFET Models */
if (!model->BSIM3v1typeGiven)
model->BSIM3v1type = NMOS;
if (!model->BSIM3v1mobModGiven)

View File

@ -47,7 +47,13 @@ BSIM3v32instance **InstArray;
/* loop through all the BSIM3v32 device models */
for( ; model != NULL; model = BSIM3v32nextModel(model))
{
/* Default value Processing for BSIM3v32 MOSFET Models */
#ifdef USE_CUSPICE
/* This model doesn't support CUDA */
model->gen.has_cuda = 0 ;
#endif
/* Default value Processing for BSIM3v32 MOSFET Models */
if (!model->BSIM3v32typeGiven)
model->BSIM3v32type = NMOS;
if (!model->BSIM3v32mobModGiven)

View File

@ -110,7 +110,14 @@ BSIM4instance **InstArray;
/* loop through all the BSIM4 device models */
for( ; model != NULL; model = BSIM4nextModel(model))
{ /* process defaults of model parameters */
{
#ifdef USE_CUSPICE
/* This model doesn't support CUDA */
model->gen.has_cuda = 0 ;
#endif
/* process defaults of model parameters */
if (!model->BSIM4typeGiven)
model->BSIM4type = NMOS;

View File

@ -67,7 +67,14 @@ BSIM4v5instance **InstArray;
/* loop through all the BSIM4v5 device models */
for( ; model != NULL; model = BSIM4v5nextModel(model))
{ /* process defaults of model parameters */
{
#ifdef USE_CUSPICE
/* This model doesn't support CUDA */
model->gen.has_cuda = 0 ;
#endif
/* process defaults of model parameters */
if (!model->BSIM4v5typeGiven)
model->BSIM4v5type = NMOS;

View File

@ -74,7 +74,14 @@ BSIM4v6instance **InstArray;
/* loop through all the BSIM4v6 device models */
for( ; model != NULL; model = BSIM4v6nextModel(model))
{ /* process defaults of model parameters */
{
#ifdef USE_CUSPICE
/* This model doesn't support CUDA */
model->gen.has_cuda = 0 ;
#endif
/* process defaults of model parameters */
if (!model->BSIM4v6typeGiven)
model->BSIM4v6type = NMOS;

View File

@ -61,8 +61,13 @@ B4SOIinstance **InstArray;
/* loop through all the B4SOI device models */
for( ; model != NULL; model = B4SOInextModel(model))
{
/* Default value Processing for B4SOI MOSFET Models */
#ifdef USE_CUSPICE
/* This model doesn't support CUDA */
model->gen.has_cuda = 0 ;
#endif
/* Default value Processing for B4SOI MOSFET Models */
if (!model->B4SOItypeGiven)
model->B4SOItype = NMOS;
if (!model->B4SOImobModGiven)

View File

@ -29,6 +29,11 @@ CCCSsetup(SMPmatrix *matrix, GENmodel *inModel, CKTcircuit *ckt, int *states)
/* loop through all the voltage source models */
for( ; model != NULL; model = CCCSnextModel(model)) {
#ifdef USE_CUSPICE
/* This model doesn't support CUDA */
model->gen.has_cuda = 0 ;
#endif
/* loop through all the instances of the model */
for (here = CCCSinstances(model); here != NULL ;
here=CCCSnextInstance(here)) {

View File

@ -27,6 +27,11 @@ CCVSsetup(SMPmatrix *matrix, GENmodel *inModel, CKTcircuit *ckt, int *states)
/* loop through all the voltage source models */
for( ; model != NULL; model = CCVSnextModel(model)) {
#ifdef USE_CUSPICE
/* This model doesn't support CUDA */
model->gen.has_cuda = 0 ;
#endif
/* loop through all the instances of the model */
for (here = CCVSinstances(model); here != NULL ;
here=CCVSnextInstance(here)) {

View File

@ -149,6 +149,11 @@ CPLsetup(SMPmatrix *matrix, GENmodel *inModel, CKTcircuit *ckt, int *state)
/* loop through all the models */
for( ; model != NULL; model = CPLnextModel(model)) {
#ifdef USE_CUSPICE
/* This model doesn't support CUDA */
model->gen.has_cuda = 0 ;
#endif
if (!model->Rmgiven) {
SPfrontEnd->IFerrorf (ERR_FATAL,
"model %s: lossy line series resistance not given", model->CPLmodName);

View File

@ -24,6 +24,12 @@ CSWsetup(SMPmatrix *matrix, GENmodel *inModel, CKTcircuit *ckt, int *states)
/* loop through all the current source models */
for( ; model != NULL; model = CSWnextModel(model)) {
#ifdef USE_CUSPICE
/* This model doesn't support CUDA */
model->gen.has_cuda = 0 ;
#endif
/* Default Value Processing for Switch Model */
if (!model->CSWthreshGiven) {
model->CSWiThreshold = 0;

View File

@ -27,6 +27,11 @@ DIOsetup(SMPmatrix *matrix, GENmodel *inModel, CKTcircuit *ckt, int *states)
/* loop through all the diode models */
for( ; model != NULL; model = DIOnextModel(model)) {
#ifdef USE_CUSPICE
/* This model doesn't support CUDA */
model->gen.has_cuda = 0 ;
#endif
if(!model->DIOlevelGiven) {
model->DIOlevel = 1;
}

View File

@ -30,6 +30,12 @@ HFETAsetup(SMPmatrix *matrix, GENmodel *inModel, CKTcircuit *ckt, int *states)
/* loop through all the diode models */
for( ; model != NULL; model = HFETAnextModel(model)) {
#ifdef USE_CUSPICE
/* This model doesn't support CUDA */
model->gen.has_cuda = 0 ;
#endif
if( (model->HFETAtype != NHFET) && (model->HFETAtype != PHFET) ) {
model->HFETAtype = NHFET;
}

View File

@ -21,6 +21,12 @@ int HFET2setup(SMPmatrix *matrix, GENmodel *inModel, CKTcircuit *ckt, int *state
CKTnode *tmp;
for( ; model != NULL; model = HFET2nextModel(model)) {
#ifdef USE_CUSPICE
/* This model doesn't support CUDA */
model->gen.has_cuda = 0 ;
#endif
if((TYPE != NHFET) && (TYPE != PHFET) )
TYPE = NHFET;
if(!model->HFET2cfGiven)

View File

@ -121,6 +121,12 @@ int HSM2setup(
/* loop through all the HSM2 device models */
for ( ;model != NULL ;model = HSM2nextModel(model)) {
#ifdef USE_CUSPICE
/* This model doesn't support CUDA */
model->gen.has_cuda = 0 ;
#endif
/* Default value Processing for HSM2 MOSFET Models */
if ( !model->HSM2_type_Given )
model->HSM2_type = NMOS ;

View File

@ -65,6 +65,12 @@ int HSMHVsetup(
/* loop through all the HSMHV device models */
for ( ;model != NULL ;model = HSMHVnextModel(model)) {
#ifdef USE_CUSPICE
/* This model doesn't support CUDA */
model->gen.has_cuda = 0 ;
#endif
/* Default value Processing for HVMOS Models */
if ( !model->HSMHV_type_Given )
model->HSMHV_type = NMOS ;

View File

@ -125,6 +125,12 @@ int HSMHV2setup(
/* loop through all the HSMHV2 device models */
for ( ;model != NULL ;model = HSMHV2nextModel(model)) {
#ifdef USE_CUSPICE
/* This model doesn't support CUDA */
model->gen.has_cuda = 0 ;
#endif
/* Default value Processing for HVMOS Models */
if ( !model->HSMHV2_type_Given )
model->HSMHV2_type = NMOS ;

View File

@ -29,6 +29,11 @@ JFETsetup(SMPmatrix *matrix, GENmodel *inModel, CKTcircuit *ckt, int *states)
/* loop through all the diode models */
for( ; model != NULL; model = JFETnextModel(model)) {
#ifdef USE_CUSPICE
/* This model doesn't support CUDA */
model->gen.has_cuda = 0 ;
#endif
if( (model->JFETtype != NJF) && (model->JFETtype != PJF) ) {
model->JFETtype = NJF;
}

View File

@ -30,6 +30,11 @@ JFET2setup(SMPmatrix *matrix, GENmodel *inModel, CKTcircuit *ckt, int *states)
/* loop through all the diode models */
for( ; model != NULL; model = JFET2nextModel(model)) {
#ifdef USE_CUSPICE
/* This model doesn't support CUDA */
model->gen.has_cuda = 0 ;
#endif
if( (model->JFET2type != NJF) && (model->JFET2type != PJF) ) {
model->JFET2type = NJF;
}

View File

@ -27,6 +27,11 @@ LTRAsetup(SMPmatrix *matrix, GENmodel *inModel, CKTcircuit *ckt, int *state)
/* loop through all the transmission line models */
for (; model != NULL; model = LTRAnextModel(model)) {
#ifdef USE_CUSPICE
/* This model doesn't support CUDA */
model->gen.has_cuda = 0 ;
#endif
if (!model->LTRAnlGiven) {
model->LTRAnl = .25;
}

View File

@ -26,6 +26,11 @@ MESsetup(SMPmatrix *matrix, GENmodel *inModel, CKTcircuit *ckt, int *states)
/* loop through all the diode models */
for( ; model != NULL; model = MESnextModel(model)) {
#ifdef USE_CUSPICE
/* This model doesn't support CUDA */
model->gen.has_cuda = 0 ;
#endif
if( (model->MEStype != NMF) && (model->MEStype != PMF) ) {
model->MEStype = NMF;
}

View File

@ -28,6 +28,12 @@ MESAsetup(SMPmatrix *matrix, GENmodel *inModel, CKTcircuit *ckt, int *states)
/* loop through all the diode models */
for( ; model != NULL; model = MESAnextModel(model)) {
#ifdef USE_CUSPICE
/* This model doesn't support CUDA */
model->gen.has_cuda = 0 ;
#endif
if( (model->MESAtype != NMF) ) {
fprintf(stderr, "Only nmf model type supported, set to nmf\n");
model->MESAtype = NMF;

View File

@ -27,6 +27,11 @@ MOS1setup(SMPmatrix *matrix, GENmodel *inModel, CKTcircuit *ckt,
/* loop through all the MOS1 device models */
for( ; model != NULL; model = MOS1nextModel(model)) {
#ifdef USE_CUSPICE
/* This model doesn't support CUDA */
model->gen.has_cuda = 0 ;
#endif
if(!model->MOS1typeGiven) {
model->MOS1type = NMOS;
}

View File

@ -26,6 +26,11 @@ MOS2setup(SMPmatrix *matrix, GENmodel *inModel, CKTcircuit *ckt, int *states)
/* loop through all the MOS2 device models */
for( ; model != NULL; model = MOS2nextModel(model)) {
#ifdef USE_CUSPICE
/* This model doesn't support CUDA */
model->gen.has_cuda = 0 ;
#endif
if(!model->MOS2typeGiven) {
model->MOS2type = NMOS;
}

View File

@ -30,6 +30,11 @@ MOS3setup(SMPmatrix *matrix, GENmodel *inModel, CKTcircuit *ckt, int *states)
/* loop through all the MOS3 device models */
for( ; model != NULL; model = MOS3nextModel(model)) {
#ifdef USE_CUSPICE
/* This model doesn't support CUDA */
model->gen.has_cuda = 0 ;
#endif
/* perform model defaulting */
if(!model->MOS3typeGiven) {
model->MOS3type = NMOS;

View File

@ -27,6 +27,11 @@ MOS6setup(SMPmatrix *matrix, GENmodel *inModel, CKTcircuit *ckt,
/* loop through all the MOS6 device models */
for( ; model != NULL; model = MOS6nextModel(model)) {
#ifdef USE_CUSPICE
/* This model doesn't support CUDA */
model->gen.has_cuda = 0 ;
#endif
if(!model->MOS6typeGiven) {
model->MOS6type = NMOS;
}

View File

@ -30,6 +30,11 @@ MOS9setup(SMPmatrix *matrix, GENmodel *inModel, CKTcircuit *ckt, int *states)
/* loop through all the MOS9 device models */
for( ; model != NULL; model = MOS9nextModel(model)) {
#ifdef USE_CUSPICE
/* This model doesn't support CUDA */
model->gen.has_cuda = 0 ;
#endif
/* perform model defaulting */
if(!model->MOS9typeGiven) {
model->MOS9type = NMOS;

View File

@ -55,6 +55,11 @@ SOI3setup(SMPmatrix *matrix, GENmodel *inModel, CKTcircuit *ckt, int *states)
/* loop through all the SOI3 device models */
for( ; model != NULL; model = SOI3nextModel(model)) {
#ifdef USE_CUSPICE
/* This model doesn't support CUDA */
model->gen.has_cuda = 0 ;
#endif
if(!model->SOI3typeGiven) {
model->SOI3type = NSOI3;
}

View File

@ -24,6 +24,12 @@ SWsetup(SMPmatrix *matrix, GENmodel *inModel, CKTcircuit *ckt, int *states)
/* loop through all the current source models */
for( ; model != NULL; model = SWnextModel(model)) {
#ifdef USE_CUSPICE
/* This model doesn't support CUDA */
model->gen.has_cuda = 0 ;
#endif
/* Default Value Processing for Switch Model */
if (!model->SWthreshGiven) {
model->SWvThreshold = 0;

View File

@ -30,6 +30,11 @@ TRAsetup(SMPmatrix *matrix, GENmodel *inModel, CKTcircuit *ckt, int *state)
/* loop through all the transmission line models */
for( ; model != NULL; model = TRAnextModel(model)) {
#ifdef USE_CUSPICE
/* This model doesn't support CUDA */
model->gen.has_cuda = 0 ;
#endif
/* loop through all the instances of the model */
for (here = TRAinstances(model); here != NULL ;
here=TRAnextInstance(here)) {

View File

@ -87,6 +87,11 @@ TXLsetup(SMPmatrix *matrix, GENmodel *inModel, CKTcircuit*ckt, int *state)
/* loop through all the models */
for( ; model != NULL; model = TXLnextModel(model)) {
#ifdef USE_CUSPICE
/* This model doesn't support CUDA */
model->gen.has_cuda = 0 ;
#endif
if (!model->Rgiven) {
SPfrontEnd->IFerrorf (ERR_FATAL,
"model %s: lossy line series resistance not given", model->TXLmodName);

View File

@ -62,6 +62,12 @@ URCsetup(SMPmatrix *matrix, GENmodel *inModel, CKTcircuit *ckt, int *state)
dtype = CKTtypelook("Diode");
/* loop through all the URC models */
for( ; model != NULL; model = URCnextModel(model)) {
#ifdef USE_CUSPICE
/* This model doesn't support CUDA */
model->gen.has_cuda = 0 ;
#endif
if(!model->URCkGiven)
model->URCk = 1.5;
if(!model->URCfmaxGiven)

View File

@ -35,6 +35,11 @@ VBICsetup(SMPmatrix *matrix, GENmodel *inModel, CKTcircuit *ckt, int *states)
/* loop through all the transistor models */
for( ; model != NULL; model = VBICnextModel(model)) {
#ifdef USE_CUSPICE
/* This model doesn't support CUDA */
model->gen.has_cuda = 0 ;
#endif
if(model->VBICtype != NPN && model->VBICtype != PNP) {
model->VBICtype = NPN;
}

View File

@ -30,6 +30,11 @@ VCCSsetup(SMPmatrix *matrix, GENmodel *inModel, CKTcircuit *ckt, int *states)
/* loop through all the current source models */
for( ; model != NULL; model = VCCSnextModel(model)) {
#ifdef USE_CUSPICE
/* This model doesn't support CUDA */
model->gen.has_cuda = 0 ;
#endif
/* loop through all the instances of the model */
for (here = VCCSinstances(model); here != NULL ;
here=VCCSnextInstance(here)) {

View File

@ -28,6 +28,11 @@ VCVSsetup(SMPmatrix *matrix, GENmodel *inModel, CKTcircuit *ckt, int *states)
/* loop through all the voltage source models */
for( ; model != NULL; model = VCVSnextModel(model)) {
#ifdef USE_CUSPICE
/* This model doesn't support CUDA */
model->gen.has_cuda = 0 ;
#endif
/* loop through all the instances of the model */
for (here = VCVSinstances(model); here != NULL ;
here=VCVSnextInstance(here)) {