Commit Graph

8872 Commits

Author SHA1 Message Date
Holger Vogt 242ef0f739 Add (enhanced) patch by Giles Atkinson
Add controlled_exit() to errors when parsing functions.
Add verbose error messages, including line number and
name of the source file.

.lib file handlinmg with its recursive structure probably needs
testing and improvements.

More error messages may need this update.
2024-04-28 14:32:24 +02:00
Holger Vogt 0a949fd33b Add linum_orig and linesource to commented out *include line 2024-04-26 17:08:37 +02:00
Holger Vogt 1a340d05d6 Add linenum_orig and linesource info to newly generated
U device lines.
2024-04-26 16:46:17 +02:00
Holger Vogt 7e0fe5f8c2 Add char *lineinfo to parameters of fcn insert_new_line 2024-04-26 16:45:34 +02:00
Holger Vogt cb20ec1db0 New parameter char *linesource for fcn insert_new_line
Make Fcn inp_read in inpcom.c static
2024-04-26 15:53:28 +02:00
Holger Vogt 27886e31ff Add file_name to fcn inp_read
Add wordlist sourceinfo to store input sources
path/file, internal, etc.)
debug_out.txt adds line info (var. sourcelineinfo)
Add sourcelineinfo to wordlist sourceinfo and to each new line.
When adding lines due to compatibility handling, use existing
linenum_orig and linesource.
2024-04-26 11:44:34 +02:00
Holger Vogt bedc9e7ca0 Add the original line source information to the new line. 2024-04-26 11:16:37 +02:00
Holger Vogt fbf434a4a1 Allow delay of 0, as requested by Infineon model of the 2EDNY52X 2024-04-26 11:15:54 +02:00
Holger Vogt 21c723de58 Do not add line number 0, but the number of the original
.probe command to linenum_orig.
2024-04-26 11:13:57 +02:00
Holger Vogt cb8b3bca5f 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
2024-04-26 11:11:36 +02:00
Holger Vogt 1427813f10 Add 'linesource', to contain the path/file of the origin of the line. 2024-04-26 11:06:32 +02:00
Holger Vogt b43cbc8450 while copying a deck, copy the new infos 2024-04-26 11:05:18 +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