dwarning
3281d0798a
correct rthca connection
2025-11-08 09:13:16 +01:00
dwarning
600ff13796
Revert "Remove instance parameter temp. To specify offset to ambient temperature use dtemp instead."
...
This reverts commit 3340df46ca .
2025-10-26 08:34:34 +01:00
dwarning
ddfb52d134
Revert "correct and simplify temp derivatives"
...
This reverts commit a6590d354f .
2025-10-26 08:33:58 +01:00
Holger Vogt
6fc75e636c
Fix a bug.
2025-10-25 15:40:37 +02:00
Holger Vogt
f8036c5363
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)
2025-10-25 15:37:08 +02:00
dwarning
a6590d354f
correct and simplify temp derivatives
2025-10-24 09:37:34 +02:00
dwarning
3340df46ca
Remove instance parameter temp. To specify offset to ambient temperature use dtemp instead.
...
Remove temp update double application for beta and series resistances and fix derivatives for selfheating model.
2025-10-22 18:21:49 +02:00
Holger Vogt
4560fce4af
make nthreads local
2025-10-21 22:18:12 +02:00
Holger Vogt
b8325efe24
Improve comments
2025-10-21 22:17:35 +02:00
Holger Vogt
d5ef8a3660
Remove all entries connected to IPC, an outdated (>30 years)
...
method to link ngspice to a now defunct controller (ATESSE).
2025-10-21 11:18:22 +02:00
Holger Vogt
8e0622434f
Improve comments, add note to user.
2025-10-20 16:07:19 +02:00
Holger Vogt
b260b4bc27
Entries to old CLUSTER code removed.
2025-10-19 22:27:21 +02:00
Holger Vogt
cbd3772519
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).
2025-10-18 15:40:02 +02:00
Giles Atkinson
8471e0902c
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.
2025-10-17 17:43:45 +02:00
Holger Vogt
891ec865f6
Another update on comments
2025-10-17 17:31:12 +02:00
Holger Vogt
d676fc34f8
Small update on comments.
2025-10-15 23:59:01 +02:00
Holger Vogt
082b31018b
document the goto labels.
2025-10-15 22:59:28 +02:00
Holger Vogt
f929b0c9b3
Remove all entries related to CLUSTER,
...
an old, never finished attempt to run transient in parallel.
2025-10-15 22:44:24 +02:00
Holger Vogt
e168df83fb
Update on comments.
2025-10-15 22:35:04 +02:00
Holger Vogt
83897d8474
Add perror() to fopen: more info for user.
2025-10-15 17:58:10 +02:00
Holger Vogt
1390e577fa
Improve error messages.
2025-10-15 17:37:14 +02:00
Holger Vogt
a1de300a82
Add breakpoints to achieve quadratic smoothing.
...
Shift 50%-detection for breakpoints into the INIT section,
to do it only once.
2025-10-10 20:44:21 +02:00
Giles Atkinson
172fb6d668
Fix Bug 817 - "Global models are not visible from with subcircuits".
...
Remove code that can miscount the number of nodes to be renamed.
2025-10-08 18:19:17 +01:00
Holger Vogt
bbceec30d0
Re-enable warning note when rusage xxx is not implemented.
2025-10-07 15:36:27 +02:00
Holger Vogt
236967a21e
Improve error message: add source type
2025-10-06 17:30:38 +02:00
Holger Vogt
8585383654
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.
2025-10-06 17:07:27 +02:00
Holger Vogt
fafb8cc272
Improve on truncation when printing out the .model lines during debug-out
2025-10-04 19:59:19 +02:00
Holger Vogt
875aaaf530
Add info for line source
2025-10-04 19:58:22 +02:00
Holger Vogt
cec426292f
Improve reading the source code sequence by extra comments:
...
While searching for 'Parsing the circuit', the sequence of major
functions is revealed.
2025-10-03 15:45:47 +02:00
Brian Taylor
7ab6c6f4af
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.
2025-10-03 15:43:03 +02:00
Brian Taylor
4f5c23ba44
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.
2025-10-03 15:42:58 +02:00
dwarning
931e223493
correct init state vector for qth integration
2025-09-25 17:09:33 +02:00
Holger Vogt
c5dd1bd379
Typo
2025-09-23 22:57:48 +02:00
dwarning
2a5f9e3ba8
correct xoi and xom defaults to Angstrom and clarify comments
2025-09-23 17:02:42 +02:00
dwarning
1921d64163
count level=3 model poly and metal capacitance in charge calculation
2025-09-23 16:47:52 +02:00
Brian Taylor
6619b7265e
Fix memory leaks in INPpas4 and get_number_terminals found using paranoia_parallel.
2025-09-21 22:44:12 +02:00
Holger Vogt
daf687a680
Add short description of code model
2025-09-21 16:23:35 +02:00
Holger Vogt
b8357edddc
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.
2025-09-21 15:52:51 +02:00
Holger Vogt
144f1c6fc6
Improve the error message by naming the port
2025-09-21 11:55:39 +02:00
Holger Vogt
adcc1de2fb
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)
2025-09-19 16:54:56 +02:00
Holger Vogt
537116424f
add new function gettok_node_br which adds braces { } on its list
...
of ignored characters.
2025-09-19 16:53:11 +02:00
Holger Vogt
91c5fe7926
Cosmetics: Indentation
2025-09-17 14:46:18 +02:00
Holger Vogt
aadd12965b
Enable plain expression instead of only a number for area
...
in bipolr device instances.
2025-09-17 10:15:42 +02:00
dwarning
8b9047ed8a
remove obsolete bracket
2025-09-16 18:44:51 +02:00
dwarning
056ca890fd
remove old commented strncmp version check code
2025-09-16 18:33:55 +02:00
dwarning
f314e2b41c
Merge commit '683e208d87f431eb175a368d63dc10f2311a7bf7' into pre-master-46
...
Fixes in BSIM4 4.8.3 contributed by A. Buermen
2025-09-16 17:58:21 +02:00
Holger Vogt
2b1dc09caf
Improve detection of the number of terminals for bipolar devices.
...
Fixes bug no. 807.
2025-09-16 15:08:34 +02:00
Árpád Bűrmen
683e208d87
BSIM4 version 4.8 is considered to be the latest, i.e. 4.8.3.
2025-09-16 13:37:50 +02:00
Árpád Bűrmen
c6a6bd9edb
Scaling of NQS charge deficit with mult_q.
2025-09-15 12:04:44 +02:00
Árpád Bűrmen
06b73b4056
ceqqjd, ceqqjs should be scaled with mult_q.
...
This fixes erratic simulation behavior when
mult_i != mult_q.
2025-09-15 10:30:18 +02:00
Árpád Bűrmen
535e22a502
Fixed a bug causing mult_* factors to get scaled at each setup().
2025-09-15 10:23:11 +02:00
Holger Vogt
8249142506
Spelling
...
Found by Lintian, patches provided by C. Schoenert
2025-09-13 12:18:05 +02:00
Árpád Bűrmen
740670805e
Check if toxp+dtox!=toxe with double precision tolerance.
2025-09-12 10:10:48 +02:00
Árpád Bűrmen
e4aa062156
icvgs, icvds, icvbs exposed as BSIM4v8 parameters.
2025-09-12 10:04:52 +02:00
Árpád Bűrmen
5900f70438
Fast version checks in BSIM4.
2025-09-12 10:04:29 +02:00
Brian Taylor
57dd3342ef
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.
2025-09-08 23:33:41 +02:00
Holger Vogt
aa3ab5bc25
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-06 17:47:21 +02:00
Holger Vogt
4693173d37
Revert "Fix a bug in the Windows Builds:"
...
This reverts commit ecb288138f .
2025-09-06 17:46:50 +02:00
Holger Vogt
a754cc187b
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.
2025-09-04 00:25:26 +02:00
Holger Vogt
ecb288138f
Fix a bug in the Windows Builds:
...
With commit
80d6e681f ("MS Windows: Get a canonical paths name: Important if path length exceeds MAX_PATH, might happen when using PDKs", 2025-04-12)
the newly introduced function get_windows_canonical_path() does not do the
right thing when the path name is only a simple file name. Then internally
used function GetFullPathNameW() then will prepend the current directory to the
file name, which may be simply wrong.
2025-09-04 00:03:25 +02:00
Holger Vogt
0e8cc00070
We are developing towards ngspice-46
2025-09-02 17:07:07 +02:00
dwarning
b19f5ca4c3
bsim4: unify error printout
2025-09-02 11:40:11 +02:00
dwarning
ecac7a07a2
bsim4: reimplement mobility and binning extension
2025-09-02 11:15:38 +02:00
dwarning
82bf2169b1
reply commit e5c162f1: dc sweep fails after transient sim
2025-09-02 10:10:33 +02:00
dwarning
a97dcda62b
prevent warning if NOBYPASS is not defined
2025-09-02 09:50:20 +02:00
dwarning
32c50aa254
adapt instance parameter extension to new bsim4 multiplier concept
2025-09-02 09:44:16 +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