Commit Graph

1028 Commits

Author SHA1 Message Date
Holger Vogt 2f5b869979 Issue this warning only when 'set ngdebug' is given. 2024-05-14 16:32:45 +02:00
Holger Vogt b660e75504 Save path to .include file, add it to the search paths
for loading the next .include file.

If input directory dir_name is not set when loading .include files,
set it to the first .include found.

Both instruction add to the search paths for file to be inluded
and are valuable when the netlist is sent by circbyline without
input file involved.
2024-05-14 16:32:27 +02:00
Holger Vogt 3f2673a2be Clear the variable before checking anew if it is to be set. 2024-05-14 16:31:57 +02:00
Holger Vogt 97d9f38421 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-05-14 16:30:36 +02:00
Holger Vogt 862aa27713 Add linum_orig and linesource to commented out *include line 2024-05-14 16:30:27 +02:00
Holger Vogt 63d496b564 New parameter char *linesource for fcn insert_new_line
Make Fcn inp_read in inpcom.c static
2024-05-14 16:29:51 +02:00
Holger Vogt c4cbc40a3b 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-05-14 16:29:34 +02:00
Giles Atkinson b2c0f85c6d Prevent lines beginning '#' in .include files from being treated
as device lines.
2024-05-01 10:55:26 +02:00
Holger Vogt a48b1f8f46 allow compiling with CIDER deselected 2024-05-01 10:32:54 +02:00
Holger Vogt 39b5ea0d3f no lower casing for file input paths 2024-05-01 10:32:23 +02: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 adb38ecb17 Upon error, bail out when strict_error is set. 2024-03-10 21:58:56 +01:00
Holger Vogt a0bddf872d Fix dd7b9ff27
("Avoid memory crash when reading old VDMOS models.
Enable both old and current model format.",
2023-12-30)
2024-01-15 11:10:50 +01:00
Holger Vogt 88d0727d3f In PS compat mode we only have 2 nodes in a diode,
but still allow self heating diode with ngspice syntax.
2024-01-06 11:51:11 +01:00
Holger Vogt dd7b9ff273 Avoid memory crash when reading old VDMOS models.
Enable both old and current model format.
2023-12-30 22:52:41 +01:00
Holger Vogt 37944bd7c4 Preliminary fix to bug 650
Don't omit replacement, when independent nested subcircuit has been checked.
FIXME: Better use the cards level parameter.
2023-12-22 17:18:43 +01:00
Giles Atkinson a92c569b72 Prevent some strings being mis-recognised by strstr(), including
one that causes a false error message from the vlnggen script.
2023-11-27 17:17:21 +00:00
Holger Vogt 3d1cbf93ee Add a predifined variable 'skywaterpdk' to speed up circuit
loading and parsing.
If set, it removes quoting tokens for params. This requires
that Skywater PDK does adequately stick to the ngspice syntax
to put params in between braces. As far as tests go, it does.
It also set the number of nodes for MSO devices to 4, so no lengthy
search is required.
2023-11-23 18:29:48 +01:00
Holger Vogt 1db8eff25c Write message only once. 2023-11-19 10:46:19 +01:00
dwarning 2cf2693706 few code cleanings 2023-11-12 17:04:36 +01:00
Giles Atkinson 4228ba6e8a Ignore end-of-line comments in quoted strings. 2023-11-09 12:06:34 +00:00
Holger Vogt 53315ed764 Prevent crash when no input file given. 2023-10-05 00:19:51 +02:00
Holger Vogt 76f837b0b7 skip all pre-processing for expanded input files created by 'listing r' 2023-09-27 15:49:37 +02:00
Holger Vogt c0d73dcd6f Fix bug 642 by replacing strstr() by search_plain_identifier() 2023-08-19 23:14:26 +02:00
Holger Vogt d90c9dd3b5 Initialize to remove VS2022 linker warnings 2023-08-13 10:01:12 +02:00
Holger Vogt b893e32d75 Reemove needless code, check for '}0',
don't do anything here if not true m=something
2023-08-12 15:11:41 +02:00
Holger Vogt 0e0c8de5ee Remove gcc compiler warning: remove needless code 2023-08-12 15:11:32 +02:00
Holger Vogt 2065dee82c Fix comment on old-style .lib 2023-08-11 11:37:49 +02:00
Holger Vogt 3adfa89cfc Prevent crash when number of parameter dependencies increases beyond
limit. Raise the limit from 100 to 200.
2023-07-31 14:27:49 +02:00
Holger Vogt 7f8e1cecab Allow ';' also at the beginning of a line. 2023-07-15 11:19:57 +02:00
Holger Vogt c1db561373 No syntax check for title line 2023-07-15 11:19:31 +02:00
Holger Vogt 3420e66705 During syntax check: v,i sources need two nodes,
and prevent crash upon buggy ac input.
2023-07-15 11:18:09 +02:00
Holger Vogt 29c51c0d30 Bail out if {...} or '...' are missing around RHS of the equation.
(...) may be possible, elsewhere additional {} are put around,
so we have {(...)}.
2023-07-15 11:17:34 +02:00
Holger Vogt 01e8b4da84 Prevent crash upon buggy user input (missing ] or >) 2023-07-15 11:16:57 +02:00
Holger Vogt 1340002c05 Improve error message 2023-07-15 11:16:43 +02:00
Holger Vogt 695c1e1bd6 Add an extra model stitching for CIDER only.
This one fills in actualLine, which is use by
parsing the CIDER model parameters in INPparseNumMod()
from inpgmod.c
2023-07-15 11:15:50 +02:00
Giles Atkinson d31568bd83 Add parsing and translation of the FREQ form of E-source devices,
integrated with the existing parsing of AND/NAND/OR/NOR forms (inpcom.c).
For the implementation, add a new analog XSPICE code model, xfer.
Add an example to examples/sp.
2023-07-15 11:15:08 +02:00
Holger Vogt ba7ad783a8 safeguard against crash upon buggy input 2023-05-27 10:49:07 +02:00
Holger Vogt 66a4b2226e .libsave: don't save the command itself, improve messaging 2023-05-27 10:44:56 +02:00
Holger Vogt 006a66b055 .libsave: Print to file the expanded library read by .lib 2023-05-27 10:44:04 +02:00
Holger Vogt 50a9daf24a Line concatenation: use dstring instead of tprintf:
Parsing time of Skywater libs reduced by more than 35%.
2023-05-27 10:42:47 +02:00
dwarning a4f6a777c0 few cleanings to prevent compiler warnings 2023-05-27 10:41:21 +02:00
Holger Vogt 797795e7c0 Shift all compatibility handlinmg from inpcom.c into its own source files
inpcompat.c and inpcompat.h
2023-05-27 10:39:05 +02:00
Giles Atkinson 5aa48cab0b Do not generate netlist lines that use non-existent libraries.
To support that, give global scope to  function inp_pathresolve()
in inpcom.c.  Update internal documentation (long comment).
2023-04-01 13:56:12 +02:00
Holger Vogt 062785319a When '.probe alli' is set, disable auto bridging and set a flag 2023-03-24 22:10:18 +01:00
Holger Vogt f121c433a7 Check for buggy diode instance line, avoid crash 2023-03-22 14:29:48 +01:00
Holger Vogt 86951501a7 Add eprvcd to the commands which set node names to lower case,
but not the file names after >
Does not work for manually entered eprvcd commands, where the user
has to provide lower case node names.
2023-03-19 15:24:27 +01:00
Holger Vogt 3996d27b29 Make code a little more efficient 2023-03-18 22:31:33 +01:00
Holger Vogt 7af6c4a661 Re-enable single line parameter lists, separated by commas 2023-03-18 22:31:27 +01:00
Holger Vogt e4202ea181 The tc for R, L, C may include an expression
like tc={expression} or tc={expression}, 1.3u or
tc={expression}, {expression2}
2023-03-18 14:37:53 +01:00