Commit Graph

9303 Commits

Author SHA1 Message Date
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
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 c5d6d78fc5 Add gcc warning -Wshadow 2025-08-28 12:15:13 +02:00
Brian Taylor 0e50efc1fa Add missing value in the last line.
FIXME: we need to check the input for having adequate columns
2025-08-28 12:14:50 +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
Holger Vogt 6496c5a8db Prepare for ngspice-45 2025-08-10 16:43:25 +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