Holger Vogt
21fbffbccf
Adding degradation monitors
2025-11-01 15:04:49 +01:00
Holger Vogt
e2046ae7c9
Enable using hashtables also for compiling with gcc.
2025-09-28 21:47:31 +02:00
Holger Vogt
ed4071cf11
Add a hash table paramhash to store the .agemodel model parameters.
2025-09-28 15:44:31 +02:00
Holger Vogt
b34abfd690
Read the agemodel data, put them into global array agemods
2025-09-13 17:56:39 +02:00
Holger Vogt
778e46f50f
Always call the function.
...
Inside it will be decided, depending on not having ngbehavior=de,
to disregard the agemodels.
2025-09-13 17:54:25 +02:00
Holger Vogt
18bb9175b4
Add function readdegparams in file inpdeg.c
2025-09-13 15:01:28 +02:00
Holger Vogt
29fda48618
Add a compatibility mode 'de' for degradation simulation.
2025-09-13 15:00:50 +02:00
Holger Vogt
82c620304b
Fixing bug 804.
...
Using function get_windows_canonical_path() may neglect the
ngspice file search sequence, as an absolute path is returned also
for relative input paths. ngspice however searches a file not only
relative to the current directory, as inforced by this
function, but for example also in the directory of the previous
input file.
So restrict this function to paths longer than MAX_PATH, which would fail
otherwise.
2025-09-05 23:59:05 +02:00
Holger Vogt
a2b3d7c7d2
Enhance comment.
2025-08-28 12:39:13 +02:00
Holger Vogt
7fc68c0c07
Adding .param SWSOA=1 right after the .lib entry during reading in
...
the libraries.
2025-08-28 12:39:01 +02:00
Holger Vogt
b1f4f32b36
Prevent a segfault if cp_variablesubst return a nullptr.
...
Fixes bug-801
2025-08-28 12:16:22 +02:00
Holger Vogt
21c238276a
Another copyright update
2025-08-08 11:46:22 +02:00
Holger Vogt
632b55a90d
Update copyright notice
2025-08-08 11:46:13 +02:00
Holger Vogt
4ab6be1b90
Keep saving nodes only once, but make an exception for node 'all'.
...
Fixes bug-799, at least partially (diffpair.cir is running again.).
2025-07-29 11:05:14 +02:00
Holger Vogt
3d55c16531
Don't print a form feed if 'option nopage' is given.
...
Print the header really only once if 'option nopage' is given.
2025-07-29 11:05:00 +02:00
Jason Pyeron
178b541fb2
BUGFIX: #797 - gettoks did not protect against NULL pointer input
2025-07-29 11:04:05 +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
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
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
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
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
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
Holger Vogt
80d6e681f2
MS Windows: Get a canonical paths name: Important if
...
path length exceeds MAX_PATH, might happen when using PDKs
Patch provided by kreijstal
2025-05-24 11:26:31 +02:00
Holger Vogt
43c4c49e11
re-enable adding variables (path names) to list variable "sourcepath"
2025-05-24 11:26:18 +02:00
Holger Vogt
a2dbedff4e
Improved error message, not using internal 'circbyline'
2025-05-24 11:25:55 +02:00
Holger Vogt
cf934bca7d
New command 'save nointernals' to suppress outputting and
...
saving of internal device nodes, espicially needed for PSP
OSDI model. Output file size reduction is e.g. from 20GB to 200MB.
2025-05-24 11:24:57 +02:00
Holger Vogt
338cc42dd0
PS compatibility: MOS level 5 and Bip level 2
...
will create an error. ngspice then bails out, as no
such models are available. Hint to use OpenVAF, OSDI.
2025-05-24 11:24:33 +02:00
Holger Vogt
d776a229e1
Create a vector thdnm from THD calculation, e.g. thd11
...
New vector fournosave: if set, suppress creation of
vectors thd11 and fourier, usefull when writing a raw file.
2025-05-24 11:24:25 +02:00
Giles Atkinson
629d1f5462
Fix a bug where a node name is mis-identified as the model for
...
an OSDI device and remove a limit on node count.
Problem was reported by user Sam in ngspice-users.
2025-05-24 11:24:11 +02:00
Giles Atkinson
b41b8a48c3
Tidy code in get_number_terminals(), removing unneeded copying.
2025-05-24 11:23:58 +02:00
Giles Atkinson
d18479b45b
Always check for GUI events during simulation, if any graphs exist.
...
Previously this check was only made if an iplot window existed.
The 100W.sp example displayed frozen windows with X11-based plotting.
2025-05-24 11:23:44 +02:00
Holger Vogt
7cf0129254
Add a descriptive comment
2025-05-24 11:21:52 +02:00
Holger Vogt
ef00416ebf
Add a section without source info to the debug output.
...
Truncate .model lines in this section, as .model lines with
several hundred parameters may mask the relevant information.
2025-05-24 11:19:08 +02:00
Holger Vogt
dd07008b55
Remove ADMS related code
2025-05-24 11:17:56 +02:00
Giles Atkinson
ddd14cf84c
Do not include term.h and curses.h in terminal.c without checking that
...
they exist. Modern ncurses does not need curses.h to compile term.h
so that header has been removed. Also make ncurses the last choice
when looking for tputs().
2025-05-24 11:17:25 +02:00
Holger Vogt
2afd3d1ea8
Prevent a crash in case of incomplete stoks[]
2025-05-24 11:03:29 +02:00
Holger Vogt
0c2a287d3c
Allow .probe I(XU1)
...
For device with more than 2 nodes, and alli not set, the vcurr_xxx
nodes did contain a probe_int_ section which made them to be
not saved. While o.k. for power measurement, this was not o.k. for
measuring current.
2025-05-24 11:00:11 +02:00
Holger Vogt
1abeb1290b
Align title line to the numbers following
2025-05-24 10:59:47 +02:00
Holger Vogt
26b197df33
Allow m parameter for B source with current output
...
Fixes bug no. 734
2025-05-24 10:59:04 +02:00
Giles Atkinson
afb399a1f0
Fix Bug #733 -
...
"Pre-master-45 hangs forever on a circuit that works on older versions."
That was an infinite loop when parsing a line with just "*#",
introduced by commit fb63573b6b . Also add some comments.
2025-05-24 10:58:08 +02:00