Commit Graph

7459 Commits

Author SHA1 Message Date
Holger Vogt 028515cc22 Move function ft_getpnames_quotes() from postcoms.c to parse.c
Fix a bug with *tmpstr not equalling '\"'
2021-11-05 11:46:33 +01:00
Holger Vogt ac88c73c33 Skip tokens starting with V(\" because they are already quoted
and should stay so.
2021-11-03 20:37:27 +01:00
Holger Vogt 80e56e4518 Update to string evaluation (tokens for commands write, plot etc.):
Serach for arithmetic characters in string xxx. If found, double quote
for evaluation, but only if included in v(xxx).
Parse the string tokens, quoted tokens are not treated as equation
expression, but simply as strings.
Unquote the tokens after parsing.
2021-11-03 17:53:17 +01:00
Holger Vogt 4002949148 Enable V( in addition to v(
Set double quotes around token whenever an arith char (one
character out of "+-*/()<>?:|&^!%\\" ) is part of the token
2021-11-03 00:16:19 +01:00
Holger Vogt 3901228274 Preliminary fix for the 'interpolate' function.
Interpolation of 1D vectors is o.k. now,
multi-dimensional vectors are not (yet) supported.
2021-07-19 17:37:23 +02:00
Holger Vogt bfc922c84c A dot in front of v() is a valid character 2021-07-19 13:37:00 +02:00
Holger Vogt f4d3ba869c enable or diable checking of vectors,
disable for plotting, otherwise 'vs' will lead to error
2021-07-12 18:00:49 +02:00
Holger Vogt d2fca55f33 ft_getpnames_quotes() will add "..." around node names
with leading numbers or math characters inside of v(...)
before parsing the tree, so they will keep intact.
Examples: v(/out) --> v(\"/out\"), v(n3,2p) --> v(n3,\"2p\")
2021-07-12 12:32:54 +02:00
Holger Vogt 8adc6c0124 re-enable making the old help system for Linux/Cygwin
by --enable-help --enable-oldapps
2021-07-10 14:43:26 +02:00
Holger Vogt f6cdf4b95b Prevent crash when CIDER diode models are used.
There is no third node in NUMD or NUMD2, so don't set
GENnode(fast)[i]. This patch fixes a bug introduced in
4895a4b5a ("Diode model with selfheating option", 2021-04-11)
2021-07-10 14:11:56 +02:00
Holger Vogt 0de8fb8783 v(/out) --> v("/out") when node name starts with math or number char
for 'plot', 'write', 'print'
2021-07-10 11:16:27 +02:00
Holger Vogt 6cc5ed3dbf Get immediate response into text window,
when requesting information on coordinates.
2021-07-07 10:41:04 +02:00
Holger Vogt d4e29cd49c WinGUI: Push any remaining error message into text window
before emitting interactive error message window and exit.
2021-07-05 23:15:22 +02:00
Holger Vogt c1c11c84f9 Remove a false read when curr_line has
already been invalidated.
2021-07-05 20:40:38 +02:00
Holger Vogt 817c576ed3 Remove a memory leak
Make inp_rem_levels non-static
and use it to remove 'root' after it has been used.
2021-07-05 20:40:23 +02:00
Holger Vogt d84aa5d956 Nodedamping: Make difference independent of the sign
of the difference
2021-07-05 08:06:11 +02:00
Holger Vogt af7360b8f2 JFET2: Add a link to literature 2021-07-05 08:05:02 +02:00
Holger Vogt 94338a9c0d Enhancement for E source with table, convert to B source with pwl:
Add G source
Allow 'table' also being part of a parameter name like 'table_something'
2021-06-30 14:14:52 +02:00
dwarning e234a7c776 Add channel type determination belong nmos/pmos model parameter 2021-06-29 12:34:50 +02:00
Holger Vogt 19d86d35e6 Standard clang compiler does not support OpenMP
Homebrew clang needs to investigted further
2021-06-28 10:22:41 +02:00
Holger Vogt efbd185b76 Don't show message for every iteration 2021-06-27 14:12:58 +02:00
Holger Vogt cc9c751d04 Fix a bug in the 'dc' progress report 2021-06-25 18:34:14 +02:00
Holger Vogt 400d72551d CIDER: Enable printing either binary or ascii data output to file.
Patch provided by Brian Taylor, see
(https://sourceforge.net/p/ngspice/mailman/message/37309841/)
2021-06-25 18:34:06 +02:00
Holger Vogt 1eb5527e34 Add a 'qsort' dummy according to current compiler standards.
Detected during the very rare condition of not finding a 'qsort'
during the ./configure step.
2021-06-25 15:26:17 +02:00
Holger Vogt 49e5ac14a0 Enable including 'readline' from a non standard location.
--with-readline=<location> may be given instead of --with-readline=yes
This is required when on macOS readline is installed from Homebrew.
Standard Xcode readline in macOS is not compatible with ngspice.
If --with-readline=yes is given, there is no change of behaviour
compared with previous releases.
2021-06-23 20:23:30 +02:00
Holger Vogt ba6a833355 Make error message more verbode 2021-06-22 11:59:27 +02:00
Holger Vogt c90b813c06 Prevent crash if there is bad syntax in h, g, e, or f line 2021-06-22 00:19:43 +02:00
Holger Vogt 1f59e25fb0 Crash when trying to delete root and netlist:
Revert the order of deletion: Firstly the root, then the netlist.
2021-06-21 18:26:23 +02:00
Holger Vogt 44a4652915 Make syntax check for nesting of .subckt ... .ends more verbose:
Try to find out where .subckt/.ends may be doubled, or missing.
2021-06-21 15:35:51 +02:00
Holger Vogt 585bb8cada Add '\f' to characters to be replace by '+'
during the syntax check of an netlist input file.
2021-06-21 13:49:53 +02:00
Holger Vogt e552bc61cf Add evaluating and using temp and dtemp
as ASRC instance parameters.
2021-06-20 16:34:01 +02:00
Holger Vogt 45c0e4fd9f add a comment: we should use TNOM, but not a fixed 300.15.
TNOM still has to be added to the ASRC parameters.
2021-06-20 16:33:04 +02:00
Holger Vogt 55e404f0f7 Don't put brackets around dtemp and temp, when they denote
instance parameters and thus are on the left hand side of '='
2021-06-20 16:31:46 +02:00
Holger Vogt 520e0a82e4 Make PTcheck more verbose:
Send error message containing failed expression
2021-06-20 15:01:30 +02:00
Holger Vogt 75597e5094 add the parameter name to error message of missing or bad parameter 2021-06-20 14:12:18 +02:00
Holger Vogt 4446cf96b4 No parse tree submitted to IFeval:
Prevent segfault and emit error message
2021-06-20 14:11:19 +02:00
Holger Vogt ebf7d8468f Make the choice of last commit mor obvious 2021-06-19 15:49:53 +02:00
Holger Vogt cc579db5b7 Replace identifier by func not only after '=', but also '{'
Extension to commit
61e48f984 ("Start replacing identifiers by func only after the first '='", 2021-06-18)
2021-06-18 17:48:00 +02:00
Holger Vogt fa343b4b3d logic condition to check only 'x' lines had not been given 2021-06-18 16:28:16 +02:00
Holger Vogt 61e48f9849 Start replacing identifiers by func only after the first '=' 2021-06-18 16:18:40 +02:00
Holger Vogt dd5bc75caa Clarify that 'scale set to ...'
is not a query, but a statement
by 'scale is set to ...'..
2021-06-14 22:58:44 +02:00
Holger Vogt d3726939d0 Fix a comment 2021-06-13 23:09:57 +02:00
Holger Vogt 76b1b9e3e9 Set the default line width for grid and graph to 1.
0 is possible but seems to be too thin for reasonable plots.
2021-06-13 19:37:00 +02:00
Holger Vogt 5b49d6509d Example input file for analog delay 2021-06-12 16:33:57 +02:00
Holger Vogt f5c7e9ef5e Remove unused
Add a delay of half a time step to reduce error
2021-06-12 16:31:11 +02:00
Holger Vogt b88d42902d Plausibility checking
Enforce out=in when delay == 0
2021-06-12 12:29:48 +02:00
Holger Vogt 8008984e23 Add an analog delay source for transient simulation
Internal circular memory of size tstop/tstep or user defined.
(aprox.) every tstep a value is stored.
Delay time in multiples of tstep, by control voltage or user defined.
Dc or ac sim will simply connect input to output.
2021-06-12 12:29:41 +02:00
Holger Vogt 6a1fc68ef0 Add devices s and w to previous commit.
R and C are not yet covered here, due to the many
varieties available.
2021-06-12 12:21:02 +02:00
Holger Vogt c5a0524c1b Don't replace a device model name by a parameter, if both
have the same names.

This is an extension to commit
7706889a0 ("inpcom.c, fix bug no 384 do not quote fourth
token in f, h lines otherwise if dev name equals param
name parsing fails", 2018-12-08)

Fixes bug 327 reported by T. Edwards at
https://github.com/google/skywater-pdk/issues/327
2021-06-12 12:01:28 +02:00
Holger Vogt f29ba105ff Define the function DevFinalize as used in the previous commit. 2021-06-11 18:43:11 +02:00