Commit Graph

9317 Commits

Author SHA1 Message Date
dwarning 94871f92a3 count level=3 model poly and metal capacitance in charge calculation normal operation 2025-09-23 18:19:01 +02:00
dwarning 6d1a54523f count level=3 model poly and metal capacitance in charge calculation and correct xoi and xom units to Angstrom 2025-09-23 17:33:55 +02:00
dwarning 5afd1c53c0 add diffusion capacity to ac relevant capacitor 2025-09-22 18:37:18 +02:00
dwarning f4e50bd994 complete KLU bindings 2025-09-22 16:18:08 +02:00
dwarning e782b884cf first trial KLU bindings 2025-09-22 15:54:05 +02:00
dwarning 1adcec9c7d add device informations 2025-09-22 14:30:10 +02:00
dwarning 8caa85f6f0 first trial for ac implementation 2025-09-21 19:46:05 +02:00
dwarning b5232a50cb reverse recovery: safe guard against VP=0 2025-09-21 16:31:44 +02:00
dwarning 5dbb153188 simplify branch condition 2025-09-21 08:32:43 +02:00
dwarning b89f38b972 formatting 2025-09-21 08:19:36 +02:00
dwarning 1ac6c7bbe8 add modification notice 2025-09-21 07:55:08 +02:00
dwarning 2f7f5996ac Merge commit 'fef64ab241973fb5b937777c904649a31b52d6c3' into pre-master-46
Basic load routine with soft recovery model from A. Buermen
2025-09-20 16:14:40 +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
Árpád Bűrmen fef64ab241 Diode soft recovery demo. 2025-09-19 08:18:51 +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
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