Commit Graph

7594 Commits

Author SHA1 Message Date
Holger Vogt 29d5584c56 Bug fixes:
fix function rdivide
fix a copy/paste bug in cpline
add copying of tlines
2025-07-29 11:01:57 +02:00
Holger Vogt 33efc5ed2c Add functions for VS non-C99-compatible complex data manipulation,
selected by #ifdef _MSC_VER switch.
Update tlines project file, correct buiuld sequence for
code models in vngspice.
Add tlines to spinit.
2025-07-29 11:01:30 +02:00
Holger Vogt 6d86b0ebda Visual Studio C does not support C99 complex types and functions
Add type DoubleComplex, to become 'double complex'
with gcc and _Dcomplex with Visual Studio.
Add functions rdivide and divide to divide real or complex numbers
by another complex number.
Use rdivide and VS built in function to evaluate _Z11 - _Z14.
2025-07-29 11:01:02 +02:00
Holger Vogt 89c2070a96 Add missing constants for Visual Studio C 2025-07-29 11:00:52 +02:00
Vadim Kuznetsov 741a7002d0 Fix licence header in msline_common 2025-07-29 10:56:31 +02:00
Vadim Kuznetsov dcb4202910 Added MSOPEN model 2025-07-29 10:55:51 +02:00
Vadim Kuznetsov 6914662c4d Implement rollback; fix memory management 2025-07-29 10:55:41 +02:00
Vadim Kuznetsov 4358b99183 Add license header for new files 2025-07-29 10:54:52 +02:00
Vadim Kuznetsov 047de0f201 Add XSPICE models for transmission lines 2025-07-29 10:54:23 +02:00
Holger Vogt c2f9f6d3f4 retain type=0, type=1, type=+1, or type=-1 in a .model card,
even if compatmode PS or LT are set.
2025-07-29 10:52:54 +02:00
dwarning 6aba1f302b allow showmod command for verilog-a models - feature request #100 2025-07-29 10:52:14 +02:00
Árpád Bűrmen cb944fdb7a icvgs, icvds, and icvbs should be IOP. 2025-07-29 10:51:39 +02:00
Árpád Bűrmen 56ecfa9e69 BSIM3 3.3.0 undeclared instance IC parameters. 2025-07-29 10:51:26 +02:00
Árpád Bűrmen 2c76daf2d1 MESFET m and ic parameters fixed. 2025-07-29 10:51:05 +02:00
Árpád Bűrmen 87aecbcba7 dtemp bug fixed. 2025-07-29 10:50:35 +02:00
Holger Vogt 619d6ae521 Prevent from endless loop if step evaluates to 0. 2025-07-29 10:50:23 +02:00
Holger Vogt 51d0e3d910 Add error checking when parsing the .dc or dc commands. 2025-07-29 10:50:06 +02:00
Holger Vogt dd1690521c Fix a bug: do not read in front of string s by s[-1].
Still needs more checking: we remmove and add 'params:'?
2025-07-29 10:49:49 +02:00
Holger Vogt 9c1714d2f5 typo 2025-07-29 10:49:22 +02:00
Holger Vogt 508ab3bd8c New CPPDUALS: re-enable compiling with CYGWIN 2025-07-29 10:48:46 +02:00
Holger Vogt 7f8f510e91 add missing makefile.am, copied from previous cppduals/duals 2025-07-29 10:48:31 +02:00
Holger Vogt 6af3cfac72 New cppduals from https://gitlab.com/tesch1/cppduals
downloaded may 1st, 2025
2025-07-29 10:48:21 +02:00
Holger Vogt ea5979d391 No autostart when ctrl is set.
Fix a bug when repeating the sequence.
2025-07-29 10:45:50 +02:00
Holger Vogt 07f8c3558b Add a monitoring output the the seegen instance 2025-07-29 10:45:30 +02:00
Holger Vogt b628032d7d Add a generator for SEE (single event effects) pulses as a code model.
To be used like
aseegen1 NULL [%id(xcell.n1 m1) %id(xcell.n2 m2) %id(xcell.n1 m1) %id(xcell.n2 m2)] seemod1
.model seemod1 seegen (tdelay = 11n tperiod=25n tfall='tfall' trise='trise' let='let' cdepth='d')
see README.SEEgenerator for details
2025-07-29 10:39:58 +02:00
Holger Vogt 878d7e1ff9 Add function cm_get_neg_node_name
as cm_get_node_name delivers only the pos node.
2025-07-29 10:39:47 +02:00
Giles Atkinson 5c4f151c6d Snapshot support for new statistics added by e1677a18c4.
That prevents a crash exiting examples/snapshot/adder_snload.script.
2025-07-29 10:39:00 +02:00
Giles Atkinson 95fc95771a Fix Bug #793 - "breakp.c error: compling without XSPICE failed".
Additional changes to conditional compilation are needed for
iplot without XSPICE.
2025-07-29 10:38:42 +02:00
Holger Vogt 9c4a54ffb7 Enable real (from fft)or complex (from sp) frequency vetors in plot sp 2025-07-29 10:38:17 +02:00
Holger Vogt f73873c495 Enable expressions in a meas statement within a .control section, like
meas tran yeval2 FIND v(2) WHEN v(1)= 0.9*v(2)
2025-07-29 10:37:59 +02:00
Holger Vogt 3464f4af2c Linux line endings 2025-07-29 10:37:02 +02:00
Giles Atkinson ed80400661 Fix Bug #792 - "N device instance line not parsed correct".
Code added by 83d3890490 failed with a single parameter with no speces.
2025-05-30 12:56:49 +02:00
Giles Atkinson 29ce826cf6 Improve efficiency of linked list search. (See BUG 783). 2025-05-30 12:56:41 +02:00
Holger Vogt 0713f46506 Make all new entries lower case. 2025-05-30 12:56:25 +02:00
Holger Vogt 705c0d8dc6 Prevent crash if file cannot be opened. 2025-05-30 12:56:11 +02:00
Brian Taylor 1b39cf9025 Fix some more -Wextra warnings.
Fix to inpcom.c removed by HVO
2025-05-24 11:31:05 +02:00
Holger Vogt 3ceb16024a Fixes a bug introduced by
317378085 ("Tidy code in get_number_terminals(), removing unneeded copying.", 2025-02-25)
2025-05-24 11:30:56 +02:00
Holger Vogt c2702208bd Allow command 'stop when time=val' also if the tran simulation has
already been started, e.g. while waiting for resume.
Add a breakpoint if 'val' is in the future.
2025-05-24 11:30:37 +02:00
Brian Taylor a7961f1a97 Fix some compiler warnings when -Wextra is added to CFLAGS. 2025-05-24 11:30:25 +02:00
Holger Vogt c3553396d9 beautify the code 2025-05-24 11:30:05 +02:00
Holger Vogt d8317d57bc Re-enable compilation with MS Visual Studio, as "ngspice/config.h"
is not available.
Add-on to commit
4881b2973 ("Fix Bug #772 - "ngspice + icarus verilog cosim: searches for ivlng.so                 in /usr/local/lib/ngspice ...". Use the configured library directory, NGSPICELIBDIR.", 2025-04-11)
2025-05-24 11:29:57 +02:00
Giles Atkinson 9429a27af0 Fix typo in vlnggen error message. 2025-05-24 11:29:49 +02:00
Giles Atkinson d6f3267bf6 Fix Bug #772 - "ngspice + icarus verilog cosim: searches for ivlng.so
in /usr/local/lib/ngspice ...".
Use the configured library directory, NGSPICELIBDIR.
2025-05-24 11:29:38 +02:00
Giles Atkinson 35ae1ece8c Add an error message for a .model line that includes a default value
for a read-only instance parameter.  Before that caused a fatal error
in parsing the first device to use the model.
2025-05-24 11:29:31 +02:00
Giles Atkinson 8ab446fc9c Fix Bug #750 - "VDMOS Model Naming Rules in NGSPICE Cause Confusion."
Recognise VDMOS as a special keyword only as the third token in a
.model line.  A new function, skip_token(), included in the change
allows simplification of some existing code.
2025-05-24 11:29:22 +02:00
Giles Atkinson 0029d415ee Fix for an error message seen when testing the shx shared-library
program: do not allow a negative timestep.
2025-05-24 11:28:24 +02:00
Giles Atkinson 16aadef4c7 Add two new functions to the shared library API.
ngSpice_Raw_Evt() requests a callback that returns all the
XSPICE events for a specific node that occurred during the last timestep.
ngSpice_Decode_Evt() provides numeric and string versions of
the event data.  Also fix some warnings in sharedspice.c.
2025-05-24 11:27:57 +02:00
Giles Atkinson 44b620658e Event nodes can be plotted with offset by "iplot", like the
digitop option for "plot".  Offsets may be explicit or automatic with "-o".
A variable to set the offset is shared with "plot".  In plotcurv.c
suppress some warnings that should not apply to event nodes and do
not falsely claim that some vectors have only one x-value.
2025-05-24 11:27:37 +02:00
Giles Atkinson 78924a86a1 Support use of XSPICE event nodes with iplot.
In graf.c, local function set() is renamed setflag() to avoid conflict
with a newly-visible global function with the same name.
2025-05-24 11:27:28 +02:00
Giles Atkinson d528c2a693 Do not strip event value member names (like "digital_node(strength")
from the name when creating a vector from event node history.
2025-05-24 11:27:16 +02:00