Commit Graph

  • 67fbaa9e6a Make the name of the added voltage source more verbose (to avoid already existing source names). pre-master-47 Holger Vogt 2026-06-12 17:38:07 +0200
  • 1ff2ae384e Fix Bug #775 - "Missing LDFLAGS in vlnggen", and add an option (-stc c++14) that was needed in testing on Windows. Giles Atkinson 2026-06-09 11:15:28 +0100
  • aca07bbe6d Feature Request 72 - "Printing hidden errors to terminal" suggests showing errors in XSPICE code model support functions by default. But errors may occur routinely and be handled by code. To aid developers, setting variable "noisyxspice" will display the messages. Giles Atkinson 2026-05-07 18:54:12 +0100
  • 65b0133591 Add new capabilities to the adc/dac_bridge XSPICE code models. If either bridge has a single analog connection and two or more digital connections it will act as a conventional multi-bit ADC or DAC. When the low threshold is higher than the high threshold, adc_bridge acts as a Schmitt trigger. Giles Atkinson 2024-11-04 18:24:04 +0000
  • 34cf37e190 Simplify adc_bridge, also removing excess white space. Giles Atkinson 2024-10-07 09:54:03 +0100
  • 3db9f132a2 New behavioral capacitor model: - Replace E source by G source with parallel resistor to improve convergence. - Add parallel resistor to avoid floating nodes - Reduce refecrence C to 1u (and thus the max. current). Holger Vogt 2026-06-12 16:43:58 +0200
  • ebdcdebc6d Fix Bug #775 - "Missing LDFLAGS in vlnggen", and add an option (-stc c++14) that was needed in testing on Windows. ga_dev Giles Atkinson 2026-06-09 11:15:28 +0100
  • aedd8fc2a2 Feature Request 72 - "Printing hidden errors to terminal" suggests showing errors in XSPICE code model support functions by default. But errors may occur routinely and be handled by code. To aid developers, setting variable "noisyxspice" will display the messages. Giles Atkinson 2026-05-07 18:54:12 +0100
  • b649ab78b9 Add new capabilities to the adc/dac_bridge XSPICE code models. If either bridge has a single analog connection and two or more digital connections it will act as a conventional multi-bit ADC or DAC. When the low threshold is higher than the high threshold, adc_bridge acts as a Schmitt trigger. Giles Atkinson 2024-11-04 18:24:04 +0000
  • 5a53a2ecd2 Simplify adc_bridge, also removing excess white space. Giles Atkinson 2024-10-07 09:54:03 +0100
  • 65fb8e245b Prepare for ngspice-47 Holger Vogt 2026-06-09 22:38:13 +0200
  • 21907e5bf7 Add error message if scale and data vector lengths do not match Holger Vogt 2026-06-09 17:57:39 +0200
  • 5228de8325 Define a pre-processor flag HCI_FS1 set and used to identify the model specific code. hv_degradation_integrated_4 Holger Vogt 2026-06-09 11:47:19 +0200
  • 3d02373664 DEVpred() of charge node needs state vector update before dwarning 2026-06-09 08:08:41 +0200
  • f395bc49b2 Update the copyright notice Holger Vogt 2026-06-08 22:41:46 +0200
  • cb50f46129 Add variable deginstance to select between subcircuit model and instance model for MOS transitor under degradation. Holger Vogt 2026-06-08 20:37:37 +0200
  • 461ab8c46a Replace lengthy call to CKTcircuit by new TSTOP and TSTEP macros Holger Vogt 2026-06-07 19:22:40 +0200
  • 007453ef89 Set TSTEP and TSTOP also when MIF_DC, as this is needed when initialising a code model during op before a tran sim. Holger Vogt 2026-06-07 19:21:19 +0200
  • 018577ac92 Remove compiler warning Holger Vogt 2026-05-25 17:57:37 +0200
  • a9192c6888 Add missing } Holger Vogt 2026-05-25 17:57:18 +0200
  • 6af77571e6 To achieve convergence, 1 Ohm resistor on source side for current measurement, 1 Ohm resistor in series to gate node with parallel current source. Holger Vogt 2026-05-25 16:12:18 +0200
  • 5dd666d5b0 Replace B source by F source (CCCS) Holger Vogt 2026-03-10 12:53:15 +0100
  • aa2389bc88 tentative sign error t.b. checked in detail Holger Vogt 2026-02-28 17:26:49 +0100
  • ee4f42aba9 Select deg per instance Holger Vogt 2026-02-28 17:26:22 +0100
  • 33e1735a21 Re-enter option to compile with subcircuit support instead of delvto and factuo. Holger Vogt 2026-02-20 13:46:53 +0100
  • cd313c2ea0 Negative output in case of PMOS Holger Vogt 2026-02-20 13:44:19 +0100
  • 1ee936cce1 Add variables deg_tfuture deg_limits to allow users setting lower limits of deg parameters and the extrapolation time in .spiceinit. Holger Vogt 2026-02-19 11:42:07 +0100
  • fbc74467ba Typos Holger Vogt 2026-02-19 11:40:20 +0100
  • d79d2555f6 PMOS and ring oscillator degradation examples Holger Vogt 2026-02-18 14:54:26 +0100
  • 1a8f9621ea Fix a bug in the extrapolation formula: NMOS and PMOS degradations are o.k. now! Holger Vogt 2026-02-18 14:52:23 +0100
  • d7758d46c4 Comments improved Holger Vogt 2026-02-18 13:54:00 +0100
  • b82fb5c58a Copyright extended to 2026 Holger Vogt 2026-02-18 13:31:50 +0100
  • 6cfa3dcb40 Some comments added Holger Vogt 2026-02-18 11:15:08 +0100
  • 46c52a5436 Add command 'plainsim' to example. Holger Vogt 2026-02-17 15:47:38 +0100
  • c2e306333e Add parameter 'type' to .agemodel data to determine if NMOS or PMOS. Still the model name is scanned for _pmos or _nmos, but as this is IHP specific, type will be available as well. Holger Vogt 2026-02-17 15:47:07 +0100
  • fb17cf1f39 Add 'factuo' as redundandant synonym to 'mulu0' to enable degradation simulation with BSIM3 and BSIM4. Holger Vogt 2026-02-17 12:53:10 +0100
  • 08d6efea51 Compatmode 'de' to control all degradation sim procedures. Differentiate between commands degsim: remove circuit, reload from storage, remove deg monitors, add instance deg parameters, used to prepare for simulation with degraded devices, and plainsim: remove circuit, reload from storage, remove deg monitors, no change to instances instance used to prepare for plain simulation without degradation. Holger Vogt 2026-02-16 21:37:21 +0100
  • 9f6df24505 Add a command 'plainsim': Throw out the circuit struct, recreate it from the local storage, remove the deg monitors, no change to device instances. Holger Vogt 2026-02-16 21:32:39 +0100
  • 79848e5666 Add printout of number of degraded devices Switch from adding extra B and V sources to using instance parameters delvto and factuo. Availability with BSIM4 has to be checked! Holger Vogt 2026-02-15 00:48:30 +0100
  • c41aa13d88 Add a limit 1e-6 to the degradation parameters, otherwise set to 0 Remove debug printout Holger Vogt 2026-02-15 00:45:40 +0100
  • 86fc365db1 Add version with truncated models to debug-out3.txt Holger Vogt 2026-02-15 00:44:29 +0100
  • 92d70544c7 Add function to delete the result hash table. Not yet used. Holger Vogt 2026-02-14 12:34:20 +0100
  • 7eb805183b tiny update Holger Vogt 2026-02-14 12:32:50 +0100
  • 582559295d Single NMOS degradation Holger Vogt 2026-02-13 17:03:21 +0100
  • bb013eef4e Function add_degmodel() adds the degradation model to the netlist Add a 0 voltage source between internal and external source for current measurement. Add a B source parallel to drain and source for current reduction. Use the mean of d_idlin (result[1]) and d_idsat (result[2]) as proportional factor to current. Add a voltage source between external and internal gate to apply dlt_vth shift from result[0] Holger Vogt 2026-02-13 16:59:06 +0100
  • dbe0f704ed If transistor instance is at top level, there will be no colon in the model name. Holger Vogt 2026-02-13 16:56:00 +0100
  • d6b4ef5913 Move setting up OMP from CKTsetup() to inp_readall(). Add a check for abvailable logical CPU cores, and use half of them as default. Holger Vogt 2026-02-11 20:15:57 +0100
  • a5cb0d585c Use hash table modtabhash for finding model instead of linked list modtab. This speeds up parsing of (a large number of) code models enormously. Holger Vogt 2026-02-11 20:13:13 +0100
  • d5c062d9cb Code model: Put the monitored degradation data onto the heap and into the hash table. prepare_degsim(): Re-read the netlist, remove the monitors, get the device instance name. Retrieve the degradation data from the result hash table. Holger Vogt 2026-02-09 17:01:19 +0100
  • bb6a28a6b9 Add a command 'degsim' to reset the circuit, remove the monitors, and add the degradation model to each degraded device. Use function preparedegsim() to add the model with parameters from degdatahash. Holger Vogt 2026-02-08 15:47:04 +0100
  • e4f912718f Add a hash table to store the degradation monitor results per instance. Holger Vogt 2026-01-29 23:19:58 +0100
  • 13fc973d01 Add global has pointer for degradation data storage per instance, inizialse it. Holger Vogt 2026-01-26 16:16:15 +0100
  • 99e31de957 Don't read .agemodel, if newcompat.de is not set. Holger Vogt 2026-01-26 16:15:01 +0100
  • fa2a60e8f5 Replace '[' and ']' by '@' Required by code model parsing, when [ or ] are part of instance or node name. Holger Vogt 2026-01-26 14:12:51 +0100
  • d2918bab66 Add non-nqs PSP model Holger Vogt 2026-01-14 12:05:26 +0100
  • 8f9ecc7c32 Add device type (nmos, pmos), derived from model name. Invert PMOS voltages (pmos still in error though). Output monitor now watches id_lin integral. Holger Vogt 2025-12-08 15:16:55 +0100
  • 627fb50516 Improve error message Holger Vogt 2025-12-08 15:14:22 +0100
  • 711c273b30 artificially set A_d_idsat from 0 to 0.001 Holger Vogt 2025-12-08 15:13:49 +0100
  • 8acdd1e426 typo 10 years degradation integration Holger Vogt 2025-12-07 23:03:00 +0100
  • 9ee9afa48a example netlist: 3 inverters in series Holger Vogt 2025-12-07 17:13:42 +0100
  • d267cd7b4a New title Holger Vogt 2025-12-07 17:06:43 +0100
  • e61e902ca9 more descriptions into README Holger Vogt 2025-12-07 17:06:27 +0100
  • bb6c4e3cdd Add a README for the degradation monitor Holger Vogt 2025-12-07 16:01:43 +0100
  • b90879a0b9 Adding degradation monitors Holger Vogt 2025-11-01 15:04:49 +0100
  • 5387c8e609 Enable using hashtables also for compiling with gcc. Holger Vogt 2025-09-28 21:47:31 +0200
  • 5eef90103b 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. Holger Vogt 2025-09-28 21:46:49 +0200
  • 39aa1ec1be Read the hash table with the aging model parameters. Store the data in the static loc parameters used during function evaluation. Holger Vogt 2025-09-28 15:51:25 +0200
  • f149f7a506 Add a hash table paramhash to store the .agemodel model parameters. Holger Vogt 2025-09-28 15:44:31 +0200
  • c511f44cd0 Enable compiling hash.c as part of a code model shared library. Holger Vogt 2025-09-28 15:42:59 +0200
  • d2e41568db getdata() Add model selection Add preliminary parameter selection (still requires the correct sequence of parameters). Holger Vogt 2025-09-24 16:47:50 +0200
  • ce1be7639f Remove now unused parameters Holger Vogt 2025-09-24 16:44:04 +0200
  • b164448e24 Specify static locdata containing constfac, sintegral and prevtime instead of individual data. Holger Vogt 2025-09-16 16:34:11 +0200
  • bd6b0be4a3 Add function cm_get_deg_params(void) to obtain the set of gegeneration model püarameters stored in struct agemods. Holger Vogt 2025-09-16 12:39:21 +0200
  • 5827715db1 simple netlist example with agemodel data. Holger Vogt 2025-09-13 17:57:44 +0200
  • 48cbcfe3db Read the agemodel data, put them into global array agemods Holger Vogt 2025-09-13 17:56:39 +0200
  • d263fba97e Always call the function. Inside it will be decided, depending on not having ngbehavior=de, to disregard the agemodels. Holger Vogt 2025-09-13 17:54:25 +0200
  • e74b7e67f4 Add function readdegparams in file inpdeg.c Holger Vogt 2025-08-27 23:56:44 +0200
  • 95f9638045 remove debug messages Holger Vogt 2025-08-27 23:55:56 +0200
  • 775c14e9c8 make parameter l lower case, add parameter 'file' Holger Vogt 2025-08-27 23:55:19 +0200
  • 1bca7095c8 Add a compatibility mode 'de' for degradation simulation. Holger Vogt 2025-08-25 10:59:02 +0200
  • 5af898f2fb Add INSTNAME and INSTMODNAME to code model macros Holger Vogt 2025-08-20 19:42:14 +0200
  • 1b1a8d6f15 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. Holger Vogt 2025-08-16 15:40:43 +0200
  • 1cad3f0085 Use real parameters as default (NMOS 0.13 saturation) Holger Vogt 2025-08-16 15:27:30 +0200
  • ef63c61521 Add degradation monitor code model to extradev Holger Vogt 2025-08-16 09:26:24 +0200
  • f2805e15fb Add two macros TSTEP and TSTOP to XSPICE Holger Vogt 2025-08-16 09:24:45 +0200
  • fad198de7b Improve the error messages when reading a state file. Bail out when the read has not been successfull. Holger Vogt 2026-06-06 16:15:24 +0200
  • 58c312f733 Add MODEDCTRANCURVE to enable returning capacitance upon dc sweep. Exclude integration if MODEDCTRANCURVE is active (forward, self-heat and reverse diode).. Holger Vogt 2026-06-06 14:36:06 +0200
  • 2a0a3ab403 Add MODEDCTRANCURVE to enable returning capacitance upon dc sweep. Exclude integration if MODEDCTRANCURVE is active. Holger Vogt 2026-06-06 14:34:52 +0200
  • ae06dfe978 No integration, if dc sweep is to return cpacitances Holger Vogt 2026-06-06 14:33:05 +0200
  • 88e94b26c4 Reset ckt->CKTag[0] and ckt->CKTag[1] upon successful return from transient simulation. Holger Vogt 2026-06-03 16:40:45 +0200
  • 507351ae01 A digital NAND gate 9-stage ring oscillator (less than 30ms simulation time) Holger Vogt 2026-06-06 14:26:25 +0200
  • b1717822d2 Revert "A digital NAND gate 9-stage ring oscillator (less than 30ms simulation time)" Holger Vogt 2026-06-06 12:46:43 +0200
  • 2ef046704e A digital NAND gate 9-stage ring oscillator (less than 30ms simulation time) Holger Vogt 2026-06-03 16:40:45 +0200
  • 72620328a1 Excluded integration during self-heating as well. Holger Vogt 2026-06-01 19:48:50 +0200
  • d029ed02db Diode: No integration if dc sweep, but keep calculating capacitances Holger Vogt 2026-06-01 11:02:45 +0200
  • 973b6b6d49 No integration if dc sweep, but keep calculating capacitances Holger Vogt 2026-05-31 15:57:26 +0200
  • 02aa3418c7 Added a text file that explains the 2 modifications I made. jfisher/osdi-fixes Justin Fisher 2026-05-27 10:21:34 +0200
  • 009900c27a Add pre_osdi alias and set sourcepath case preservation Justin Fisher 2026-05-02 22:29:52 +0200
  • e53325583b Don't check for tperiod, which is not used when the distributed pulse is applied. Holger Vogt 2026-05-26 16:02:36 +0200
  • 037b6578f8 gain cell as an example for the declarative small signal noise approach master Holger Vogt 2026-05-24 09:58:53 +0200