adms doesn't seem to derive a "output" variable correctly.
(was zero)
this fix is for GM, GDS, GMBS only,
fixme, unknown which other variables suffer from the same problem
our adms .xml files do not support translation
of ddx() expressions, except at the toplevel in assignments.
foo = ddx(); is supported
foo = bar * ddx(); is not
variables which are annotated with (*desc*) will be put into the "state"
vector. "OP" definitions for them will be emited, and the device_ask() function
will be extended to query these values.
issues:
save @instance[varname]
is required,
otherwise, only the very last value will be saved in a "scalar" instead of
all the results in a "vector"
there might well be issues with upper/lower case.
I lower-cased all variable names, because the ngspice frontend
does so as well. but I've seen some parameters which are not lower-cased.
it might be these can not be accessed even though they are present,
simply because it is not possible to "name" a non lower-cased thing.
this is merly a hack for bsimcmg,
there was pretty not testing at all, and no consideration
was given to the other models at all.
this template exists in two variants,
one in ngspiceVersion.xml, which returns the value on the stack
one in ngspiceMODuLE.hxx.xml, which returns the value as a 'returned' path
This particular place got the two mixed up
don't exit() on NaN
a NaN is not necessairily a desaster,
might be merely a sign for non-convergence,
which still might be overcome in another try.
The bsim6 testbench case inverter_transient.sp was
unnecessairily aborted do to NaN's
to work around dangling "temper" node in bsim6
fixme, adms populates the termal node slot in the matrix even though
__TERMAL_NODE__ was not defined, leading to a singular matrix.
fixme, adms
$port_connected
is not supported, thus just claim it to be connected.
inp2m.c, upgrade to allow bsim6 with 5 nodes