Commit Graph

3915 Commits

Author SHA1 Message Date
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
Árpád Bűrmen d659943d77 Per-device load timing support. 2025-05-24 10:56:33 +02:00
Holger Vogt e5d4d7d63f Add to debug-out.txt an output without source file information.
Thus cluttering the view is reduced.
2025-05-24 10:55:18 +02:00
Holger Vogt e1bd97d8f6 If C= or Q= is omitted in the instance line of a behavioral capacitor,
select as default the C= formulation, not the Q= formula..
2025-01-10 15:17:22 +01:00
Giles Atkinson 2666460663 Using XFlush() instead of XSync() avoids a round trip to the X server
on each call to DevUpdate().  That speeds plotting when using XQuartz
on Macintosh and makes iplot useable there.
2025-01-09 13:21:31 +01:00
Holger Vogt 1b7c8eb2d7 Fix a crash due to buggy user input.
Improve error message.
Reported in
https://gitlab.com/kicad/code/kicad/-/issues/19439#note_2277932762
2025-01-09 13:21:05 +01:00
Holger Vogt ce8480c690 Enable improved error message with nested .include. 2024-12-28 14:43:01 +01:00
Holger Vogt c7ee676e3d Improve the error message by hinting to the source of the error. 2024-12-28 14:42:49 +01:00
Holger Vogt a4e443fcce precautionary prevent passing instances which internally have got
upper case lettering. Removes a crash reported in
https://gitlab.com/kicad/code/kicad/-/issues/18648.
2024-12-27 11:18:00 +01:00
Holger Vogt ffde17441b Don't quote the subcircuit name in an X line 2024-12-27 11:15:09 +01:00
Giles Atkinson d549b882df Fix a crash that happens after an iplot window is zoomed and closed
while active.
2024-12-27 11:14:53 +01:00
Holger Vogt 1e4a6ac8b8 avoid memory leak by appending, not prepending the word 2024-12-15 10:29:32 +01:00
Holger Vogt a6ad2470f1 Add a flag compmod to struct card.
Set compmod to 1 if netlist line is included by command 'incpslt'
Guard special newcompat.hs sections by compmod
2024-12-15 10:29:23 +01:00
Holger Vogt 8b5a046cdb Remove again, not needed 2024-12-15 10:26:20 +01:00
Holger Vogt 8e9a115aa9 Update/remove comment(no longer valid) 2024-12-15 10:26:08 +01:00
Holger Vogt b7092ff19b Revert ABORTPROC to bool, where appropriate 2024-12-15 10:25:51 +01:00
Holger Vogt deb3cd9809 Replace all BOOLEAN, BOOL, _Bool by bool
Remove all #undef bool (set in conjunction with #iclude <Windows.h>)
2024-12-15 10:25:28 +01:00