Commit Graph

11110 Commits

Author SHA1 Message Date
Holger Vogt 5154fd3fd7 Allways export function ngCM_Input_Path, independently from XSPICE
Update comment
2023-12-22 17:14:22 +01:00
Holger Vogt d1abc8f6c7 typo 2023-12-22 13:11:21 +01:00
Holger Vogt c53b32ffa8 Plug a potential memory leak 2023-12-19 15:30:44 +01:00
Brian Taylor 8f52a67786 Fix set but not used warning. 2023-12-19 14:28:29 +01:00
Giles Atkinson af31904f99 The previous fix for Bug #467 - ".OPTION INTERP has accuracy issue"
(359e3d46) updated variable timeold inside a loop so that
all interpolations after the first caused division by zero.
That caused the xspice/delta-sigma example to fail.
Set the variable once at the end of the function.
2023-12-19 14:27:33 +01:00
Giles Atkinson 81351555da Mention the vlnggen script and Verilog-controlled XSPICE models. 2023-12-19 14:27:12 +01:00
Giles Atkinson ffcf3b24d9 Improve efficiency and irreversible CM support in EVTcall_hybrids() by
halting calls to code models as soon as the timestep is chenged.
This should have been included in 508fad0f55.
2023-12-19 14:26:56 +01:00
Holger Vogt c46866d688 Fix some typos.
Thanks to Brian for checking.
2023-12-18 20:13:06 +01:00
Brian Taylor eac68a23c3 Fix set but not used warning. 2023-12-18 09:46:44 -08:00
Brian Taylor be7f14e43b Merge branch 'pre-master-42' into bt_dev 2023-12-18 09:33:34 -08:00
Holger Vogt 9a50f8b749 typo 2023-12-12 17:24:23 +01:00
Holger Vogt ce8f6c5017 prepare ngspice-42 2023-12-12 17:08:58 +01:00
Holger Vogt 2e56f3a063 Add short description of the new interface functions
ngSpice_LockRealloc(void) ad ngSpice_UnlockRealloc(void)
2023-12-12 17:02:19 +01:00
Holger Vogt 7f30055f22 Prevent crash if port number is less than 1. 2023-12-12 16:29:32 +01:00
Holger Vogt 45850c07dc Don't silently accept wrong user input (missing nodes, values).
Check for at leat 4 tokens (name, n1, n2, val/model/...).
If the instance has not been set up correctly, bail out, prevent crash.
2023-12-12 16:29:28 +01:00
Holger Vogt 7cd4f003ff typo 2023-12-12 16:29:23 +01:00
Holger Vogt 6459fed460 Don't prescribe a different resistance value if the user has given one > 0. 2023-12-12 16:28:38 +01:00
Holger Vogt d0e91f58b3 Prevent crash if port number is less than 1. 2023-12-10 18:01:07 +01:00
Holger Vogt e0ee0bf131 Don't silently accept wrong user input (missing nodes, values).
Check for at leat 4 tokens (name, n1, n2, val/model/...).
If the instance has not been set up correctly, bail out, prevent crash.
2023-12-10 15:18:17 +01:00
Holger Vogt a3fef757a5 typo 2023-12-10 15:16:05 +01:00
Holger Vogt 0cdf3f0d28 Don't prescribe a different resistance value if the user has given one > 0. 2023-12-10 15:15:44 +01:00
Holger Vogt b76c3203f7 prepare ngspice-42 2023-12-09 15:47:00 +01:00
Holger Vogt 732c12c93f Remove another potential crash if buggy user input 2023-12-09 15:43:19 +01:00
Holger Vogt c69018fe82 Enable measurements with ?-sweep (v, i, temp, or res).
Improve error messages.
Prevent crash is compüdata is not available.
Add to examples for measure failures.
2023-12-09 15:43:15 +01:00
dwarning 6ad0a6ad38 hisim2: allow compile w/o NEWCONV defined 2023-12-09 15:43:11 +01:00
dwarning a98cfcd8cb allow compile w/o NEWCONV defined 2023-12-09 15:43:00 +01:00
Holger Vogt 88ce328d84 Remove another potential crash if buggy user input 2023-12-08 10:40:33 +01:00
Holger Vogt 3b38125afd Enable measurements with ?-sweep (v, i, temp, or res).
Improve error messages.
Prevent crash is compüdata is not available.
Add to examples for measure failures.
2023-12-08 10:32:15 +01:00
Holger Vogt 5ae5e877d2 prepare ngspice-42 2023-12-08 10:30:12 +01:00
Brian Taylor 1fe9704e46 Fix typo. 2023-12-07 07:18:04 -08:00
dwarning b0d3b20641 hisim2: allow compile w/o NEWCONV defined 2023-12-05 17:02:51 +01:00
Holger Vogt 7e83526d81 Prepare ngspice-42 2023-12-05 16:25:55 +01:00
dwarning 90f0680b51 allow compile w/o NEWCONV defined 2023-12-05 10:48:11 +01:00
Brian Taylor 1adee64224 Add scripts for running the paranoia tests in parallel on Linux with valgrind. 2023-12-04 15:12:15 +01:00
Brian Taylor 1e04f967e9 Undo commit fe2b30bdd3 2023-12-02 09:47:15 -08:00
Brian Taylor 182151b7c0 Add scripts for running the paranoia tests in parallel on Linux with valgrind. 2023-12-01 15:54:17 -08:00
Brian Taylor df38aa24ce Merge branch 'pre-master-42' into bt_dev 2023-12-01 12:01:56 -08:00
Giles Atkinson 3cf8fe8c41 Stop after last data point, preventing read overrun of nscale. 2023-12-01 12:26:58 +00:00
Holger Vogt 7175a39448 Add files com_fileio.c, .h to shared and fftw ngspice 2023-11-30 20:10:41 +01:00
Giles Atkinson d82f948832 Fix a crash found by Brian Taylor: when .plot attempts to plot digital
node history, interpolation may produce an infinite value at digital edges.
Remove vertical edges when interpolating and make some other improvements:
do not calculate a polynomial approximation for unused frames;
center the target x-value in the frame; and do not propogate a reduction
in degree to later frames.
2023-11-30 17:23:32 +00:00
Giles Atkinson c18447f9f5 Add the support files for co-simulation with Verilog code
compiled by Verilator.  Also add script files to Visual Studio builds
that are already installed by the Makefile builds.
2023-11-27 20:55:59 +00:00
Giles Atkinson a92c569b72 Prevent some strings being mis-recognised by strstr(), including
one that causes a false error message from the vlnggen script.
2023-11-27 17:17:21 +00:00
Giles Atkinson 597268cc26 Treat input files names passed a start-up the same as those entered
as commands or called as scripts: search for them using $sourcepath.
2023-11-27 17:16:55 +00:00
Giles Atkinson 07ce9c788e Recognise *ng_script_with_params" in the first line of the first
program input file to mean that the file is a pure interpreter
script that receives any remaining command arguments.
In winmain.c ensure that the argv array is NULL-terminated
and tidy some code.
2023-11-27 17:06:39 +00:00
Giles Atkinson 89851872ed When substituting interpreter variables, allow '$' to be part of
the variable expresstion only within '[]' or '()'. That lets
forms like "$a$b" to be treated as two substitutions, not one.
2023-11-27 15:13:31 +00:00
Giles Atkinson 3ba314d4bc New interpreter commands strstr, strslice, fopen, fread and fclose. 2023-11-27 14:58:01 +00:00
Giles Atkinson 566e2938f4 Add XSPICE code model d_cosim, a generic adaptor for digital cosimulation. 2023-11-27 14:50:21 +00:00
Giles Atkinson 12fe7b90c4 Add new code model function cm_irreversible(). This may only be
called from an XSPICE code model's INIT call and has three effects:
the instance is treated as "hybrid" even when it does not use both
port types; its position in the hybrids array is adusted; and it
is explicitly notifed when called just befoore the end of an
analog time-step.
2023-11-26 18:30:53 +00:00
Giles Atkinson 34e6c4abea Convert XSPICE's hybrid_index array to instance pointers.
That simplifies code and will be needed for irreversible code model support.
2023-11-26 18:29:23 +00:00
Giles Atkinson 508fad0f55 In dctran.c, call EVTcall_hybrids() (which then calls a subset of
code model instances) only when the current timestep was successful.
That is efficient and means that code models may rely on such calls,
for example a co-simulator may safely advance to the end of the timestep.
The function cm_irreversible() that is mentioned in a comment will be
added in a later commit.
2023-11-26 18:29:03 +00:00