Commit Graph

8369 Commits

Author SHA1 Message Date
Holger Vogt 525d221325 Prevent crash if no or not enough coeffs are given.
r is then probably not the repeat coefficient.
2023-06-04 14:23:09 +02:00
Holger Vogt 6dc09e6592 During syntax check: v,i sources need two nodes,
and prevent crash upon buggy ac input.
2023-06-04 14:01:44 +02:00
Holger Vogt 1ddb1f58b4 Bail out if {...} or '...' are missing around RHS of the equation.
(...) may be possible, elsewhere additional {} are put around,
so we have {(...)}.
2023-06-04 10:36:21 +02:00
Holger Vogt 3a535f19db 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-06-04 09:46:13 +02:00
Holger Vogt 10e86d72d3 Prevent crash upon buggy user input (missing ] or >) 2023-06-03 17:09:10 +02:00
Holger Vogt a03369fc12 Improve error message 2023-06-03 15:48:06 +02:00
Holger Vogt 7de5fd276e CIDER: Plug some memory leak 2023-06-02 22:30:27 +02:00
Holger Vogt 27173c9622 CIDER: Plug some memory leaks by adding to TWOdestroy() 2023-06-02 19:44:34 +02:00
Holger Vogt 5ba0177f21 CIDER: Plug small memory leaks in INPparseNumMod() 2023-06-02 19:43:47 +02:00
Holger Vogt 981c63f1ab 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-06-02 15:31:28 +02:00
Holger Vogt 88500c640a Enable compiling with MSVC 2023-05-31 16:04:57 +02:00
Giles Atkinson e61db1d2cd 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-05-31 16:04:51 +02:00
Giles Atkinson 37453db34d Fix Bug #623 - "Parser warning for voltage source".
Do not warn when a single-element vector lacks parentheses.
2023-05-29 09:47:44 +01:00
Giles Atkinson 94da54bcea 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-05-29 09:47:27 +01:00
Giles Atkinson d55143edca 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-05-29 09:47:03 +01:00
Giles Atkinson 0616965a67 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-05-29 09:19:18 +01:00
Giles Atkinson 9c75367cfb Fix another error in 9c71db3a72. 2023-05-29 09:19:18 +01:00
Giles Atkinson 6c420525d0 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-05-29 09:19:18 +01:00
Holger Vogt 1cd15e382e Reduce excessive use of TREALLOC 2023-05-27 16:44:30 +02:00
Holger Vogt fb0696107e Better visibility of the results 2023-05-27 16:43:35 +02:00
Holger Vogt a56b8b2190 Revert "Reduce excessive use of TREALLOC"
This reverts commit 6c64d463c8.
2023-05-27 16:17:23 +02:00
Holger Vogt 6c64d463c8 Reduce excessive use of TREALLOC 2023-05-26 13:31:08 +02:00
Holger Vogt 5f39fd80fb re-formatting the code 2023-05-26 12:16:55 +02:00
Holger Vogt 61f7188ef0 Slightly improve error handling and warning message 2023-05-22 15:18:39 +02:00
Holger Vogt 3071cdd2d5 .csparam: Add some safeguarding against wrong input and crash,
allow multiple parameters in a .csparam row (like .param).
2023-05-22 14:46:17 +02:00
Holger Vogt ba2facc718 remove unused header file 2023-05-21 12:16:33 +02:00
Holger Vogt 8f2d311062 More info 2023-05-21 12:16:13 +02:00
Holger Vogt edf2c625e1 Safeguard against bad arguments (no crash upon NULL) 2023-05-17 10:08:38 +02:00
Holger Vogt b271b6d9e3 safeguard against crash upon buggy input 2023-05-17 09:32:23 +02:00
Holger Vogt 2206956bc1 Make error message more verbose and useful 2023-05-13 23:43:44 +02:00
Holger Vogt 73e3e7f952 Correct the warning message 2023-05-12 20:02:31 +02:00
Holger Vogt b97c273805 Prevent a crash when number of nodes differs in subckt and X call. 2023-05-12 17:00:08 +02:00
Holger Vogt 8b8200df88 Improve error messages 2023-05-12 16:59:27 +02:00
Holger Vogt 4356a631be Add rusage to measure simulation time. 2023-05-10 14:06:07 +02:00
Holger Vogt 1f58cd7618 Plug a memory leak 2023-05-08 20:18:55 +02:00
Holger Vogt 465a64661c Add vto model parameter (the default has changed!), add .ic
to ease op and immediately start oscillation.
2023-05-08 10:56:10 +02:00
Holger Vogt 5047a19112 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-07 15:48:06 +02:00
Pascal Kuthe 48668c7d6e make accessible 2023-05-07 15:07:08 +02:00
Holger Vogt d4d576d695 Example input file for 'iplot -w' option 2023-05-02 18:15:22 +02:00
Giles Atkinson fdb8ee3806 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-02 13:13:02 +01:00
Giles Atkinson 81e07e8ece In graf.c change local function set() to do what you might expect,
rather than the opposite.  Also fix a debug message.
2023-05-02 12:52:45 +01:00
Giles Atkinson 79c69e0644 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-04-26 21:38:25 +01:00
Holger Vogt 675b9e6fa2 Prevent crash (seg fault), if measure statement is incomplete 2023-04-26 17:06:39 +02:00
Holger Vogt 783c432467 typo 2023-04-26 15:33:07 +02:00
Holger Vogt d72d07beae Update to ngspice-40, remove adms, recoomend using compile_linux.sh,
hints for Centos, compile scripts for macOS.
2023-04-26 15:20:37 +02:00
Holger Vogt 7e4f420788 Remove obsolete adms, add OSDI 2023-04-26 15:09:48 +02:00
Holger Vogt dfb53459dc .libsave: don't save the command itself, improve messaging 2023-04-26 11:26:11 +02:00
Holger Vogt ff9ff26613 .libsave: Print to file the expanded library read by .lib 2023-04-26 11:26:04 +02:00
Holger Vogt 81012de4d0 Add another error qualifier to decribe the current policy
when a doubling token exists (or is created) in the netlist.
2023-04-25 14:37:00 +02:00
Holger Vogt 28a3413dd2 Send 'refernce value' to stdout, not to stderr 2023-04-25 14:34:51 +02:00