Commit Graph

8370 Commits

Author SHA1 Message Date
Holger Vogt c7ebb7aabb Error message up to now was strictly for command line interactive use only.
Improve error message when parsing .ac lines.
2023-07-15 11:20:41 +02:00
Holger Vogt d46cd894cc Prevent crash if s == NULL 2023-07-15 11:20:09 +02:00
Holger Vogt 7f8e1cecab Allow ';' also at the beginning of a line. 2023-07-15 11:19:57 +02:00
Holger Vogt c1db561373 No syntax check for title line 2023-07-15 11:19:31 +02:00
Holger Vogt 0c1f114dea add comment 2023-07-15 11:19:03 +02:00
Holger Vogt cb9cc7140d Prevent crash if no or not enough coeffs are given.
r is then probably not the repeat coefficient.
2023-07-15 11:18:36 +02:00
Holger Vogt 3420e66705 During syntax check: v,i sources need two nodes,
and prevent crash upon buggy ac input.
2023-07-15 11:18:09 +02:00
Holger Vogt 29c51c0d30 Bail out if {...} or '...' are missing around RHS of the equation.
(...) may be possible, elsewhere additional {} are put around,
so we have {(...)}.
2023-07-15 11:17:34 +02:00
Holger Vogt 0ee5e3f32a Add a control language function cvector, to create a complex vector.
Let vec1 = cvector(50)
will generate a complex vector, with the real part values
increasing from 0 to 49, the imaginary values are set to 0.
Useful in ac loops to store result data.
2023-07-15 11:17:10 +02:00
Holger Vogt 01e8b4da84 Prevent crash upon buggy user input (missing ] or >) 2023-07-15 11:16:57 +02:00
Holger Vogt 1340002c05 Improve error message 2023-07-15 11:16:43 +02:00
Holger Vogt fc169fe23f CIDER: Plug some memory leak 2023-07-15 11:16:22 +02:00
Holger Vogt 67b2ddbad5 CIDER: Plug some memory leaks by adding to TWOdestroy() 2023-07-15 11:16:13 +02:00
Holger Vogt 3bb9cd738f CIDER: Plug small memory leaks in INPparseNumMod() 2023-07-15 11:16:01 +02:00
Holger Vogt 695c1e1bd6 Add an extra model stitching for CIDER only.
This one fills in actualLine, which is use by
parsing the CIDER model parameters in INPparseNumMod()
from inpgmod.c
2023-07-15 11:15:50 +02:00
Holger Vogt 3b90c12307 Enable compiling with MSVC 2023-07-15 11:15:28 +02:00
Giles Atkinson d31568bd83 Add parsing and translation of the FREQ form of E-source devices,
integrated with the existing parsing of AND/NAND/OR/NOR forms (inpcom.c).
For the implementation, add a new analog XSPICE code model, xfer.
Add an example to examples/sp.
2023-07-15 11:15:08 +02:00
Giles Atkinson 1fdf7dac51 Fix Bug #623 - "Parser warning for voltage source".
Do not warn when a single-element vector lacks parentheses.
2023-07-15 11:14:57 +02:00
Giles Atkinson 422a205409 Always propgate any individual scale for a vector that appears
in an expression, resolving conflicts by matching length and warning
only when making an arbitary choice.  One effect of this is that it
is now possible to mix analog nodes with offset digital nodes
(an expression like dvalue+6) without a warning and get a correct plot.
2023-07-15 11:14:35 +02:00
Giles Atkinson eeb912228a When creating a plot vector from XSPICE event history, add a
final point at the end of the vector, so that a plotted line
does not end at the last event, leaving an odd spike.
2023-07-15 11:13:19 +02:00
Giles Atkinson 2db6b529f2 Fix Bug #630 - "pwl if r=last time, simulation never ends".
Allowing a PWL repeat to start at the last time-point makes no sense.
2023-07-15 11:13:05 +02:00
Giles Atkinson f4f2f41940 Fix another error in 9c71db3a72. 2023-07-15 11:12:52 +02:00
Giles Atkinson 9099a922fd Apply a patch from Aleksey Morozov to fix a bug that he identified
and reproduced.  It is the same as Bug #331 -
"XSpice skips digital output point" except that it applies to the
instance queue, not the event queue.
2023-07-15 11:12:31 +02:00
Holger Vogt ee7bcac256 Reduce excessive use of TREALLOC 2023-07-15 11:12:10 +02:00
Holger Vogt 585f13bd4a Better visibility of the results 2023-07-15 11:11:48 +02:00
Holger Vogt fd24e5af7e re-formatting the code 2023-05-27 10:50:14 +02:00
Holger Vogt d295fe3ac6 Slightly improve error handling and warning message 2023-05-27 10:50:02 +02:00
Holger Vogt 823465ceb8 .csparam: Add some safeguarding against wrong input and crash,
allow multiple parameters in a .csparam row (like .param).
2023-05-27 10:49:53 +02:00
Holger Vogt dcf9846d6e remove unused header file 2023-05-27 10:49:43 +02:00
Holger Vogt c7bb12d9d0 More info 2023-05-27 10:49:32 +02:00
Holger Vogt b24c613ce6 Safeguard against bad arguments (no crash upon NULL) 2023-05-27 10:49:19 +02:00
Holger Vogt ba7ad783a8 safeguard against crash upon buggy input 2023-05-27 10:49:07 +02:00
Holger Vogt c723e124d9 Make error message more verbose and useful 2023-05-27 10:48:57 +02:00
Holger Vogt 9b3146b1fb Correct the warning message 2023-05-27 10:48:41 +02:00
Holger Vogt e834c89313 Prevent a crash when number of nodes differs in subckt and X call. 2023-05-27 10:48:30 +02:00
Holger Vogt 8c9602574e Improve error messages 2023-05-27 10:48:15 +02:00
Holger Vogt 5c8af9770b Add rusage to measure simulation time. 2023-05-27 10:48:07 +02:00
Holger Vogt 6ea2882c3b Plug a memory leak 2023-05-27 10:48:00 +02:00
Holger Vogt 2685df1b05 Add vto model parameter (the default has changed!), add .ic
to ease op and immediately start oscillation.
2023-05-27 10:47:43 +02:00
Holger Vogt 96bebafac5 Enable history substitution of interactive commands only when variable 'histsubst' is set.
This feature is in conflict with ! (logic inversion)
in .control language logic expressions.
2023-05-27 10:47:27 +02:00
Pascal Kuthe e5d1885e39 make accessible 2023-05-27 10:47:11 +02:00
Holger Vogt a48cc44c7f Example input file for 'iplot -w' option 2023-05-27 10:46:55 +02:00
Giles Atkinson 45015f974d Add a "-w" option to the iplot command. It sets a width for the
window (in the current scale units) so that it does not re-scale
on overflow, but instead plots recently-generated data on a fixed scale.
2023-05-27 10:46:45 +02:00
Giles Atkinson 7a5514a1ff In graf.c change local function set() to do what you might expect,
rather than the opposite.  Also fix a debug message.
2023-05-27 10:46:24 +02:00
Giles Atkinson 1a97e1097f Fix error in previous fix for Bug #607 -
"DC Source with Pulse stops pulsing half way through simulation".
Non-periodic PWL waveforms reverted to zero on termination.
2023-05-27 10:46:16 +02:00
Holger Vogt 923f7efab0 Prevent crash (seg fault), if measure statement is incomplete 2023-05-27 10:46:01 +02:00
Holger Vogt f747f09495 typo 2023-05-27 10:45:52 +02:00
Holger Vogt 58c3aaac32 Update to ngspice-40, remove adms, recoomend using compile_linux.sh,
hints for Centos, compile scripts for macOS.
2023-05-27 10:45:43 +02:00
Holger Vogt 8319e7acd4 Remove obsolete adms, add OSDI 2023-05-27 10:45:16 +02:00
Holger Vogt 66a4b2226e .libsave: don't save the command itself, improve messaging 2023-05-27 10:44:56 +02:00