dwarning
e1afc5cf09
KLU bindings for separate sw diode only if sw resistor is given
2025-12-19 14:07:47 +01:00
Holger Vogt
9fef242c50
Update comment to cktnumstates
2025-12-19 12:56:11 +01:00
dwarning
4f9fb4c641
Diode model level=2 (Fowler-Nordheim) is not supported.
2025-12-11 10:43:07 +01:00
Holger Vogt
83e2b284f3
Add missing function prototypes
2025-12-03 23:03:42 +01:00
dwarning
c1acc44a55
This fixed #822 diode discontinuity problem
...
Base recombination current appears in reverse and breakdown region too.
2025-12-02 20:35:43 +01:00
dwarning
284d4308db
Add optional switch for separate bottom and sidewall diode model - configuration is dependent from model parameter RSW
...
Further sidewall knee current parameter IKP is implemented.
2025-11-27 16:21:31 +01:00
Holger Vogt
f8d341b05a
Re-formatting
2025-11-24 14:02:42 +01:00
Holger Vogt
9cfbb2bc8c
Add a comment
2025-11-23 10:37:47 +01:00
dwarning
7f75f09ecd
general vdmos update
2025-11-20 15:09:04 +01:00
Holger Vogt
d93a11b8ea
Remove unused functions from the IFfrontEnd struct.
2025-11-17 23:56:50 +01:00
Holger Vogt
f1baefd932
Remove a double entry
2025-11-17 18:41:12 +01:00
Holger Vogt
c0bc939ed0
Enable guessing the vector type or SP analysis in batch mode.
2025-11-17 14:12:42 +01:00
Holger Vogt
051043a70a
Remove variable and flag 'use_numparams'.
...
Not using numparam has not been a supported option for the last 20 years.
2025-11-16 12:12:48 +01:00
Holger Vogt
b3eb6b12fe
Try to equalise the last two time steps before a breakpoint,
...
if the second step would be smaller than CKTdelta otherwise.
2025-11-15 19:50:04 +01:00
Holger Vogt
95b8cee898
Using cbrt() instead of exp(log...) might be more efficient
2025-11-15 19:49:07 +01:00
dwarning
55e4f5377f
VDMOS: apply m scaling fix for acld as well
2025-11-15 09:50:51 +01:00
Árpád Bűrmen
8d26e8b2cb
VDMOS scaling fixed.
2025-11-14 09:34:57 +01:00
Árpád Bűrmen
807ff2b90c
Minor change in VDMOS that helps VADistiller.
2025-11-14 09:34:57 +01:00
Holger Vogt
c0d92ebd96
Update to commit
...
172fb6d66 ("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)
Keep checking for x lines with nesting. This re-enables
simulating large cxircuits (e.g. SRAMs) with deeply nested
subcircuit calls.
2025-11-12 11:23:24 +01:00
Holger Vogt
0a7ad07cc0
Add a variable 'debug-out-short' to enable a shortened debug-out.txt,
...
useful when large circuits are monitored, which otherwise may result
in GigaBit size of data.
2025-11-12 11:21:13 +01:00
dwarning
8c3d4d7990
vdmos convtest needs type for vd - load hack not needed anymore
2025-11-10 15:17:56 +01:00
dwarning
420838e4e8
vdmos: in case temp and dtemp is given - use dtemp and omit temp
2025-11-09 08:21:45 +01:00
dwarning
9802c7d0c6
correct gate and source resistor temperature update
2025-11-08 21:15:32 +01:00
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