Browse Source

Add special savecurrents options:

options savecurrents_bsim3, savecurrents_bsim4, and savecurrents_mos1
will save all device currents as listed in chapts 31.6.1, .8 and .9
of the ngspice manual. Pure savecurrents will yield a subset of MOS1
currents, as seen before.
pre-master-46
Holger Vogt 4 years ago
parent
commit
43c5ffaae8
  1. 12
      src/frontend/inp.c

12
src/frontend/inp.c

@ -2252,7 +2252,17 @@ inp_savecurrents(struct card *deck, struct card *options, wordlist *wl, wordlist
switch (devline[0]) { switch (devline[0]) {
case 'm': case 'm':
devname = gettok(&devline); devname = gettok(&devline);
newline = tprintf(".save @%s[id] @%s[is] @%s[ig] @%s[ib]",
if (strstr(options->line, "savecurrents_bsim3"))
newline = tprintf(".save @%s[id] @%s[ibd] @%s[ibs]",
devname, devname, devname);
else if (strstr(options->line, "savecurrents_bsim4"))
newline = tprintf(".save @%s[id] @%s[ibd] @%s[ibs] @%s[isub] @%s[igidl] @%s[igisl] @%s[igs] @%s[igb] @%s[igd] @%s[igcs] @%s[igcd]",
devname, devname, devname, devname, devname, devname, devname, devname, devname, devname, devname);
else if (strstr(options->line, "savecurrents_mos1"))
newline = tprintf(".save @%s[id] @%s[is] @%s[ig] @%s[ib] @%s[ibd] @%s[ibs]",
devname, devname, devname, devname, devname, devname);
else
newline = tprintf(".save @%s[id] @%s[is] @%s[ig] @%s[ib]",
devname, devname, devname, devname); devname, devname, devname, devname);
break; break;
case 'j': case 'j':

Loading…
Cancel
Save