diff --git a/src/frontend/com_hardcopy.c b/src/frontend/com_hardcopy.c index 37d87ac88..0c68b70f0 100644 --- a/src/frontend/com_hardcopy.c +++ b/src/frontend/com_hardcopy.c @@ -71,10 +71,18 @@ com_hardcopy(wordlist *wl) if (DevSwitch(devtype)) return; tempgraph = CopyGraph(currentgraph); /* change .tmp to .ps */ - psfname = strchr(fname, '.'); - *(psfname + 1) = 'p'; - *(psfname + 2) = 's'; - *(psfname + 3) = '\0'; + psfname = strchr(fname, '.'); + if(psfname) + { + *(psfname + 1) = 'p'; + *(psfname + 2) = 's'; + *(psfname + 3) = '\0'; + } + else + { + fname=realloc(fname,strlen(fname)+4); + strcat(fname,".ps"); + } tempgraph->devdep = fname; if (NewViewport(tempgraph)) { DevSwitch(NULL); diff --git a/src/frontend/device.c b/src/frontend/device.c index 361b42253..bd2602ad4 100644 --- a/src/frontend/device.c +++ b/src/frontend/device.c @@ -671,13 +671,13 @@ int printvals_old(dgen *dg, IFparm *p, int i) { IFvalue val; - int n; + int n, error; if (dg->flags & DGEN_INSTANCE) - (*ft_sim->askInstanceQuest)(ft_curckt->ci_ckt, dg->instance, + error = (*ft_sim->askInstanceQuest)(ft_curckt->ci_ckt, dg->instance, p->id, &val, &val); else - (*ft_sim->askModelQuest)(ft_curckt->ci_ckt, dg->model, + error = (*ft_sim->askModelQuest)(ft_curckt->ci_ckt, dg->model, p->id, &val, &val); if (p->dataType & IF_VECTOR) @@ -696,6 +696,9 @@ printvals_old(dgen *dg, IFparm *p, int i) return 0; } + if(error) { + fprintf(cp_out," <>", error); + } else if (p->dataType & IF_VECTOR) { /* va: ' ' is no flag for %s */ switch ((p->dataType & IF_VARTYPES) & ~IF_VECTOR) { diff --git a/src/spicelib/devices/bsim3soi/b4soiask.c b/src/spicelib/devices/bsim3soi/b4soiask.c index e47f27010..8bb9d83f1 100644 --- a/src/spicelib/devices/bsim3soi/b4soiask.c +++ b/src/spicelib/devices/bsim3soi/b4soiask.c @@ -82,6 +82,9 @@ B4SOIinstance *here = (B4SOIinstance*)inst; case B4SOI_QB: value->rValue = here->B4SOIqbulk; return(OK); + case B4SOI_QG: + value->rValue = here->B4SOIqgate; + return(OK); case B4SOI_QD: value->rValue = here->B4SOIqdrn; return(OK); @@ -346,6 +349,9 @@ B4SOIinstance *here = (B4SOIinstance*)inst; case B4SOI_QBD: value->rValue = *(ckt->CKTstate0 + here->B4SOIqbd); return(OK); + case B4SOI_DEBUG: + value->iValue = here->B4SOIdebugMod; + return(OK); #ifdef B4SOI_DEBUG_OUT case B4SOI_DEBUG1: value->rValue = here->B4SOIdebug1; diff --git a/src/spicelib/devices/bsim3soi/b4soiset.c b/src/spicelib/devices/bsim3soi/b4soiset.c index a5fffc8ce..71581c8e2 100644 --- a/src/spicelib/devices/bsim3soi/b4soiset.c +++ b/src/spicelib/devices/bsim3soi/b4soiset.c @@ -112,7 +112,7 @@ double Vbs0t, Qsi; if (!model->B4SOIshModGiven) model->B4SOIshMod = 0; if (!model->B4SOIversionGiven) - model->B4SOIversion = 4.00; + model->B4SOIversion = 4.3; if (!model->B4SOItoxGiven) model->B4SOItox = 100.0e-10; /*model->B4SOIcox = 3.453133e-11 / model->B4SOItox;*/ diff --git a/src/spicelib/devices/bsim4/b4ask.c b/src/spicelib/devices/bsim4/b4ask.c index 3b93ee172..06daa898d 100644 --- a/src/spicelib/devices/bsim4/b4ask.c +++ b/src/spicelib/devices/bsim4/b4ask.c @@ -205,6 +205,9 @@ BSIM4instance *here = (BSIM4instance*)inst; case BSIM4_CSUB: value->rValue = here->BSIM4csub; return(OK); + case BSIM4_QINV: + value->rValue = here-> BSIM4qinv; + return(OK); case BSIM4_IGIDL: value->rValue = here->BSIM4Igidl; return(OK); diff --git a/src/spicelib/devices/bsim4v2/b4v2ask.c b/src/spicelib/devices/bsim4v2/b4v2ask.c index 828c11441..b0b8d7b98 100644 --- a/src/spicelib/devices/bsim4v2/b4v2ask.c +++ b/src/spicelib/devices/bsim4v2/b4v2ask.c @@ -172,6 +172,9 @@ BSIM4v2instance *here = (BSIM4v2instance*)inst; case BSIM4v2_CSUB: value->rValue = here->BSIM4v2csub; return(OK); + case BSIM4v2_QINV: + value->rValue = here-> BSIM4v2qinv; + return(OK); case BSIM4v2_IGIDL: value->rValue = here->BSIM4v2Igidl; return(OK); diff --git a/src/spicelib/devices/bsim4v3/b4v3ask.c b/src/spicelib/devices/bsim4v3/b4v3ask.c index 445987edb..4ca98f262 100644 --- a/src/spicelib/devices/bsim4v3/b4v3ask.c +++ b/src/spicelib/devices/bsim4v3/b4v3ask.c @@ -181,6 +181,9 @@ BSIM4v3instance *here = (BSIM4v3instance*)inst; case BSIM4v3_CSUB: value->rValue = here->BSIM4v3csub; return(OK); + case BSIM4v3_QINV: + value->rValue = here-> BSIM4v3qinv; + return(OK); case BSIM4v3_IGIDL: value->rValue = here->BSIM4v3Igidl; return(OK); diff --git a/src/spicelib/devices/bsim4v4/b4v4ask.c b/src/spicelib/devices/bsim4v4/b4v4ask.c index a5dd20d2f..3ffb472c2 100644 --- a/src/spicelib/devices/bsim4v4/b4v4ask.c +++ b/src/spicelib/devices/bsim4v4/b4v4ask.c @@ -180,6 +180,9 @@ BSIM4v4instance *here = (BSIM4v4instance*)inst; case BSIM4v4_CSUB: value->rValue = here->BSIM4v4csub; return(OK); + case BSIM4v4_QINV: + value->rValue = here-> BSIM4v4qinv; + return(OK); case BSIM4v4_IGIDL: value->rValue = here->BSIM4v4Igidl; return(OK); diff --git a/src/spicelib/devices/bsim4v5/b4v5ask.c b/src/spicelib/devices/bsim4v5/b4v5ask.c index 06e646e46..aa194b1c1 100644 --- a/src/spicelib/devices/bsim4v5/b4v5ask.c +++ b/src/spicelib/devices/bsim4v5/b4v5ask.c @@ -203,6 +203,9 @@ BSIM4v5instance *here = (BSIM4v5instance*)inst; case BSIM4v5_CSUB: value->rValue = here->BSIM4v5csub; return(OK); + case BSIM4v5_QINV: + value->rValue = here-> BSIM4v5qinv; + return(OK); case BSIM4v5_IGIDL: value->rValue = here->BSIM4v5Igidl; return(OK);