Commit Graph

5003 Commits

Author SHA1 Message Date
rlar 509e2eafcd FIXME, nbjt, nbjt2, excess XXXNames[] entry
or incorrectly postioned node variable in the instance struct.
will lead to incorrect initialisation, local var will be overwritten !
2017-01-07 20:23:23 +01:00
rlar b59e2d03b5 FIXME, soi stuff, very seriously broken ! 2017-01-07 20:20:58 +01:00
rlar fb4343a881 FIXME, bsim3 + 4, Charge Node, aka, qNode
if this is really an "external" optional node,
  then this must be moved up in the struct definition to match
  position with the XXNames[] array, and to match usage via GENnode[]

if it is merly an "internal" node, which might be monitored via CKTfindBranch,
  then it should be removed from the XXNames[] array, again to fit usage via GENnode[]
2017-01-07 20:20:57 +01:00
rlar 05188c6ea1 FIXME, may be ok, but i'm surprised, txl really has only 2 nodes ? verify ! 2017-01-07 20:20:55 +01:00
rlar 78d88645d0 presumably correct GENnodes[] <--> XXnames[] associations
this is a "pin-pointer" commit,
  pointing to places for source code verification

we have int Nodes in every device instance,
these are overlaid with struct GENinstance.GENnode[] and will be used
from there too.
the length entries and the XXnames[] arrays *must* fit this.
2017-01-07 20:20:54 +01:00
rlar 26da22e682 FIXME, the previous commit might interfere with certain devices having optional ports, which previously where initialised to zero, now are initialised to -1 ! 2017-01-07 13:38:51 +01:00
rlar 68a79f7eee inp2m.c, INP2M(), bug fix, drop excess GENnode initialisation
Thats done in CKTcrtElt() now,
  and avoids overwritting private device internal Node variables,
  which are expected to be initialised to zero (by TMALLOC)
2017-01-07 13:33:45 +01:00
rlar d4ce2cae22 cktcrte.c, CKTcrtElt(), initialise new instance ports to be unconnected aka -1 2017-01-07 13:32:56 +01:00
rlar cac8c63d57 ckti2nod.c, cktbindnode.c, minor cleanup 2017-01-07 13:06:56 +01:00
rlar 3f5083f10d cleanup GENnode, allow array access to pave the way for ... 2017-01-07 12:05:57 +01:00
rlar 484dcde8c2 kill HAS_BATCHSIM, the CKTdltNNum() invocations are mandatory
otherwise node-numbering/matrix-index-numbering will break

FIXME, because removing all internal nodes is mandatory
  the == 0 compares in the device setup routines are useless,
  and even dangerous, because sometimes node names get copied, so that
  the outcome of a previous setup will possibly prohibit a node from
  being created (after a topology change due to "altered" paramers)
2017-01-06 22:31:00 +01:00
rlar 7a6440eeef txlfbr.c, kill TXLfindBr(), node TXLbranch is nowhere used
This surfaced when searching for missing CKTdltNNum() invocations in TXLunsetup()
2017-01-06 11:11:43 +01:00
rlar a9e4dc07c9 hfetsetup.c, HFETAunsetup(), bug fix, reorder CKTdltNNum() invocations
invoke CKTdltNNUM() in revers order of creation.

The guarding of the CKTdltNNum() invocations needed access to node numbers
which have already been killed. (HFETAdrainPrimeNode and HFETAsourcePrimeNode)
2017-01-06 10:55:47 +01:00
rlar dd0a4307d0 mesasetup.c, MESAunsetup(), bug fix, reorder CKTdltNNum() invocations
invoke CKTdltNNUM() in revers order of creation.

The guarding of the CKTdltNNum() invocations needed access to node numbers
which have already been killed. (MESAdrainPrimeNode and MESAsourcePrimeNode)
2017-01-06 10:55:36 +01:00
rlar 27c22a3041 FIXME, some more need fixing
devices/bsim3soi_dd/b3soiddset.c
devices/bsim3soi_fd/b3soifdset.c
devices/bsim3soi_pd/b3soipdset.c
devices/bsimsoi/b4soiset.c
devices/hfet1/hfetsetup.c
devices/hisimhv1/hsmhvset.c
devices/hisimhv2/hsmhv2set.c
devices/mesa/mesasetup.c
devices/txl/txlsetup.c
2017-01-05 18:49:43 +01:00
rlar 5f690006fc BSIM4unsetup(), "gate" and "midgate" 2017-01-05 18:49:39 +01:00
rlar ce9422fb51 BSIM3unsetup(), "charge" node 2017-01-05 18:04:19 +01:00
rlar 1aaf21a49c BSIM4unsetup(), "charge" node 2017-01-05 18:04:11 +01:00
rlar 6446858a6c fix 4v5 4v7 and 4 itself, FIXME completetly untested commit 2017-01-05 12:30:48 +01:00
rlar 2e7a677177 b4v6set.c, BSIM4v6unsetup(), bug fix, the other bsim too !
Some local nodes have not been deleted,
  breaking allocation of nodes during a following CKTsetup()
