Giles Atkinson
990c17ae64
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-16 18:04:46 +01: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
0a739f6b76
Remove files that are remade anyway.
...
Makefile.in prescribed using aclocal 1.16. The fix removes any
dependency on the autotool version.
Fixing bug 806.
2025-09-07 18:49:22 +02:00
Holger Vogt
434863651e
Updated as it is on master
2025-09-07 18:46:21 +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
d61a1e4090
Prepare for ngspice-45
2025-08-29 15:50:25 +02:00