Commit Graph

  • f7ef88b637 Diode soft recovery model based on the idea of A. Buermen with iterated charge node for diffusion charge and model parameter Vp. Small simplifications in AC model and capacitance reporting are made. No self-heating for this effect. Pole-Zero and distortion analysis is not implemented for this model extension. pre-master-46 dwarning 2026-03-14 12:03:49 +0100
  • 08947ea00a reduce state vector and some cleanings dw_diode_rev_rec dwarning 2026-03-14 11:15:44 +0100
  • 2fae71033a correct authorship dwarning 2026-03-13 14:28:30 +0100
  • a61fee4aa3 diode fix current reporting for soft recovery model dwarning 2026-03-11 18:42:37 +0100
  • 0937dd4cec Diode soft recovery model based on the idea of A. Buermen with iterated charge node for diffusion charge and model parameter Vp Few simplifications in AC model and capacitance reporting are made and self heating is not implemented for this model extension. dwarning 2026-03-11 17:00:37 +0100
  • 7d808f991e Update 2 to warning messages if osdi or code model files cannot be loaded Holger Vogt 2026-03-10 23:24:15 +0100
  • 2301d2e6aa Update to warning messages if osdi or code model files cannot be loaded Holger Vogt 2026-03-10 23:21:59 +0100
  • 1c0bc1d5c9 make fft scaling independent from rounding behaviour for odd data geraldfournier 2026-03-06 16:34:20 +0100
  • 32e0d5f12f Revert "make fft scaling independent from rounding behaviour for odd data" Holger Vogt 2026-03-06 16:31:29 +0100
  • a31ac54200 make fft scaling independent from rounding behaviour for odd data dwarning 2026-03-05 09:30:55 +0100
  • b522bcc6c0 correct Nyquist bin scaling for Green branch dwarning 2026-03-03 20:39:08 +0100
  • 5458f15d6b Merge branch 'pre-master-46' of ssh://git.code.sf.net/p/ngspice/ngspice into pre-master-46 dwarning 2026-03-03 18:33:16 +0100
  • ad44b4ff4c let nyquist bin not empty for odd vector dwarning 2026-03-03 18:32:32 +0100
  • 5855c442e1 FM and FC exchange place in the parameter sequence of SFFM voltage and current source, to become compatible with standard SPICE. Fixes bug 832. Holger Vogt 2026-03-03 16:16:58 +0100
  • a0dc0bb608 Special Nyquist scaling only for even length dwarning 2026-03-03 09:55:57 +0100
  • 6ae057b3ea revert commit 5e82b63 dwarning 2026-03-03 08:54:03 +0100
  • 8639a053a3 Enable linearizing all vectors, when none is given, with or without np statement. Holger Vogt 2026-03-02 15:56:11 +0100
  • bfe496937e Add patch for span to add a time slot. Holger Vogt 2026-02-28 16:19:05 +0100
  • ee347262b5 Do not give up when non-existing fft window is chosen, but issue a message and go on. Holger Vogt 2026-02-28 16:17:43 +0100
  • c4fc026af9 Add command 'linearnp np=1024 vec1 vec2' linearises tran output on given number of time points. If none is given, 2^n new points are chosen, next to but smaller than original number of time points. Holger Vogt 2026-02-28 16:15:28 +0100
  • d2b1ecbb23 correct fft scaling at Nyquist freq. in fft cmd and vector operation dwarning 2026-03-01 16:18:24 +0100
  • 5e82b63f62 adapt FFT point number for real input vectors in fft cmd and vector operation wrt. bug #829 dwarning 2026-03-01 16:14:04 +0100
  • e53291ad2b Merge branch 'pre-master-46' of ssh://git.code.sf.net/p/ngspice/ngspice into pre-master-46 Aknowledge external merger Holger Vogt 2026-02-28 17:27:43 +0100
  • 3103be7eea prepare for binning of N devices Holger Vogt 2026-02-27 17:48:23 +0100
  • 04507a637d Added parameter numPeriod so that the user can select the number of fundamental frequency periods used in the detection of the fundamental frequency and its harmonics. This is usefull when trying to recover the fundamental frequency and its harmonics from a noisy signal, like the output of a DCDC converter Enrique 2026-02-26 22:39:34 +0100
  • b1f215149e Improve th error message: add the failing option's name. Holger Vogt 2026-02-25 14:14:25 +0100
  • cd568e37bc Prevent potential buffer s overflow by limiting the characters written. Use vsnprintf instead of vsprintf. Holger Vogt 2026-02-24 17:02:00 +0100
  • c939f9610a Improve error message, no output of line string if not 'set ngdebug' Holger Vogt 2026-02-24 17:00:40 +0100
  • a08110585f Re-enable not setting lower case if commands from spinit or .spiceinit Holger Vogt 2026-02-24 14:17:37 +0100
  • 1aa3fa22ff No quoting of potential params when comnpatmode is set to hs. Holger Vogt 2026-02-23 16:32:59 +0100
  • 2612104891 Allow Cd as a valid C reference designator for a capacitor, i.e. lower-casing of node names, by re-organizing the setting of lower cases in the netlist: No lower-casing for cd only while in a .control section. Holger Vogt 2026-02-23 16:30:20 +0100
  • f8cecd3e53 Improve error message. Holger Vogt 2026-02-23 16:10:17 +0100
  • 359c321dcf Add warning message if E or H poly source has multiplier m Holger Vogt 2025-05-11 17:34:39 +0200
  • cf2293c317 Add parameter m (multiplier), while translating from G or F source to code model spice2poly Holger Vogt 2026-02-23 16:06:43 +0100
  • 39a0fe78cd Add a parameter m (output multiplicator) to spice2poly code model. Holger Vogt 2025-05-11 16:41:47 +0200
  • 8e60d4dd0f Special treatment while spiltting multiple .param lines, if .param is a .func Holger Vogt 2026-02-23 15:50:24 +0100
  • 3c570744dc Ignore .hdl and .biaswarn commands. Holger Vogt 2026-02-23 15:43:52 +0100
  • d297a14ed8 Move comment Holger Vogt 2026-02-21 14:30:51 +0100
  • 6c8ab82e9e V Pulse delivers erratic outputs, when not parameterized properly. Update the pulse generation: negative TR, TF, PW, PER not possible, get default values instead. 0 PW is allowed. Holger Vogt 2026-02-21 14:20:30 +0100
  • 98b84695bf Prepare for instance parameter 'dtemp', required by commercial PDKs. Not yet support in the model, silently ignored. Holger Vogt 2026-02-20 15:18:47 +0100
  • 3d5d2390a2 Prepare for instance parameter 'dtemp', required by commercial PDKs. Not yet support in the model, silently ignored. Holger Vogt 2026-02-20 15:06:30 +0100
  • f885d45e15 Prepare for instance parameter 'dtemp', required by commercial PDKs. Not yet support in the model, silently ignored. Holger Vogt 2026-02-20 14:50:18 +0100
  • 1b81f19557 Prepare BSIM4.7 for instance flag dtemp FIXME: The dtemp value is not yet linked to the model! Holger Vogt 2025-05-11 09:14:02 +0200
  • b51f041b29 Improve error message by adding the sourcing netlist line Holger Vogt 2025-05-10 20:15:31 +0200
  • 1877ce88bd Improve error message Holger Vogt 2026-02-20 14:19:14 +0100
  • e6de8cd648 Numparam: enable the sign + in expression 'pa*+3' like already existing 'pa*-3' Holger Vogt 2025-03-01 23:33:18 +0100
  • 658b3ad265 Add ifspec.ifs to MS Visual C project Holger Vogt 2025-05-11 16:40:31 +0200
  • 5610302c77 Fix nyquist bin normalization gf_fft_scale Gerald Fournier 2026-02-16 01:59:00 +0200
  • ce3f3c6221 Fix FFT normalization Gerald Fournier 2026-02-16 00:02:20 +0200
  • 053363f85d Fix freq bins in fft Gerald Fournier 2026-02-11 22:27:28 +0200
  • 35bb2960b0 Add variables deg_tfuture deg_limits to allow users setting lower limits of deg parameters and the extrapolation time in .spiceinit. hv_degradation_integrated_2 Holger Vogt 2026-02-19 11:42:07 +0100
  • d85b0a07cd Typos Holger Vogt 2026-02-19 11:40:20 +0100
  • 68fd8b8fa1 PMOS and ring oscillator degradation examples Holger Vogt 2026-02-18 14:54:26 +0100
  • e25cac4b82 Fix a bug in the extrapolation formula: NMOS and PMOS degradations are o.k. now! Holger Vogt 2026-02-18 14:52:23 +0100
  • fda17107e1 Comments improved Holger Vogt 2026-02-18 13:54:00 +0100
  • 8638e2eac2 Copyright extended to 2026 Holger Vogt 2026-02-18 13:31:50 +0100
  • b1262068c4 Some comments added Holger Vogt 2026-02-18 11:15:08 +0100
  • d6d3deda44 Add command 'plainsim' to example. Holger Vogt 2026-02-17 15:47:38 +0100
  • e4a33e2601 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
  • 19a444c72c Add 'factuo' as redundandant synonym to 'mulu0' to enable degradation simulation with BSIM3 and BSIM4. Holger Vogt 2026-02-17 12:53:10 +0100
  • a5f5fe28fb 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
  • 749be37f5d 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
  • 3750068f1c 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
  • 3cc6d28682 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
  • 5cee2b6273 Add version with truncated models to debug-out3.txt Holger Vogt 2026-02-15 00:44:29 +0100
  • ad966e2fe8 Add function to delete the result hash table. Not yet used. Holger Vogt 2026-02-14 12:34:20 +0100
  • 1ad6253eb4 tiny update Holger Vogt 2026-02-14 12:32:50 +0100
  • dc7d61591a Single NMOS degradation Holger Vogt 2026-02-13 17:03:21 +0100
  • 9e97aac1dd 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
  • 53aa1f991e 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
  • c093f985e1 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
  • a4d3b9dc5d 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
  • 2b21666a4d 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
  • 44fd33ea7d 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
  • 6a0b8b16ce Add a hash table to store the degradation monitor results per instance. Holger Vogt 2026-01-29 23:19:58 +0100
  • 40587ead4e Add global has pointer for degradation data storage per instance, inizialse it. Holger Vogt 2026-01-26 16:16:15 +0100
  • 4048610872 Don't read .agemodel, if newcompat.de is not set. Holger Vogt 2026-01-26 16:15:01 +0100
  • 2007ad30d7 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
  • 8755dd4493 Add non-nqs PSP model Holger Vogt 2026-01-14 12:05:26 +0100
  • 1d05c40de1 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
  • 13029173cc Improve error message Holger Vogt 2025-12-08 15:14:22 +0100
  • d832290b8c artificially set A_d_idsat from 0 to 0.001 Holger Vogt 2025-12-08 15:13:49 +0100
  • 3a80a05aac typo 10 years degradation integration Holger Vogt 2025-12-07 23:03:00 +0100
  • f6fd763c8c example netlist: 3 inverters in series Holger Vogt 2025-12-07 17:13:42 +0100
  • a20da11d4c New title Holger Vogt 2025-12-07 17:06:43 +0100
  • d55224dfe1 more descriptions into README Holger Vogt 2025-12-07 17:06:27 +0100
  • e06d598434 Add a README for the degradation monitor Holger Vogt 2025-12-07 16:01:43 +0100
  • 589b746515 Adding degradation monitors Holger Vogt 2025-11-01 15:04:49 +0100
  • fe5ec347d6 Enable using hashtables also for compiling with gcc. Holger Vogt 2025-09-28 21:47:31 +0200
  • 13dc028ce0 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
  • f73d7eed22 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
  • 77a544ab67 Add a hash table paramhash to store the .agemodel model parameters. Holger Vogt 2025-09-28 15:44:31 +0200
  • 2ec1636f12 Enable compiling hash.c as part of a code model shared library. Holger Vogt 2025-09-28 15:42:59 +0200
  • 49e2a7d094 getdata() Add model selection Add preliminary parameter selection (still requires the correct sequence of parameters). Holger Vogt 2025-09-24 16:47:50 +0200
  • dc94407b83 Remove now unused parameters Holger Vogt 2025-09-24 16:44:04 +0200
  • a712304a5d Specify static locdata containing constfac, sintegral and prevtime instead of individual data. Holger Vogt 2025-09-16 16:34:11 +0200
  • 7335756c68 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
  • 3a24708350 simple netlist example with agemodel data. Holger Vogt 2025-09-13 17:57:44 +0200
  • 6c10887c64 Read the agemodel data, put them into global array agemods Holger Vogt 2025-09-13 17:56:39 +0200
  • 9f6c00a536 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