2017-01-05 11:51:01 +01:00
rlar 65f10abb5d emmit a Warning when CKTunsetup() was incomplete 2017-01-05 11:47:31 +01:00
rlar b5ccfca24b implement option 'indverbosity' to control check of inductive systems
default is 2, maximum verbosity

option indverbosity=1
  can be used to prevent check for
    "incomplete set of couplings"

option indverbosity=0
  can be used to avoid the check altogether

set indverbosity=INTEGER
  or
.option indverbosity=INTEGER
  works as well
2017-01-02 20:03:25 +01:00
rlar 05ee2e0182 check for missing and duplicate K instances 2017-01-02 20:03:17 +01:00
rlar 13decee3ed examples/inductive-systems/*, add test files 2017-01-02 20:02:19 +01:00
Francesco Lannutti bf542f64d8 check for viable mutual inductor coefficients 2017-01-02 20:00:38 +01:00
rlar fc32837b44 muttemp.c, allow negative inductance 2016-12-03 20:32:26 +01:00
rlar 681903492b devices/ind/*, whitespace 2016-12-03 20:32:08 +01:00
rlar 24aee8bf2a devices/ind/*, cleanup 2016-12-03 20:28:06 +01:00
Francesco Lannutti 0c5196e773 signal_handler.c, ft_sigintr(), exit after three SIGINT requests 2016-11-01 20:33:13 +01:00
rlar 4778b48592 inpcom.c, inp_fix_inst_calls_for_numparam(), drop redundant condition `num_subckt_params == 0'
found_mult_param() can already cope with that
2016-11-01 11:56:48 +01:00
dwarning 24dbbc393d remove the ancient nobjthack option to fake 3-terminal bjt's 2016-11-01 11:56:48 +01:00
dwarning 6827495a75 correct the comment for 5-terminal bjt's in get_number_terminals 2016-11-01 11:56:48 +01:00
dwarning 1e880deff4 allow 5-terminal bjt's in subckt expansion 2016-11-01 11:56:48 +01:00
rlar 52a1a58e14 wlist.c, wl_find(), avoid crash when `string' argument is NULL 2016-11-01 11:56:47 +01:00
h_vogt e4e24f74e6 breakp2.c, copynode(), prevent segfault if missing ')'
invoking 'save' with an erronous node, for example
  save v(thing
This can happen unexpectedly for long 'save' lines,
  which will silently be truncated.
2016-11-01 11:56:25 +01:00
rlar 7fc6609821 breakp2.c, settrace(), cleanup #2/2 2016-11-01 11:06:45 +01:00
rlar 004e49aabf breakp2.c, settrace(), cleanup #1/2
"save" command,
  reduce complexity from O(2) to O(1)
2016-11-01 11:05:59 +01:00
h_vogt b85270c30c sharedspice.vcxproj, add 64 bit capability 2016-11-01 11:04:52 +01:00
h_vogt 57980c7471 sharedspice.vcxproj, add suitable preprocessor flags 2016-11-01 11:02:36 +01:00
rlar 875cab6758 *.vcxproj, enable <GenerateDebugInformation>true 2016-10-22 20:10:21 +02:00
rlar edaded001a *.vcxproj, use <DebugInformationFormat>ProgramDatabase 2016-10-22 20:01:46 +02:00
rlar 96a35e0144 *.vcxproj, increase <WarningLevel>Level4 2016-10-22 20:01:30 +02:00
rlar 939555115d variables, cp_vprint, fix a memory leak 2016-10-15 15:57:59 +02:00
rlar bc325b17c5 variables, lift plot_cur->pl_env up to the invoker of cp_usrvars() 2016-10-15 15:57:54 +02:00
rlar e0db4aa665 variables, cp_vprint(), reorder for similarity 2016-10-15 15:57:52 +02:00
rlar a33876ff59 variables, variables, cp_getvar, rewrite 2016-10-15 15:57:50 +02:00
rlar 97c5e1567f variables, cp_getvar(), beware of retval == NULL 2016-10-15 15:57:48 +02:00
rlar 20b666e2d5 variables, clean up 2016-10-15 15:57:45 +02:00
rlar b2fb4e20bf variables, drop 'found', use identity found == (*p != NULL) 2016-10-15 15:57:43 +02:00
rlar 0784f76e51 variables, cleanup the for loops 2016-10-15 15:57:40 +02:00