Commit Graph

8861 Commits

Author SHA1 Message Date
dwarning 33fb5f20d9 vbic: rm obsolete regression test 2024-04-24 10:35:44 +02:00
Holger Vogt b056b647af Stop ngspice in case of pwl errors, avoid crash. 2024-04-24 10:24:46 +02:00
Holger Vogt 3694dddd64 Revert "Define the members of the struct in the correct sequence."
This reverts commit ce8bce7947.
2024-04-23 11:33:34 +02:00
Holger Vogt b62636f690 Merge branch 'pre-master-43' of ssh://git.code.sf.net/p/ngspice/ngspice into pre-master-43 2024-04-21 15:59:55 +02:00
Holger Vogt af84450d11 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'
2024-04-21 15:58:45 +02:00
dwarning 4dc2360494 Support op-pt values by Geoffrey Coram 2024-04-18 21:07:14 +02:00
Holger Vogt 4e058f8cb2 allow compiling with CIDER deselected 2024-04-08 23:05:26 +02:00
Holger Vogt 9230c915be avoid crash when compiled with lto 2024-04-07 21:39:20 +02:00
Holger Vogt 08c0f97999 optran 0 0 0 0 0 uic may be used to load initial conditions
(.ic=xxx statements) without staring an op iteration.
2024-04-07 21:36:59 +02:00
Holger Vogt 89d35fb34b no lower casing for file input paths 2024-04-07 12:12:10 +02:00
Holger Vogt 2ade3bd581 Merge branch 'pre-master-43' of ssh://git.code.sf.net/p/ngspice/ngspice into pre-master-43 2024-04-05 10:34:11 +02:00
Holger Vogt 2b32899667 correct the link to the license text. 2024-04-05 10:33:49 +02:00
dwarning 22869b6e39 use limexp to prevent NaN with extreme exponents 2024-04-04 16:19:35 +02:00
dwarning f40285c2a2 format 2024-04-04 16:03:53 +02:00
Giles Atkinson 6ea61d58c7 Fix a compilation error when using compile_macos_clang.sh and update
it to enable similar features to compile_linux.sh.
2024-04-03 17:22:59 +02:00
Giles Atkinson cfbe1afa21 Suppress some warnings from MSVC. 2024-04-03 17:22:53 +02:00
Giles Atkinson bfeb845222 Tidy d_process/ifspec.ifs so that it works after changes in
mif_inp2.c and writ_ifs.c to enforce "Null_Allowed".
2024-04-03 17:22:39 +02:00
Giles Atkinson 8347e59667 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.
2024-04-03 17:22:32 +02:00
Giles Atkinson df71478cbc Change CMPP-related struct Mif_Parse_Value to a union
as C99 allows initialisation of any member.  Also correct a comment
in miftypes.h.
2024-04-03 17:22:23 +02:00
Giles Atkinson 7ff4ad0b32 Support use of vector defaults for XSPICE vector parameters.
This answers Feature Request 60 - "Array as default value for parameter".
2024-04-03 17:22:14 +02:00
Giles Atkinson f37a292c82 Use the correct type of hash table for device and model names.
This fixes unpredictable failures of commands like "print @some_device".
2024-04-03 17:22:04 +02:00
Giles Atkinson cb69d8b96b 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.
2024-04-03 17:21:57 +02:00
Brian Taylor 02172448e7 Fix scan_gates to consider correctly gates with an inverted output. Refactor the checks in infix_to_postfix for invalid postfix expressions. 2024-04-03 17:13:07 +02:00
Brian Taylor 048dcb3bf1 Go back to before previous merge. 2024-04-03 17:12:57 +02:00
Brian Taylor db4476d22b Remove unnecessary #include. 2024-04-03 17:12:50 +02:00
Brian Taylor 367cdf5708 Add variable ps_scan_gates_optimize (default 1). If < 1, then turn off the optimizations in scan_gates. 2024-04-03 17:12:43 +02:00
Holger Vogt 8ec50d05ff Guard reading and executing spinit by variable no_spinit. 2024-04-03 17:06:26 +02:00
Holger Vogt 51ab1499ba Add a new exported function ngSpice_nospinit() to set
variable no_spinit.
2024-04-03 17:05:37 +02:00
Holger Vogt 38c989dda9 Unify all spinit sources 2024-04-03 17:04:23 +02:00
Holger Vogt 5359592a74 Unify the function interface, avoid lto-type-mismatch 2024-04-03 16:59:16 +02:00
Brian Taylor c3fa6328a1 Fix bug in the LOGICEXP scan_gates optimizer. Some gates with an inverting output were generated with bad logic which gave incorrect simulation results. 2024-03-29 17:29:49 +01:00
Holger Vogt 415d94bee0 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.
2024-03-29 17:27:43 +01:00
Holger Vogt ce8bce7947 Define the members of the struct in the correct sequence. 2024-03-29 17:23:59 +01:00
Holger Vogt cac87d9dd0 Improve response to error: reporting the error when
detecting an expression, not simply move on with a
wrong meas result.
2024-03-29 17:21:38 +01:00
Holger Vogt e561249e9b fix a bug in the ={par({...})} function.
The replacement did not happen correctly.
2024-03-29 17:19:48 +01:00
Holger Vogt ee39b2600b Add a evaluation function which truly removes also the
scale factor from the token when gobble=0 before
moving on.
2024-03-29 17:16:41 +01:00
Holger Vogt bfb7798f97 measure example with expression evaluation 2024-03-29 17:12:40 +01:00
Holger Vogt 49951cd197 Bug 664: Report an error if token in meas statement is not a vector and
cannot be evaluated as a number.
2024-03-26 20:08:08 +01:00
dwarning a1210a257d use only magnitudes in ac noise analysis even if openvaf compiled models deliver negative noise contributions 2024-03-26 19:59:23 +01:00
dwarning 7722c3dc6b only access to CKTkluMODE if KLU configured 2024-03-25 09:20:51 +01:00
Holger Vogt 03a1010a65 Repeat loop requires plain number, transformed vector, or transformed variable 2024-03-19 17:05:10 +01:00
Holger Vogt 92b3a901c7 The values used in the foreach loop my be given by a vector
(in addition to plain numbers or a list variable).
2024-03-19 16:41:27 +01:00
Holger Vogt e27f093fb7 Prevent error: implicit declaration of function ‘get_local_home’
[-Werror=implicit-function-declaration], if editline is selected.
2024-03-16 23:18:13 +01:00
Holger Vogt 0c2c10eb9c add 'option klu' to printout 2024-03-16 23:13:03 +01:00
Brian Taylor 715ce8c809 Return correct error statuses. Detect another illegally placed gate operator in an infix expression. 2024-03-15 21:53:13 +01:00
Holger Vogt 603c730260 If TRACE is defined, print out everything without comment lines,
to improve readability.
Redo printing of global nodes when TRACE is defined.
2024-03-15 19:20:53 +01:00
Holger Vogt 054a65c2d5 Fix a bug in 'reset', where .subckt are not transformed
due to wrong line count in dynmaxline.
2024-03-15 19:20:47 +01:00
dwarning 7e39c10bee introduce jfet gate-drain and gate-source junction emission coefficient 2024-03-13 21:55:38 +01:00
Holger Vogt 65a91648ef temporary printout of deck 2024-03-13 17:27:33 +01:00
Brian Taylor 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. 2024-03-11 22:25:48 +01:00