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
to avoid a dependency related problem in the xml files.
T0 and T0y, one of them have the OPdependent flag set
which surpresses variable declarations to be emited.
to avoid a dependency related problem in the xml files.
T1 and T1y, one of them have the OPdependent flag set
which surpresses variable declarations to be emited.
to avoid a dependency related problem in the xml files.
T2 and T2y, one of them have the OPdependent flag set
which surpresses variable declarations to be emited.
to avoid a dependency related problem in the xml files.
T3 and T3y, one of them have the OPdependent flag set
which surpresses variable declarations to be emited.
currently each and every device specific instance and model structure
duplicates the memory layout of a struct GENmodel / GENinstance
further the first structure elements behind a GENinstance header
are reinterpreted as a sort of a generic "node" array.
This business is very error prone, and makes it difficult to
extend struct GENmodel / struct GENinstance.
This patch makes this business much more bearable.
loop over DEVmodDelete() and DEVdelete() in CKTdestroy()
instead of doing this business in the DEVdestroy() functions.
As a consequence, most DEVdestroy() functions
collapse completely.
This patch itself is not valid until all invokers of DEVdestroy()
(currently this is CKTdestroy() exclusively)
are rewritten to invoke DEVmodDelete() and DEVdelete()