Commit Graph

  • e151b691fb Add an additional funtion parameter 'filename' to fcn inp_readall to transfer not only the folder, but also the file name of the current input Holger Vogt 2024-04-26 11:11:36 +0200
  • da3d51ce9a Add 'linesource', to contain the path/file of the origin of the line. Holger Vogt 2024-04-26 11:06:32 +0200
  • 2ac12df93b while copying a deck, copy the new infos Holger Vogt 2024-04-26 11:05:18 +0200
  • b2c0f85c6d Prevent lines beginning '#' in .include files from being treated as device lines. Giles Atkinson 2024-04-17 18:51:12 +0100
  • 9f0e44cace Fix an error in cfbe1afa21b3 that causes a crash in d_cosim. Giles Atkinson 2024-04-30 08:50:45 +0100
  • 6b80d21e36 diode: add alternative bangap calculation for tlev=2 dwarning 2024-04-30 17:23:20 +0200
  • 5fdd21f239 diode: add model parameter xw for mask and etching effect (level=3) dwarning 2024-04-30 16:32:52 +0200
  • 44d0991af0 Replace IOP by IOPR Holger Vogt 2024-05-01 10:53:50 +0200
  • 52365c718a level 3 note on breakdown voltage params Pat Deegan 2024-04-29 11:00:47 -0400
  • bcc769af0e Diode Model Parameters, Level 3, support for diode breakdown voltage synonyms, as used in sky130 PDK Pat Deegan 2024-04-29 10:47:13 -0400
  • 6b70256993 change CR/LF to LF dwarning 2024-04-24 10:38:26 +0200
  • 2c7f1e471b vbic: rm obsolete regression test dwarning 2024-04-24 10:35:44 +0200
  • cf4684f9ae Stop ngspice in case of pwl errors, avoid crash. Holger Vogt 2024-04-24 10:24:46 +0200
  • 54d3b07868 Support op-pt values by Geoffrey Coram dwarning 2024-04-18 21:07:14 +0200
  • 5d207f7b43 Add environmental variable NGSPICE_OSDI_DIR. It may contain a path for *.osdi files (compiled Verilog-A models). The search sequence for a *.osdi file now is: Absolute path (if any) Linux home directory ~/ Path in NGSPICE_OSDI_DIR Path of netlist loaded Path of executable ngspice.exe Path of 'Current working directory' Holger Vogt 2024-04-21 15:58:45 +0200
  • a48b1f8f46 allow compiling with CIDER deselected Holger Vogt 2024-04-08 23:05:26 +0200
  • 4ed1ebf874 avoid crash when compiled with lto Holger Vogt 2024-04-06 19:12:35 +0200
  • 1cdacad261 optran 0 0 0 0 0 uic may be used to load initial conditions (.ic=xxx statements) without staring an op iteration. Holger Vogt 2024-04-07 21:36:59 +0200
  • 39b5ea0d3f no lower casing for file input paths Holger Vogt 2024-04-06 19:13:22 +0200
  • 2bee691717 correct the link to the license text. Holger Vogt 2024-04-05 10:33:49 +0200
  • 829a3007e7 Fix a compilation error when using compile_macos_clang.sh and update it to enable similar features to compile_linux.sh. Giles Atkinson 2024-03-28 16:29:37 +0000
  • 5f59d76a03 Suppress some warnings from MSVC. Giles Atkinson 2024-03-20 10:43:13 +0000
  • 6ce627e6f8 Tidy d_process/ifspec.ifs so that it works after changes in mif_inp2.c and writ_ifs.c to enforce "Null_Allowed". Giles Atkinson 2023-11-08 10:53:12 +0000
  • 27eda59034 Make the 'Null_Allowed' option for XSPICE code model parameters behave as reasonably expected and as described in the manual. Previously a missing (null) value was always accepted if the ifsspec.ifs file contained a default value, and several of the the included code models worked that way. Where there was a useful default, "no" has channged to "yes". Some models with a look-up table defined by two parameters had such defaults that did nothing useful. Thay have been given useful vector defaults. These changes should not affect previously-working netlists. Giles Atkinson 2023-09-12 16:22:43 +0100
  • 7dd2db904c Change CMPP-related struct Mif_Parse_Value to a union as C99 allows initialisation of any member. Also correct a comment in miftypes.h. Giles Atkinson 2023-09-10 15:50:05 +0100
  • 0152ea92db Support use of vector defaults for XSPICE vector parameters. This answers Feature Request 60 - "Array as default value for parameter". Giles Atkinson 2023-09-10 16:13:14 +0100
  • 8ad759bd66 Use the correct type of hash table for device and model names. This fixes unpredictable failures of commands like "print @some_device". Giles Atkinson 2023-07-29 07:51:12 +0100
  • 673ae5c01d Change the code that makes variables from device/model parameters (spiceif.c) and vectors from variables (vectors.c) so that array and string-valued parameters and the resulting variables are handled correctly. Fix a memory leak in converting array parameters; that requires a change in cplask.c so that CPL devices behave the same way as others. Add a "device" variant of the Compose command so that generated vectors are available in scripts. Giles Atkinson 2023-07-03 18:45:38 +0100
  • 3684db0126 use limexp to prevent NaN with extreme exponents dwarning 2024-04-04 16:19:35 +0200
  • 0fdd412324 format dwarning 2024-04-04 16:03:53 +0200
  • d002ba353b Fix scan_gates to consider correctly gates with an inverted output. Refactor the checks in infix_to_postfix for invalid postfix expressions. Brian Taylor 2024-03-31 17:07:53 -0700
  • 0ec0c92eae Go back to before previous merge. Brian Taylor 2024-03-31 17:03:58 -0700
  • 31ed74041f Remove unnecessary #include. Brian Taylor 2024-03-29 20:08:25 -0700
  • 57048228e9 Add variable ps_scan_gates_optimize (default 1). If < 1, then turn off the optimizations in scan_gates. Brian Taylor 2024-03-29 18:26:01 -0700
  • ab0cf31148 Guard reading and executing spinit by variable no_spinit. Holger Vogt 2024-04-03 17:06:26 +0200
  • 8f2f0088f2 Add a new exported function ngSpice_nospinit() to set variable no_spinit. Holger Vogt 2024-04-03 17:05:37 +0200
  • 2c2c97104f Unify all spinit sources Holger Vogt 2024-04-03 17:04:23 +0200
  • ac7584bcf6 Unify the function interface, avoid lto-type-mismatch Holger Vogt 2024-04-03 16:59:16 +0200
  • 292f7ad60a Fix bug in the LOGICEXP scan_gates optimizer. Some gates with an inverting output were generated with bad logic which gave incorrect simulation results. Brian Taylor 2024-03-28 15:11:38 -0700
  • 3341b2e045 Bug 665: enable compiling the code models with link time optimization. Fix provided by Giles Atkinson. Still the build of ngspice fails (tested with Cygwin) at the linking stage. Holger Vogt 2024-03-29 17:27:43 +0100
  • cac87d9dd0 Improve response to error: reporting the error when detecting an expression, not simply move on with a wrong meas result. Holger Vogt 2024-03-29 17:21:38 +0100
  • e561249e9b fix a bug in the ={par({...})} function. The replacement did not happen correctly. Holger Vogt 2024-03-29 17:19:48 +0100
  • ee39b2600b Add a evaluation function which truly removes also the scale factor from the token when gobble=0 before moving on. Holger Vogt 2024-03-29 17:16:41 +0100
  • bfb7798f97 measure example with expression evaluation Holger Vogt 2024-03-29 17:12:40 +0100
  • 49951cd197 Bug 664: Report an error if token in meas statement is not a vector and cannot be evaluated as a number. Holger Vogt 2024-03-26 20:08:08 +0100
  • a1210a257d use only magnitudes in ac noise analysis even if openvaf compiled models deliver negative noise contributions dwarning 2024-03-26 19:59:23 +0100
  • 7722c3dc6b only access to CKTkluMODE if KLU configured dwarning 2024-03-25 09:20:51 +0100
  • 03a1010a65 Repeat loop requires plain number, transformed vector, or transformed variable Holger Vogt 2024-03-19 17:05:10 +0100
  • 92b3a901c7 The values used in the foreach loop my be given by a vector (in addition to plain numbers or a list variable). Holger Vogt 2024-03-19 16:41:27 +0100
  • e27f093fb7 Prevent error: implicit declaration of function ‘get_local_home’ [-Werror=implicit-function-declaration], if editline is selected. Holger Vogt 2024-03-16 23:18:13 +0100
  • 0c2c10eb9c add 'option klu' to printout Holger Vogt 2024-03-16 23:13:03 +0100
  • 715ce8c809 Return correct error statuses. Detect another illegally placed gate operator in an infix expression. Brian Taylor 2024-03-13 18:02:13 -0700
  • 603c730260 If TRACE is defined, print out everything without comment lines, to improve readability. Redo printing of global nodes when TRACE is defined. Holger Vogt 2024-03-15 19:12:28 +0100
  • 054a65c2d5 Fix a bug in 'reset', where .subckt are not transformed due to wrong line count in dynmaxline. Holger Vogt 2024-03-15 18:49:33 +0100
  • 7e39c10bee introduce jfet gate-drain and gate-source junction emission coefficient dwarning 2024-03-13 21:55:38 +0100
  • 65a91648ef temporary printout of deck Holger Vogt 2024-03-13 17:27:33 +0100
  • 14bf034f28 The lexer incorrectly treats a single '_' '-' '/' as an identifier. The counter used for tmp__ names should be incremented after use. The infix_to_postfix converter now has more checks for invalid infix expressions in LOGICEXP constructs. Without these checks the evaluation of the generated postfix could silently create bad gates which would load but simulate incorrectly. All MicroCap and PSpice libraries and QEI.cir pass their tests. Brian Taylor 2024-03-10 16:03:59 -0700
  • ae8e423d97 Add WARNINGs when there are potential name collisions, and identify the possible name. Brian Taylor 2024-02-23 16:29:21 -0800
  • adb38ecb17 Upon error, bail out when strict_error is set. Holger Vogt 2024-03-10 21:58:56 +0100
  • 2dab26212a introduce diode breakdown voltage parameter alias vb dwarning 2024-03-10 09:47:17 +0100
  • f5c0a1420c Upon a warning on a model issue, ngspice should not bail out, even if strict_error is set, as typically the simulation will run and foreign models often have additional unsupported, but less important parameters. Holger Vogt 2024-03-09 23:41:34 +0100
  • da51e1bddf Don't use printf(".."), but fprintf(stdout, "..."), thus send an end-of-line also when redirected to file. Holger Vogt 2024-02-28 10:06:31 +0100
  • a5f99a4953 Make PSP103_nqs standard, as it is used by the Open PDK from IHP Holger Vogt 2024-02-23 14:12:49 +0100
  • 4c983e9133 Remove old dead code. Brian Taylor 2024-02-18 13:45:59 -0800
  • 8788ce3504 Add check for a trailing } in a logicexp statement. Brian Taylor 2024-02-13 21:21:39 -0800
  • 826401f6a4 Add error detection and reporting for invalid infix expressions. Brian Taylor 2024-02-13 16:10:28 -0800
  • adaa3d39fc no use for grouping in cx_fft and cx_ifft dwarning 2024-02-16 13:56:43 +0100
  • 3201bcb09b prevent clang error dwarning 2024-02-16 10:12:09 +0100
  • fd000c079b hicum2: use device temperature for noise analysis too dwarning 2024-02-15 18:19:11 +0100
  • 3a18028283 vbic: use device temperature for noise analysis too dwarning 2024-02-15 18:09:38 +0100
  • 305cd85c76 mos1...3: use device temperature for noise analysis too dwarning 2024-02-15 07:49:06 +0100
  • a1dbd3f3c8 bjt, dio, jfet, res: use device temperature for noise analysis too dwarning 2024-02-14 18:16:50 +0100
  • 20c82a5b1b format dwarning 2024-02-14 17:50:41 +0100
  • e8f1cd4c92 too soon return - break is correct dwarning 2024-02-14 14:17:01 +0100
  • 8d64381795 rm confusing comments and formatting dwarning 2024-02-14 14:14:15 +0100
  • bfb2a5fd9c As preliminary, better not change CURRENT Holger Vogt 2024-02-13 14:59:49 +0100
  • b9c1f68ee0 Preliminary fix to bug report 660 Final setting will be decided before next release. Holger Vogt 2024-02-13 14:04:58 +0100
  • e01290c9a2 Replace the logicexp parser with infix to postfix translation followed by evaluating the postfix. logicexp.c is now shorter and easier to understand and maintain. Also, operator precedence expression parsing conforms to the PSPICE rules. Thus, a & b | c is understood to mean (a & b) | c, for example. Brian Taylor 2024-02-12 16:04:00 -0800
  • bd0f725776 There are approx. 47 out of 1455 subckts in PSPICE 9.1 libraries which contain X* subckt calls together with zero or more U* instances. Now this type of subckt can be translated to XSPICE. Brian Taylor 2024-01-18 13:11:56 -0800
  • 9ed7a24a0e mos1...3: Beta in noise w/o channel length modulation dwarning 2024-01-28 20:11:52 +0100
  • 6359b7b41f mos1...3: add nlev=3 mode channel thermal noise dwarning 2024-01-28 10:08:29 +0100
  • c2f0b1468c mos3mask: change unusual structure name dwarning 2024-01-23 17:08:40 +0100
  • 89c7b83954 mos1...3: formatting and white spaces dwarning 2024-01-23 17:01:05 +0100
  • 1381d71cb1 selectable flicker noise models for mos1...3 dwarning 2024-01-23 14:55:08 +0100
  • 2a6db71726 formatting mos1...3 noise code dwarning 2024-01-23 11:37:07 +0100
  • 1c9f8b6345 two corrections in Ycor and NF formulae dwarning 2024-02-12 11:08:35 +0100
  • 2ec5944dd4 Use all available precision when creating a "plot" command for a zoomed window. That prevents an unexpected zoom-out in one dimension caused by a zero-height (or width) window being requested when zooming with already high magnification. Giles Atkinson 2024-01-30 13:54:21 +0000
  • 7d1ea80a2e F source fails when VNAM contains math symbols like '-'. Use INPgetNetTok for instance parameters like it has been done for nodes already. Holger Vogt 2024-02-02 11:15:14 +0100
  • c0b3511b20 compile with gcc-14 fails due to `-Werror=incompatible-pointer-types` Patch provided by Mamoru Tasaka. Holger Vogt 2024-02-02 11:12:24 +0100
  • 1e8f9a411a rm obsolete order for spec blackman window dwarning 2024-01-26 08:32:18 +0100
  • e0c3206601 partially revert commit aafd7bbb: spec triangular window dwarning 2024-01-26 07:45:27 +0100
  • 8aa20cfc98 fft window functions back to correct scaling - no need need for post scaling step dwarning 2024-01-24 23:16:44 +0100
  • d92569742f Add a transformer with parameters on the .subckt line Holger Vogt 2024-01-24 10:11:44 +0100
  • 9e41383dd9 window weightings between 0 and 1 for fft vector function and command dwarning 2024-01-22 17:37:27 +0100
  • aafd7bbb42 correct bartlett/triangle fft window formulae dwarning 2024-01-21 21:58:43 +0100
  • a70297e87a Several PSPICE 9.1 evaluation digital libraries contain timing .model statements at the global level for subckts with U* instances that reference those models. By specifying "set ps_global_tmodels=1" in .spiceinit an extra pass inside u_instances() will collect those global timing models for use in subckts. Report errors detected when ngspice parses a LOGICEXP but has not added support for operator precendence. Include a hint of how to fix those errors by inserting parentheses. This error only occurs in 10 of 585 cases in the libraries. Note that inpcompat.c has been saved as a unix filetype. Brian Taylor 2024-01-16 15:29:58 -0800
  • add31fd410 correct flicker noise term for mos1 and mos2 - bug #656 dwarning 2024-01-16 16:26:38 +0100
  • a0bddf872d Fix dd7b9ff27 ("Avoid memory crash when reading old VDMOS models. Enable both old and current model format.", 2023-12-30) Holger Vogt 2024-01-15 11:10:50 +0100
  • 79e80dbbab Automatically adding diode RS only when variable 'rsdiode' is set to a positive resistance value. Holger Vogt 2024-01-15 09:59:21 +0100
  • 0141473aa4 Don't derefence Matrix->SMPkluMatrix->KLUmatrixCommon if it is NULL. Test for NULL moved upwards in front of dereferencing. Holger Vogt 2024-01-14 15:12:03 +0100