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 .
2 years ago
Holger Vogt
c46866d688
Fix some typos.
Thanks to Brian for checking.
2 years ago
Holger Vogt
9a50f8b749
typo
2 years ago
Holger Vogt
ce8f6c5017
prepare ngspice-42
2 years ago
Holger Vogt
2e56f3a063
Add short description of the new interface functions
ngSpice_LockRealloc(void) ad ngSpice_UnlockRealloc(void)
2 years ago
Holger Vogt
7f30055f22
Prevent crash if port number is less than 1.
2 years ago
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.
2 years ago
Holger Vogt
7cd4f003ff
typo
2 years ago
Holger Vogt
6459fed460
Don't prescribe a different resistance value if the user has given one > 0.
2 years ago
Holger Vogt
b76c3203f7
prepare ngspice-42
2 years ago
Holger Vogt
732c12c93f
Remove another potential crash if buggy user input
2 years ago
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.
2 years ago
dwarning
6ad0a6ad38
hisim2: allow compile w/o NEWCONV defined
2 years ago
dwarning
a98cfcd8cb
allow compile w/o NEWCONV defined
2 years ago
Holger Vogt
7e83526d81
Prepare ngspice-42
2 years ago
Brian Taylor
1adee64224
Add scripts for running the paranoia tests in parallel on Linux with valgrind.
2 years ago
Giles Atkinson
3cf8fe8c41
Stop after last data point, preventing read overrun of nscale.
2 years ago
Holger Vogt
7175a39448
Add files com_fileio.c, .h to shared and fftw ngspice
2 years ago
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.
2 years ago
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.
2 years ago
Giles Atkinson
a92c569b72
Prevent some strings being mis-recognised by strstr(), including
one that causes a false error message from the vlnggen script.
2 years ago
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.
2 years ago
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.
2 years ago
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.
2 years ago
Giles Atkinson
3ba314d4bc
New interpreter commands strstr, strslice, fopen, fread and fclose.
3 years ago
Giles Atkinson
566e2938f4
Add XSPICE code model d_cosim, a generic adaptor for digital cosimulation.
2 years ago
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.
2 years ago
Giles Atkinson
34e6c4abea
Convert XSPICE's hybrid_index array to instance pointers.
That simplifies code and will be needed for irreversible code model support.
2 years ago
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.
2 years ago
Holger Vogt
3d1cbf93ee
Add a predifined variable 'skywaterpdk' to speed up circuit
loading and parsing.
If set, it removes quoting tokens for params. This requires
that Skywater PDK does adequately stick to the ngspice syntax
to put params in between braces. As far as tests go, it does.
It also set the number of nodes for MSO devices to 4, so no lengthy
search is required.
2 years ago
Holger Vogt
dd58b07949
Initialize the new mutex vecreallocMutex
2 years ago
Holger Vogt
1849a8d220
Add functions ngSpice_LockRealloc and ngSpice_UnlockRealloc
to lock reallocing output vectors, e.g. during reading the
vecs for plotting.
2 years ago
Holger Vogt
e87651e27f
Update to comments, restrict mutex definitions to shared ngspice
2 years ago
Holger Vogt
3619041e26
Add new lock for realloc of vectors
2 years ago
Holger Vogt
1db8eff25c
Write message only once.
2 years ago
Holger Vogt
ecf4f819dc
typo
2 years ago
Holger Vogt
40a783408c
Remove adms, enable klu
2 years ago
Holger Vogt
86e991515e
Enable compiling with MINGW under MS Windows
2 years ago
Holger Vogt
4d4f226a83
Prevent crash, when vector is defined, but still empty.
2 years ago
Holger Vogt
e376c0e5c6
Eanble op or ac op (operating point), when selfheat is on.
op for tran has been o.k.
Fixme: preliminary fix or hack.
2 years ago
Holger Vogt
b62bb20e6f
Increase the allowable node name length from 24 to 256.
Enable safe copying, no user induced buffer overflow.
2 years ago
Holger Vogt
10756111bf
Fix a bug when deleting the memory. With the first call
to mem_delete() all the hash table is deleted, a second
call to mem_delete() does not have any further effect, so
has to be avoided.
2 years ago
Holger Vogt
e57979d15d
Plug two memory leaks introduced by
2bbadc608 ("Use a hash table glonodes to prevent
double or multiple entries in global node table
global_nodes", 2023-11-17)
2 years ago
Holger Vogt
70e366021b
Generate seed numbers from a microseconds clock, not a seconds clock
2 years ago
Holger Vogt
81bb886c71
Replace array global_nodes by hash table glonodes:
Save each global node only once
Search for global nodes hash table (much faster than scanning the list repeatedly).
Remove limit for amount of global nodes.
2 years ago
Holger Vogt
2bbadc6085
Use a hash table glonodes to prevent double or multiple entries
in global node table global_nodes
2 years ago
Holger Vogt
d060cb82af
typo
2 years ago
Holger Vogt
0735b8d0a5
fix previous commit on repeating error messages
2 years ago
Holger Vogt
22a10c0e44
typo
2 years ago
Holger Vogt
55ba927973
If nan occurs during op calculation, issue the warning
no more than 10 times.
2 years ago