Giles Atkinson
06131d8107
Rewrite code with Visual Studio complaints.
2022-10-08 16:47:09 +02:00
Holger Vogt
56d07aab31
Transfer i(xx) to xxx#branch only when i is the first
...
character of the token or preceeded by a space.
2022-10-08 16:46:51 +02:00
Holger Vogt
92ba8ac88e
Just to notify that this might need a better solution
2022-10-08 16:46:18 +02:00
Holger Vogt
f832380dc9
FIXME: This is a hack to re-enable 'make check'
...
Do not print warning if in batch mode.
2022-10-08 16:46:01 +02:00
Holger Vogt
98763c0add
Note: ix: dc value used for op instead of transient time=0 value
...
Former warning message or note only issued when dc value and
value at transient time=0 differ.
2022-10-08 16:45:38 +02:00
Holger Vogt
7483f6224d
Note: vs: dc value used for op instead of transient time=0 value
...
Former warning message or note only issued when dc value and
value at transient time=0 differ.
2022-10-08 16:45:14 +02:00
Holger Vogt
6037450952
Warning message, when 'run' is called without job
...
(tran, op, ac etc.) is defined.
2022-10-08 16:44:48 +02:00
Holger Vogt
3af627db44
Change error messages to warning messages, because simulator moves on
...
and command is ignored.
Make messages more verbose (which command?).
2022-10-08 16:44:30 +02:00
Holger Vogt
1bcbe8e6d8
Don't send error message to stdout, but to stderr.
2022-10-08 16:44:01 +02:00
Holger Vogt
519ce44227
safeguard against circuit not being abvailable,
...
avoid crash
2022-10-08 16:43:41 +02:00
Holger Vogt
4713cf0bf7
add parameter description
2022-10-08 16:43:16 +02:00
Brian Taylor
e703bd9142
Add comment about ps_udevice_msgs variable. Set to 1 will print PSpice instance names and types which are not supported and are found when processing a subckt.
2022-10-07 13:48:37 +02:00
Brian Taylor
e9855be595
If variable ps_port_directions >= 2, also show the translated Xspice statements.
2022-10-07 13:48:05 +02:00
Holger Vogt
1d026475a2
pwlts: a pwl v/i source with time input, smoothing and limiting functions
2022-10-07 13:39:16 +02:00
Holger Vogt
0754ea7657
Make the Error message a Warning message,
...
because ngspice may move on
2022-10-07 13:38:20 +02:00
Holger Vogt
0af4932c6f
Prevent a crash if (due to input error) the node_table is not available.
2022-10-07 13:37:57 +02:00
Holger Vogt
43c5ffaae8
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.
2022-10-07 13:24:12 +02:00
Holger Vogt
e6772f4e4e
Prevent crash in gettok() and similar functions by checking for NULL
...
input. Return NULL instead.
2022-10-07 13:23:25 +02:00
Holger Vogt
2126230b64
Prevent crashes when nodes or tables are not available,
...
e.g. due to missing input file.
2022-10-07 13:22:59 +02:00
Holger Vogt
037293c81e
Improved error message: more info on the bad set form
2022-10-07 13:22:43 +02:00
Giles Atkinson
a0357b3432
Remove search for "family" parameters on subcircuits in XSPICE
...
automatic bridging support as string-valued parameter support is
not yet intgrated.
2022-10-07 13:20:34 +02:00
Giles Atkinson
4115064fd5
Latest auto-bridge code from development branch.
2022-10-07 13:20:17 +02:00
Giles Atkinson
b1341c8e30
Insert XSPICE bridging devices automatically when an analogue node
...
has the same name as an XSPICE event node (including digital nodes).
The function Evtcheck_nodes() is replaced by a new version in its
own file.
2022-10-07 13:19:59 +02:00
Holger Vogt
07bb809158
Iterations for op or dc may start with arguments 0 for ln().
...
To cope with this, and potential overflow in exp function,
some limits have been added.
2022-10-07 13:19:22 +02:00
Holger Vogt
d39c60542d
Enable power measurement for W switch
2022-10-07 13:18:51 +02:00
Holger Vogt
79bb8edc90
Allow individual current measurements in switches or
...
linear dependent sources.
2022-10-07 13:18:15 +02:00
Holger Vogt
7e610c8487
.probe alli improved:
...
* Enable current mesurement for I source
* Look at only the first 2 nodes of S and W switches
and F and G controlled current sources, measure current
with = voltage source added to second node. So we get
I(Fx), I(Gx), I(Sx), and I(Wx).
2022-10-07 13:17:30 +02:00
Giles Atkinson
04445e42ea
Make FROM/TO work in TRIG/TARG and WHEN variants of .meas/meas command.
...
Discussion at
https://sourceforge.net/p/ngspice/discussion/133842/thread/973e152274/
2022-10-07 13:16:28 +02:00
Holger Vogt
a1dd1f5563
Check for tran at first when linearize is called.
2022-10-07 13:16:03 +02:00
Brian Taylor
3ca91aa1ac
Make a trivial change to support (n)and3a, (n)or3a, (n)xor3a types. These are not used in any of the Micro Cap libraries. Completes support for Pspice tristate gate types.
2022-10-07 13:15:45 +02:00
Brian Taylor
abd4af1ae6
Ignore IO models in a subckt. Setting variable ps_port_directions to a non-zero int prints the directions (IN, OUT, INOUT) of subckt ports.
2022-10-07 13:14:58 +02:00
Brian Taylor
2d9f86c742
Check for name collisions between nodes generated during translation from Pspice to Xspice and instance pin or subckt port names. These are reported as ERRRORs.
2022-10-07 13:14:35 +02:00
Holger Vogt
c8ed9590b7
Handle the case when control voltages on and off are equal.
...
Update the linear switch: add the limits to resistance ron, roff
Update the log switch: correct the resistance calculation for
von < voff
Add some examples for the pswitch.
2022-10-07 13:12:56 +02:00
Holger Vogt
b94ef139dd
Avoid an endless loop: Safeguard function
...
search_plain_identifier(char *str, const char *identifier)
against identifiers being an empty string.
2022-10-07 13:12:30 +02:00
Holger Vogt
5b0b328186
If a node name to be plotted ends by ':power', its type is set to POWER.
...
Thus 'settype power nodename(s)' in the examples is no longer necessary.
2022-10-07 13:12:04 +02:00
Holger Vogt
fc0bf595f2
Update to .probe command:
...
If no .save or save command given by the user, add '.save all' internally.
To do so, check for .save or save.
Update to the .probe p command (power measurement)
Add probe_int_ to internal nodes and instance names, where appropriate.
These nodes will be disregarded when setting up the plot structure.
2022-10-07 13:11:42 +02:00
Holger Vogt
3da97fa277
Handle .if ... .else ... .endif before .csparam is executed,
...
thus allowing parameter entry to .control section being dependent
on .if
2022-10-07 13:10:31 +02:00
Giles Atkinson
8038021369
Remove some dead code in the dec_bridge code model.
2022-10-07 13:09:36 +02:00
Giles Atkinson
88d5e723ed
Fix double free in XSPICE CALLBACK functions as desribed here:
...
https://sourceforge.net/p/ngspice/mailman/message/37677362/
and add missing CALLBACKs in models that use STATIC_VARs with
pointer values.
2022-10-07 13:09:15 +02:00
Giles Atkinson
10d3e1b754
Extend the output and partial derivatives of the output from the 2/3-D
...
table lookup models (XSPICE) continuously outside the defined
rectangle or cube, as it may help convergence and avoid ambiguity caused
by rounding at the boundaries. See bug #591 "Wrong 2D table model output".
The value is that of the nearest point in the region while the reported
derivative is ramped to zero outside the boundaries.
Also fixes incorrect output at the upper limit in each dimension.
2022-10-07 13:09:00 +02:00
Giles Atkinson
8ef2d8dec8
Fix memory leak by moving the state transition table to a STATIC_VAR
...
whose memory can be recovered by a call back. Also make cfunc.mod
less ugly.
2022-10-07 13:08:42 +02:00
Holger Vogt
0e885bc3a9
Function guess_type may yield the wrong type, because
...
it does not cover all of the the many, many options possible.
This commit fixes bug597, where [current] was interpreted as
capacitance.
2022-10-07 13:06:29 +02:00
Holger Vogt
7f65a68ad6
Improve (a little) the plotting of digital data with plot option digiplot:
...
Repair scaling on MS Windows:
Suppress y axis lettering and unit:
Allow or dis-allow grid.
2022-10-07 13:05:56 +02:00
Holger Vogt
9e290a3461
tabs to spaces
2022-10-07 13:05:30 +02:00
Holger Vogt
8a097c020e
Make error message more verbose: Instead of only "no such parameter on this device",
...
give name of bad parameter and respective line in netlist.
2022-10-07 13:05:10 +02:00
Holger Vogt
73ee9e452d
Prevent crash when ca or d are not defined. May happen when
...
.endc is missing.
2022-10-07 13:04:50 +02:00
Holger Vogt
b9014068e7
WinGUI: Add a button 'Stop' to stop a simulation in intercative
...
or control mode. ngspice enters interactive mode and waits for user
commands. Simulation result vectors are available up to the
(time) point of stopping. Simulation may continue by command
'resume', however now in interactive mode, a control flow stays
interrupted.
2022-10-07 13:04:25 +02:00
Holger Vogt
d1cbcb080c
Re-format cktdojob.c
2022-10-07 13:03:35 +02:00
Holger Vogt
9e1eac0613
Correct comment: Command circbyline is not involved,
...
we are sending the netlist as an array.
2022-10-07 13:03:18 +02:00
Holger Vogt
a597c6a295
Suppress I/O redirection for command 'circbyline'.
...
This enables sending commands like
circbyline btest testnode 0 v=((v(in1) - v(in2)) < 0.1 ? 0.111 : v(in1))
2022-10-07 13:02:39 +02:00