diff --git a/src/frontend/spiceif.c b/src/frontend/spiceif.c index 136352ff6..87116bc08 100644 --- a/src/frontend/spiceif.c +++ b/src/frontend/spiceif.c @@ -14,6 +14,7 @@ Modified: 2000 AlansFixes #include "ngspice.h" #include "cpdefs.h" +#include "tskdefs.h" #include "ftedefs.h" #include "fteinp.h" #include "inpdefs.h" @@ -132,10 +133,17 @@ if_run(char *t, char *what, wordlist *args, char *tab) IFuid specUid,optUid; /* First parse the line... */ - if (eq(what, "tran") || eq(what, "ac") || eq(what, "dc") - || eq(what, "op") || eq(what, "pz") || eq(what,"disto") - || eq(what, "adjsen") || eq(what, "sens") || eq(what,"tf") - || eq(what, "noise")) { + if (eq(what, "tran") + || eq(what, "ac") + || eq(what, "dc") + || eq(what, "op") + || eq(what, "pz") + || eq(what,"disto") + || eq(what, "adjsen") + || eq(what, "sens") + || eq(what,"tf") + || eq(what, "noise")) + { (void) sprintf(buf, ".%s", wl_flatten(args)); deck.li_next = deck.li_actual = NULL; deck.li_error = NULL; @@ -181,6 +189,15 @@ if_run(char *t, char *what, wordlist *args, char *tab) ft_sperror(err,"createOptions"); return(2); } + +/* -- *** BUG! ****/ +/* -- Inherit the default simulation settings taken from the */ +/* -- .option line. */ + +/* memcpy(&ft_curckt->ci_specOpt->TSKtemp, + &ft_curckt->ci_defOpt->TSKtemp, + sizeof(TSKtask) - offsetof(TSKtask, TSKtemp)); +*/ ft_curckt->ci_curOpt = ft_curckt->ci_specOpt; } ft_curckt->ci_curTask = ft_curckt->ci_specTask; @@ -190,11 +207,19 @@ if_run(char *t, char *what, wordlist *args, char *tab) return 2; } } + +/* -- *** BUG! ****/ +/* -- A bug fix suggested by Cecil Aswell (aswell@netcom.com) to let */ +/* -- the interactive analysis commands get the current temperature */ +/* -- and other options. */ + if( eq(what,"run") ) { ft_curckt->ci_curTask = ft_curckt->ci_defTask; ft_curckt->ci_curOpt = ft_curckt->ci_defOpt; } +/* -- Find out what we are supposed to do. */ + if ( (eq(what, "tran")) || (eq(what, "ac")) || (eq(what, "dc")) || @@ -786,7 +811,7 @@ if_tranparams(struct circ *ci, double *start, double *stop, double *step) UID_ANALYSIS, (void**)NULL); if(err != OK) return(FALSE); err =(*(ft_sim->findAnalysis))(ci->ci_ckt,&which, &anal,tranUid, - ci->ci_curTask,(IFuid *)NULL); + ci->ci_curTask,(IFuid )NULL); if(err != OK) return(FALSE); err = if_analQbyName(ci->ci_ckt,which,anal,"tstart",&tmp); if(err != OK) return(FALSE); diff --git a/src/spicelib/devices/bsim4/b4ld.c b/src/spicelib/devices/bsim4/b4ld.c index 91827135b..05d244ae0 100644 --- a/src/spicelib/devices/bsim4/b4ld.c +++ b/src/spicelib/devices/bsim4/b4ld.c @@ -113,11 +113,11 @@ double T0, dT0_dVg, dT0_dVd, dT0_dVb; double T1, dT1_dVg, dT1_dVd, dT1_dVb; double T2, dT2_dVg, dT2_dVd, dT2_dVb; double T3, dT3_dVg, dT3_dVd, dT3_dVb; -double T4, dT4_dVd, dT4_dVg, dT4_dVd, dT4_dVb; -double T5, dT5_dVb, dT5_dVg, dT5_dVd, dT5_dVb; +double T4, dT4_dVg, dT4_dVd, dT4_dVb; +double T5, dT5_dVg, dT5_dVd, dT5_dVb; double T6, dT6_dVg, dT6_dVd, dT6_dVb; -double T7, dT7_dVg, dT7_dVg, dT7_dVd, dT7_dVb; -double T8, dT8_dVd, dT8_dVg, dT8_dVd, dT8_dVb; +double T7, dT7_dVg, dT7_dVd, dT7_dVb; +double T8, dT8_dVg, dT8_dVd, dT8_dVb; double T9, dT9_dVg, dT9_dVd, dT9_dVb; double T10, dT10_dVg, dT10_dVb, dT10_dVd; double T11, T12, T13, T14;