Commit Graph

9307 Commits

Author SHA1 Message Date
Holger Vogt 76b85ff556 Add device type (nmos, pmos), derived from model name.
Invert PMOS voltages (pmos still in error though).
Output monitor now watches id_lin integral.
2025-12-08 15:16:55 +01:00
Holger Vogt 573b9ae25f Improve error message 2025-12-08 15:14:22 +01:00
Holger Vogt 98fbce6664 artificially set A_d_idsat from 0 to 0.001 2025-12-08 15:13:49 +01:00
Holger Vogt 7991aff328 typo
10 years degradation integration
2025-12-07 23:03:00 +01:00
Holger Vogt b83e6393bb example netlist: 3 inverters in series 2025-12-07 17:13:42 +01:00
Holger Vogt cd6caadfa1 New title 2025-12-07 17:06:43 +01:00
Holger Vogt 470c7900fd more descriptions into README 2025-12-07 17:06:27 +01:00
Holger Vogt 4d004eb820 Add a README for the degradation monitor 2025-12-07 16:01:43 +01:00
Holger Vogt 21fbffbccf Adding degradation monitors 2025-11-01 15:04:49 +01:00
Holger Vogt e2046ae7c9 Enable using hashtables also for compiling with gcc. 2025-09-28 21:47:31 +02:00
Holger Vogt 506f095743 Add a pre-processor flag XSPICECM during compilation of the
xtradev code models. This allows some settings in hash.c, e.g.
replacing fprintf functions not available in a code model.
2025-09-28 21:46:49 +02:00
Holger Vogt a3fd5c160c Read the hash table with the aging model parameters.
Store the data in the static loc parameters used
during function evaluation.
2025-09-28 15:51:25 +02:00
Holger Vogt ed4071cf11 Add a hash table paramhash to store the .agemodel model parameters. 2025-09-28 15:44:31 +02:00
Holger Vogt 90ac209db6 Enable compiling hash.c as part of a code model shared library. 2025-09-28 15:42:59 +02:00
Holger Vogt dc6e04cdf4 getdata()
Add model selection
Add preliminary parameter selection (still requires the correct
sequence of parameters).

Do three calculations for dlt_vth, d_idlin, and d_idsat
Error messages added.
2025-09-24 16:47:50 +02:00
Holger Vogt aaddd79deb Remove now unused parameters 2025-09-24 16:44:04 +02:00
Holger Vogt 31802fe904 Specify static locdata containing constfac, sintegral and prevtime
instead of individual data.
2025-09-16 16:34:11 +02:00
Holger Vogt 88caa08470 Add function cm_get_deg_params(void) to obtain the set
of gegeneration model püarameters stored in struct agemods.

Re-sort the parameters in ifspec.ifs (preliminary)

Use cm_get_deg_params() to obtain the model parameters in cfunc.mod
2025-09-16 12:39:21 +02:00
Holger Vogt 30ce3bb365 simple netlist example with agemodel data. 2025-09-13 17:57:44 +02:00
Holger Vogt b34abfd690 Read the agemodel data, put them into global array agemods 2025-09-13 17:56:39 +02:00
Holger Vogt 778e46f50f Always call the function.
Inside it will be decided, depending on not having ngbehavior=de,
to disregard the agemodels.
2025-09-13 17:54:25 +02:00
Holger Vogt 18bb9175b4 Add function readdegparams in file inpdeg.c 2025-09-13 15:01:28 +02:00
Holger Vogt 5dc913d73a remove debug messages 2025-09-13 15:01:20 +02:00
Holger Vogt d740f82f7d make parameter l lower case, add parameter 'file' 2025-09-13 15:01:01 +02:00
Holger Vogt 29fda48618 Add a compatibility mode 'de' for degradation simulation. 2025-09-13 15:00:50 +02:00
Holger Vogt 404079d8f4 Add INSTNAME and INSTMODNAME to code model macros 2025-09-13 15:00:40 +02:00
Holger Vogt 1fcfa51dea Scale function for *constfac, scale Boltzmann.
Add *prevtime to allow checking for final time, and to
avoid double acces to deg evaluation.
Add missing parameter L.
If other than 4 nodes, bail out.
2025-09-13 15:00:31 +02:00
Holger Vogt bc7197c71d Use real parameters as default (NMOS 0.13 saturation) 2025-09-13 15:00:22 +02:00
Holger Vogt 47a7aac050 Add degradation monitor code model to extradev 2025-09-13 15:00:06 +02:00
Holger Vogt f1e234aa49 Add two macros TSTEP and TSTOP to XSPICE 2025-09-13 14:59:55 +02: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