Holger Vogt
329343a31e
Fix a bug.
2026-02-03 14:09:43 +01:00
Holger Vogt
89c03ca640
fix bug no 819, which has been introduced by
...
d5ef8a366 ("Remove all entries connected to IPC, an outdated (>30 years) method to link ngspice to a now defunct controller (ATESSE).", 2025-10-21)
2026-02-03 14:09:22 +01:00
Holger Vogt
31a8486c03
make nthreads local
2026-02-03 14:08:42 +01:00
Holger Vogt
6004d9aef9
Improve comments
2026-02-03 14:08:28 +01:00
Holger Vogt
4d24b18f35
Remove all entries connected to IPC, an outdated (>30 years)
...
method to link ngspice to a now defunct controller (ATESSE).
2026-02-03 14:07:59 +01:00
Holger Vogt
7fbb4450d4
Improve comments, add note to user.
2026-02-03 14:07:35 +01:00
Holger Vogt
48d28f9f4a
Entries to old CLUSTER code removed.
2026-02-03 14:07:15 +01:00
Holger Vogt
4594d5fd91
Add variable deltacheck to measure the CKTdelta[0]
...
(most recent accepted delta time) versus simulation time.
Activated if 'set ngdebug' is given (not forget to set
'.save deltacheck' if other .save commands are given).
2026-02-03 14:07:02 +01:00
Giles Atkinson
aa1242ac70
Add new functions for .param expressions. vec() takes a string argument
...
and fetches a vector value from the current plot or "const". var() is similar
but fetches an interpreter variable.
2026-02-03 14:06:36 +01:00
Holger Vogt
5443385ae9
Another update on comments
2026-02-03 14:06:11 +01:00
Holger Vogt
d49134df93
Small update on comments.
2026-02-03 14:05:46 +01:00
Holger Vogt
1f2a6f3665
document the goto labels.
2026-02-03 14:05:12 +01:00
Holger Vogt
58380ba1b8
Remove all entries related to CLUSTER,
...
an old, never finished attempt to run transient in parallel.
2026-02-03 14:04:50 +01:00
Holger Vogt
9fc4435dca
Update on comments.
2026-02-03 14:04:36 +01:00
Holger Vogt
827e6ba7fb
Add perror() to fopen: more info for user.
2026-02-03 14:04:15 +01:00
Holger Vogt
7fe6ab5424
Improve error messages.
2026-02-03 14:03:58 +01:00
Holger Vogt
e4aacf352a
Add breakpoints to achieve quadratic smoothing.
...
Shift 50%-detection for breakpoints into the INIT section,
to do it only once.
2026-02-03 14:03:31 +01:00
Giles Atkinson
87338b0b8a
Fix Bug 817 - "Global models are not visible from with subcircuits".
...
Remove code that can miscount the number of nodes to be renamed.
2026-02-03 14:03:13 +01:00
Holger Vogt
68e8f43318
Re-enable warning note when rusage xxx is not implemented.
2026-02-03 14:02:52 +01:00
Holger Vogt
5fcbe3c6df
Improve error message: add source type
2026-02-03 14:02:32 +01:00
Holger Vogt
f84a72d1f8
Improve error messages. Towards better locating of errors:
...
Remove entry to avoid false file readings.
Still to do: Return correct fline numbers, when reading large PDKs.
2026-02-03 14:02:05 +01:00
Holger Vogt
c4ae3b1243
Improve on truncation when printing out the .model lines during debug-out
2026-02-03 14:00:46 +01:00
Holger Vogt
76c4be60ce
Add info for line source
2026-02-03 14:00:24 +01:00
Holger Vogt
e277c886ef
Improve reading the source code sequence by extra comments:
...
While searching for 'Parsing the circuit', the sequence of major
functions is revealed.
2026-02-03 13:59:59 +01:00
Brian Taylor
a99ff45eaf
Update and clarify the comments at the top of udevices.c, which should make it easier when someone in the future has to make changes.
2026-02-03 13:59:39 +01:00
Brian Taylor
71614dba3a
Add a correction to the previous change of inppas4.c, which freed devname and left instance name pointers in DEVnameHash pointing at freed memory. This commit adds the devname string to the symbol tables which are eventually cleared by INPtabEnd. Also, if a capacitor in the spice netlist has the same name (unlikely, but possible) as a shunt capacitor, then no shunt is created, and a warning is issued.
2026-02-03 13:59:30 +01:00
dwarning
766c8d15e2
correct init state vector for qth integration
2026-02-03 13:59:17 +01:00
Holger Vogt
7d4cf5487d
Typo
2026-02-03 13:59:03 +01:00
dwarning
3286651aca
correct xoi and xom defaults to Angstrom and clarify comments
2026-02-03 13:58:53 +01:00
dwarning
8e1ba4d9e2
count level=3 model poly and metal capacitance in charge calculation
2026-02-03 13:58:43 +01:00
Brian Taylor
e694983536
Fix memory leaks in INPpas4 and get_number_terminals found using paranoia_parallel.
2026-02-03 13:58:32 +01:00
Holger Vogt
7ea0ee9714
Add short description of code model
2026-02-03 13:58:21 +01:00
Holger Vogt
65fc0ad8a6
Add analog code model astate.
...
It reports the previous state (delayed by 1 to 3 time steps)
of the input node. Single or differential voltage or current.
2026-02-03 13:57:57 +01:00
Holger Vogt
63d5e94b94
Improve the error message by naming the port
2026-02-03 13:57:46 +01:00
Holger Vogt
5e12a80fb4
Exxx n1 n2 nc1 nc2 TABLE = (x0, y0, x1, y1, x2, y2)
...
is now supported in addition to already existing
Exxx n1 n2 TABLE {expression} = (x0, y0) (x1, y1) (x2, y2)
2026-02-03 13:57:37 +01:00
Holger Vogt
e25c70b2bb
add new function gettok_node_br which adds braces { } on its list
...
of ignored characters.
2026-02-03 13:57:23 +01:00
Holger Vogt
85a04c5693
Cosmetics: Indentation
2026-02-03 13:57:14 +01:00
Holger Vogt
3d0ab2db8e
Enable plain expression instead of only a number for area
...
in bipolr device instances.
2026-02-03 13:57:04 +01:00
dwarning
b57800d4bd
remove obsolete bracket
2026-02-03 13:56:57 +01:00
dwarning
f1a240e6b1
remove old commented strncmp version check code
2026-02-03 13:56:48 +01:00
Árpád Bűrmen
adae811ad2
BSIM4 version 4.8 is considered to be the latest, i.e. 4.8.3.
2026-02-03 13:56:37 +01:00
Árpád Bűrmen
e0694629d1
Scaling of NQS charge deficit with mult_q.
2026-02-03 13:56:23 +01:00
Árpád Bűrmen
5153d8a4c1
ceqqjd, ceqqjs should be scaled with mult_q.
...
This fixes erratic simulation behavior when
mult_i != mult_q.
2026-02-03 13:56:16 +01:00
Árpád Bűrmen
dc58709a37
Fixed a bug causing mult_* factors to get scaled at each setup().
2026-02-03 13:56:04 +01:00
Árpád Bűrmen
942f877290
Check if toxp+dtox!=toxe with double precision tolerance.
2026-02-03 13:55:56 +01:00
Árpád Bűrmen
58dfdcec52
icvgs, icvds, icvbs exposed as BSIM4v8 parameters.
2026-02-03 13:55:46 +01:00
Árpád Bűrmen
5a8b176378
Fast version checks in BSIM4.
2026-02-03 13:55:38 +01:00
Holger Vogt
71a980f820
Improve detection of the number of terminals for bipolar devices.
...
Fixes bug no. 807.
2026-02-03 13:55:31 +01:00
Holger Vogt
0648d5e844
Spelling
...
Found by Lintian, patches provided by C. Schoenert
2026-02-03 13:55:23 +01:00
Brian Taylor
7af862af3d
Enable CIDER with KLU for DC, OP, and TRAN analyses. Small signal AC analysis is not yet supported for CIDER complex valued device KLU matrices. The examples/cider testcases produce printed simulation result values which have slight differences between Sparse and KLU. Differences are probably expected and in a few cases are ~1-2%, sometimes a little more. This should be good enough for most CIDER analyses. Francesco did a good piece of work. Runtimes are significantly shorter with KLU.
2026-02-03 13:55:12 +01:00
Holger Vogt
af28d2416d
free(info.errors) leads to a assertion error on the heap.
...
On Windows it reads:
is_block_type_valid(header->_block_use).
Memory for info.errors is allocated in the osdi device dll
during the call to
descr->setup_instance((void *)&handle, inst, model, temp,
connected_terminals, sim_params, &init_info);
(in fcn OSDIsetup(), line 254 of osdisetup.c).
Therefore ngspice is not the owner of this memory and thus cannot free it.
Fixes bug no. 803.
2026-02-03 13:53:46 +01:00
Holger Vogt
49b35ed3fc
We are developing towards ngspice-46
2026-02-03 13:52:36 +01:00
dwarning
ce55f05e1b
bsim4: unify error printout
2026-02-03 13:46:02 +01:00
dwarning
50bfc214ab
bsim4: reimplement mobility and binning extension
2026-02-03 13:45:50 +01:00
dwarning
2c9c2c20c4
reply commit e5c162f1: dc sweep fails after transient sim
2026-02-03 13:45:37 +01:00
dwarning
94b193ad91
prevent warning if NOBYPASS is not defined
2026-02-03 13:45:24 +01:00
dwarning
11ee179639
adapt instance parameter extension to new bsim4 multiplier concept
2026-02-03 13:45:11 +01:00
Holger Vogt
724dc77b91
Prepare bug-fix release ngspice-45.2.
2025-09-05 23:59:35 +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
dwarning
86c78150b7
add KLU bindings for diode selfheating effect, bug #802
2025-08-31 15:16:05 +02:00
Holger Vogt
dbb1db8b9d
add tlines files to distribution
2025-08-29 23:55:36 +02:00
Holger Vogt
86ea9fee8a
Prepare for ngspice-45
2025-08-29 15:01:45 +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
2185f82a28
typo
2025-08-28 12:16:11 +02:00
Holger Vogt
bebf7efd8b
Command completion is not supported, removed from 'help'
2025-08-28 12:15:55 +02:00
Holger Vogt
c45d1e0974
Rename t to tn to avoid t shadowing the t from the function header
...
void cpmslineAnalyseDispersion (double W, double h, double s,
double t, double er, double Zle,
...
2025-08-28 12:15:40 +02:00
Vadim Kuznetsov
94740a3d2b
Fixed warnings in cpmlin and mlin
2025-08-28 12:15:25 +02:00
Holger Vogt
481e3e567b
Update to filesource
...
Move tprev out of the loop to enable storing the previous time value.
Add some general warning message that an error might have occurred during
reading the time or data values from the data input file.
Allow empty lines in the data input file.
Guard early data values (TIME < time offset) against false reading.
Add some simple examples.
2025-08-11 18:45:21 +02:00
Brian Taylor
179c7504fb
Misplaced break statement in callback.
2025-08-08 11:46:33 +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
b7692fbda7
Move CALLBACK into the 'init' section,
...
to have it called once only.
2025-08-08 11:46:06 +02:00
dwarning
5e21393fbb
prevent unused warning
2025-08-08 11:45:49 +02:00
dwarning
7ede33e7c6
git ignore temporary file
2025-08-08 11:45:32 +02:00
Holger Vogt
787a8530be
Prevent doubly defined tokens.
2025-08-08 11:45:15 +02:00
Holger Vogt
cbf93cf8e0
Add missing CALLBACK
2025-08-08 11:44:51 +02:00
Holger Vogt
5af5f02ad1
Remove unused variable.
2025-08-08 11:44:34 +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
805f14e50b
Don't check .params as they will fall through anyway.
2025-07-29 11:05:06 +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
dwarning
68c3fc1031
diode needs both current components (bottom and sidewall) for Vcrit and breakdown voltage calculation
2025-07-29 11:04:51 +02:00
dwarning
05bbb2aaa2
introduce aliases for certain diode breakdown model parameter
2025-07-29 11:04:38 +02:00
Jason Pyeron
178b541fb2
BUGFIX: #797 - gettoks did not protect against NULL pointer input
2025-07-29 11:04:05 +02:00
Brian Taylor
47d7f7aa62
Allocating arrays of double* should use sizeof double* not double, even though they may be the same. Avoid potential divide by zero.
2025-07-29 11:03:28 +02:00
Brian Taylor
416edbbb9a
Fix memory leak in xspice oneshot.
2025-07-29 11:03:10 +02:00
dwarning
a0c7af575d
bsim4 update to version 4.8.3
2025-07-29 11:02:56 +02:00
Holger Vogt
c24fc9e9d0
Remove compiler warning.
2025-07-29 11:02:39 +02:00
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
Giles Atkinson
5790dc2f4d
Add two new XSPICE functions: EVTnew_value_call() and
...
EVTcancel_value_call(). EVTnew_value_call() specifies a function
to be called for each confirmed new value produced on an XSPICE
event node. To be used to add event node support for iplot.
2025-05-24 11:27:03 +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
f1381b43a1
Debug printout of start-up command line
2025-05-24 11:25:42 +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
de7cec1735
AC noise: Update opertating point, if variable 'hertz' is given
2025-05-24 11:24:44 +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
7cc3280851
Enhance the search path for .spiceinit (spice.rc):
...
- in the directory from where the netlist has been loaded
- in a user provided path read from environmental variable SPICE_USERINIT_DIR,
- in the current directory,
- in the the HOME directory,
- in the USERPROFILE directory. */
In shared ngspice the first line shall read
- in the directory Infile_Path received from the caller (sent before initialization)
2025-05-24 11:23:26 +02:00
dwarning
7aa8ed0170
Involve optional d-s shunt in ac and pz analysis
2025-05-24 11:23:18 +02:00
dwarning
a271ac821a
Correct matrix entries for VDMOS pz analysis
2025-05-24 11:23:05 +02:00
Holger Vogt
612a924ea3
Reformat spoutput.c
...
Replace tabs by spaces
2025-05-24 11:22:47 +02:00
Holger Vogt
46e4a67079
Some cosmetics for readability:
...
replace tabs by spaces
2025-05-24 11:22:37 +02:00
Holger Vogt
8d9988424b
Fixes bug by patch 124 offered by kreijstal
2025-05-24 11:22:30 +02:00
Brian Taylor
08aff1ee17
Fix memory leak of parm when there is a closing ).
2025-05-24 11:22:16 +02:00
dwarning
34046a29c1
VDMOS: use Vdsat in mobility reduction formula
2025-05-24 11:22:09 +02:00
Holger Vogt
243bdff377
Formatting: tabs to spaces
2025-05-24 11:22:01 +02:00
Holger Vogt
7cf0129254
Add a descriptive comment
2025-05-24 11:21:52 +02:00
Árpád Bűrmen
a8e54dfb31
Fixed MOS9 scaling.
2025-05-24 11:21:39 +02:00
Árpád Bűrmen
cc8183a96c
Fixed MOS3 scaling.
2025-05-24 11:21:32 +02:00
Árpád Bűrmen
fcbee261ac
Fixed MOS2 scaling.
2025-05-24 11:21:26 +02:00
Árpád Bűrmen
8e2859d30d
Fixed MOS1 noise scaling.
2025-05-24 11:21:19 +02:00
dwarning
fed39f18c9
diode: introduce few parameter aliases for compatibility to other simulators
2025-05-24 11:19:48 +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
Giles Atkinson
f8c9da5ed5
The VPI module path should be first in the lib_args parameter.
2025-05-24 11:18:47 +02:00
Giles Atkinson
6c518d4212
Fix an infinite loop with "eprvcd -a" and a misleading comment.
...
The command now works without any event nodes.
2025-05-24 11:18:37 +02:00
Giles Atkinson
027fb7e9e8
Code to suppress a spurious warning of a non-existent parameter,
...
missed from e858ca9465 .
2025-05-24 11:18:23 +02:00
dwarning
ae1437cb52
VBIC: simplify nqs derivatives
2025-05-24 11:18:08 +02:00
Holger Vogt
dd07008b55
Remove ADMS related code
2025-05-24 11:17:56 +02:00
Holger Vogt
216f462583
Automtically set optran step time for at least 50 iterations
2025-05-24 11:17:42 +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
Giles Atkinson
5cfd87d6ad
Do not link with the libraries needed for Ngspice itself.
2025-05-24 11:14:38 +02:00
dwarning
20334c495c
VBIC: lean and mean code revision
2025-05-24 11:05:58 +02:00
dwarning
22ef170bac
VBIC: fix NQS problems in transient simulation by implementing adjunct network for excess phase
2025-05-24 11:05:50 +02:00
Giles Atkinson
c7c85ecadc
Add co-simulation with VHDL, using the GHDL compiler and d_cosim.
2025-05-24 11:05:33 +02:00
Giles Atkinson
a50562430c
Add .dylib file extension and improve some messages in d_cosim.
...
On Macos, the command "ghdl -e -shared ..." creates .dylib files.
2025-05-24 11:05:22 +02:00
Giles Atkinson
f471461035
When parsing a XSPICE string-valued model parameter, break only
...
on a closing quote, string end or white space (if unquoted) and
unquoted ']' when parsing an array. That allows generic value overrides
for GHDL models to pass through: "-gVar=value". Previously, the string
was terminated on '='. Also remove some dead and non-functional code.
2025-05-24 11:05:13 +02:00
Giles Atkinson
9786d3b8e2
Improve checking of XSPICE model parameters and tidy code.
...
Checking for null values moves from per-instance code to
per-device code, potentially removing duplicate error messages.
Limits on parameter values and sizes of array parameters that are
specified in the IFS files are now actually checked.
2025-05-24 11:04:55 +02:00
Holger Vogt
2afd3d1ea8
Prevent a crash in case of incomplete stoks[]
2025-05-24 11:03:29 +02:00
Árpád Bűrmen
91040891f9
Temperature handling inconsistency in jfetnoise.c fixed.
2025-05-24 11:03:13 +02:00
Holger Vogt
796b4fd634
Fixes wrong @bxxx[i] return values of B source, ignoring the m parameter.
...
Reported in bug 734 by Stefan.
2025-05-24 11:00:32 +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
c8dc858f9e
use effective gate voltage
2025-05-24 10:59:39 +02:00
dwarning
3da74cacb6
VDMOS: use effektive Gatespannung for mobility reduction of Beta
2025-05-24 10:59:28 +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
1b40f0d444
initializeLimiting -> iniLim, reorder sim_params for faster OSDI device evaluation.
2025-05-24 10:57:46 +02:00
Árpád Bűrmen
d659943d77
Per-device load timing support.
2025-05-24 10:56:33 +02:00
Holger Vogt
7ecb5a5d45
Add some more debug output.
2025-05-24 10:56:03 +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
1a1d2558e8
We are developing towards ngspice-45
2025-05-24 10:50:59 +02:00
Holger Vogt
80d22fc802
Prepare the bug-fix release 44.2
2025-01-11 11:55:56 +01:00
dwarning
a6d6a07f79
S to Z matrix conversion by formula instead of Y inversion
...
low limiting Rn and Cy to prevent division by 0, fix provided by Alessio Cacciatori
there are still problems in Z matrix conversion in specific networks
2025-01-11 09:22:15 +01: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
Holger Vogt
e0a7d821e9
Notes go to stdout, not stderr
2025-01-09 13:21:52 +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