Commit Graph

7962 Commits

Author SHA1 Message Date
Brian Taylor 41b7c867ff Fix memory leaks in ff/latch code. 2022-09-23 14:59:17 +02:00
Brian Taylor 93bd661a3e If ps_udevice_msgs >= 2, print complete line of unsupported PSpice instance. For debugging purposes. 2022-09-23 14:59:01 +02:00
Holger Vogt d1f7df5ef4 Add bidirectional bridge to MS project file for icm digital 2022-09-23 14:52:31 +02:00
Giles Atkinson 583ee06232 Fix bug reported by Anant Devi in user discussion 22/9/22.
A function call, vi(v) was misparsed as the special token i(vsource)
for the current in a voltage source.
2022-09-23 13:15:07 +02:00
Giles Atkinson c75476eaa0 Add some automatic bridge examples, mostly using the bidirectional bridge. 2022-09-23 13:15:07 +02:00
Giles Atkinson 31fcd7d561 Correct the digital state resolution table, that was previously asymmetric.
An equivalent change is mentioned in the SPICE OPUS change history.
2022-09-23 13:15:07 +02:00
Giles Atkinson af09a06cdb Add bidirectional digital/analog bridge. 2022-09-23 13:15:07 +02:00
Giles Atkinson 118b997642 Add two functions to the Code Model Library: cm_get_node_name()
makes circuit node names available to diagnostics, while
cm_probe_node() is needed for a bidirectional A/D bridge.
2022-09-23 13:15:07 +02:00
Giles Atkinson 9d780f8bb4 Fix bug #602 "Warning message trying to linearize a transient analysis vector"
by changing the way "ngspice -a" (autorun option) works.  The inserted code
now checks whether a simulation has already run by examining $curplot
before forcing "run".  Also at most one simulation is forced to run.
2022-09-23 13:15:07 +02:00
Giles Atkinson 2f9403d143 Prevent overwriting of previous debug output when expanding auto-bridge deck. 2022-09-23 13:15:07 +02:00
Giles Atkinson 8156745c97 Rewrite code with Visual Studio complaints. 2022-09-23 13:15:06 +02:00
Holger Vogt 2d4c1379af Transfer i(xx) to xxx#branch only when i is the first
character of the token or preceeded by a space.
2022-09-23 12:58:47 +02:00
Holger Vogt c7b0438ce7 Just to notify that this might need a better solution 2022-09-23 12:04:20 +02:00
Holger Vogt 41e92be956 FIXME: This is a hack to re-enable 'make check'
Do not print warning if in batch mode.
2022-09-21 10:04:22 +02:00
Holger Vogt cfba8a5cd3 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-09-20 22:50:17 +02:00
Holger Vogt bce48859df 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-09-20 22:47:24 +02:00
Holger Vogt ba394d5903 Warning message, when 'run' is called without job
(tran, op, ac etc.) is defined.
2022-09-20 20:09:42 +02:00
Holger Vogt 6237639ec5 Change error messages to warning messages, because simulator moves on
and command is ignored.
Make messages more verbose (which command?).
2022-09-20 13:28:55 +02:00
Holger Vogt 64b429d6f8 Don't send error message to stdout, but to stderr. 2022-09-18 16:00:21 +02:00
Holger Vogt 453350bf2f safeguard against circuit not being abvailable,
avoid crash
2022-09-18 11:11:56 +02:00
Holger Vogt 8dba70c7cc add parameter description 2022-09-18 11:10:59 +02:00
Brian Taylor 78f732a8a1 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-09-14 15:01:39 +02:00
Holger Vogt fb75a15e83 example for pwlts source code model 2022-09-09 15:26:45 +02:00
Holger Vogt 3d625bc1ef pwlts: a pwl v/i source with time input, smoothing and limiting functions 2022-09-09 15:24:37 +02:00
Holger Vogt f5a172ce4e Make the Error message a Warning message,
because ngspice may move on
2022-09-07 16:27:29 +02:00
Holger Vogt 8ef0c03fa6 Prevent a crash if (due to input error) the node_table is not available. 2022-09-04 17:35:47 +02:00
Holger Vogt c7fa70d109 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-09-02 15:06:40 +02:00
Holger Vogt e9fcb9b332 Prevent crash in gettok() and similar functions by checking for NULL
input. Return NULL instead.
2022-09-01 16:57:54 +02:00
Holger Vogt 04ded78ef6 Prevent crashes when nodes or tables are not available,
e.g. due to missing input file.
2022-08-31 15:43:20 +02:00
Holger Vogt bfab06e04b Improved error message: more info on the bad set form 2022-08-31 15:42:30 +02:00
Holger Vogt 48d028fdba enable evtcheck_nodes.c for MS Visual Studio 2022-08-31 15:34:13 +02:00
Giles Atkinson 3901c0a865 Remove search for "family" parameters on subcircuits in XSPICE
automatic bridging support as string-valued parameter support is
not yet intgrated.
2022-08-31 15:34:09 +02:00
Giles Atkinson 495172f532 Latest auto-bridge code from development branch. 2022-08-31 15:34:04 +02:00
Giles Atkinson 148cecf919 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-08-31 15:33:59 +02:00
Holger Vogt ff62468c1f 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-08-30 20:02:46 +02:00
Holger Vogt 0be7461dd9 Enable power measurement for W switch 2022-08-29 20:30:23 +02:00
Holger Vogt c70a438ae0 Replace end-of-line comment delimiter $ by ;
So to make it independent from compatibility switch selection.
2022-08-29 14:19:47 +02:00
Holger Vogt b83a0d3fdf Allow individual current measurements in switches or
linear dependent sources.
2022-08-29 14:12:43 +02:00
Holger Vogt 6b786099cb examples for .probe alli or .probe i(xx) 2022-08-29 14:11:20 +02:00
Holger Vogt 655a81da7a .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-08-29 12:23:13 +02:00
Holger Vogt ef3adfc050 set colors for grids and data 2022-08-28 17:52:55 +02:00
Giles Atkinson 682b849603 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-08-17 15:30:56 +02:00
Holger Vogt cc866ead29 Check for tran at first when linearize is called. 2022-08-17 15:14:06 +02:00
Brian Taylor a361d63ca1 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-08-06 10:43:17 +02:00
Brian Taylor f0876163e8 If variable ps_port_directions >= 2, also show the translated Xspice statements. 2022-08-06 10:43:02 +02:00
Brian Taylor 0e0daa7d9a Add 74xx283 4-bit adder example from the Micro Cap digital example circuits. Pspice primitives are translated to Xspice and a waveform is displayed using GTKWave. This is a digital-only test. 2022-08-06 10:42:56 +02:00
Brian Taylor 47753ad5b2 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-08-06 10:42:50 +02:00
Brian Taylor 15d987ad0f 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-08-06 10:42:43 +02:00
Holger Vogt 03bd381e83 aswitch needs two input nodes because gd has been selected for input. 2022-08-05 17:30:51 +02:00
Holger Vogt 3fc3997cef 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-08-05 17:30:08 +02:00