Commit Graph

9322 Commits

Author SHA1 Message Date
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 20561d309d 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.
2026-02-03 13:54:58 +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 d61a1e4090 Prepare for ngspice-45 2025-08-29 15:50:25 +02:00