Holger Vogt
3f2673a2be
Clear the variable before checking anew if it is to be set.
2 years ago
Holger Vogt
4cc5966b6a
Don't delete sourceinfo as it may lead to a crash upon 'quit'.
Needs further investigation.
2 years ago
Holger Vogt
893cd42064
Reload sourceinfo when changing the current circuit.
2 years ago
Holger Vogt
36bc67ecbb
Save the wordlist sourceinfo to the current circuit.
Remove sourceinfo only upon 'quit'.
2 years ago
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.
2 years ago
Holger Vogt
862aa27713
Add linum_orig and linesource to commented out *include line
2 years ago
Holger Vogt
eaae4d2212
Add linenum_orig and linesource info to newly generated
U device lines.
2 years ago
Holger Vogt
c796171638
Add char *lineinfo to parameters of fcn insert_new_line
2 years ago
Holger Vogt
63d496b564
New parameter char *linesource for fcn insert_new_line
Make Fcn inp_read in inpcom.c static
2 years ago
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.
2 years ago
Holger Vogt
03ba8397cc
Add the original line source information to the new line.
2 years ago
Holger Vogt
89b25c5d58
Do not add line number 0, but the number of the original
.probe command to linenum_orig.
2 years ago
Holger Vogt
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
2 years ago
Holger Vogt
2ac12df93b
while copying a deck, copy the new infos
2 years ago
Giles Atkinson
b2c0f85c6d
Prevent lines beginning '#' in .include files from being treated
as device lines.
2 years ago
Holger Vogt
a48b1f8f46
allow compiling with CIDER deselected
2 years ago
Holger Vogt
39b5ea0d3f
no lower casing for file input paths
2 years ago
Giles Atkinson
5f59d76a03
Suppress some warnings from MSVC.
2 years ago
Giles Atkinson
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.
3 years ago
Brian Taylor
d002ba353b
Fix scan_gates to consider correctly gates with an inverted output. Refactor the checks in infix_to_postfix for invalid postfix expressions.
2 years ago
Brian Taylor
0ec0c92eae
Go back to before previous merge.
2 years ago
Brian Taylor
31ed74041f
Remove unnecessary #include.
2 years ago
Brian Taylor
57048228e9
Add variable ps_scan_gates_optimize (default 1). If < 1, then turn off the optimizations in scan_gates.
2 years ago
Holger Vogt
ab0cf31148
Guard reading and executing spinit by variable no_spinit.
2 years ago
Holger Vogt
ac7584bcf6
Unify the function interface, avoid lto-type-mismatch
2 years ago
Brian Taylor
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.
2 years ago
Holger Vogt
cac87d9dd0
Improve response to error: reporting the error when
detecting an expression, not simply move on with a
wrong meas result.
2 years ago
Holger Vogt
e561249e9b
fix a bug in the ={par({...})} function.
The replacement did not happen correctly.
2 years ago
Holger Vogt
49951cd197
Bug 664: Report an error if token in meas statement is not a vector and
cannot be evaluated as a number.
2 years ago
dwarning
7722c3dc6b
only access to CKTkluMODE if KLU configured
2 years ago
Holger Vogt
0c2c10eb9c
add 'option klu' to printout
2 years ago
Brian Taylor
715ce8c809
Return correct error statuses. Detect another illegally placed gate operator in an infix expression.
2 years ago
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.
2 years ago
Holger Vogt
054a65c2d5
Fix a bug in 'reset', where .subckt are not transformed
due to wrong line count in dynmaxline.
2 years ago
Holger Vogt
65a91648ef
temporary printout of deck
2 years ago
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.
2 years ago
Brian Taylor
ae8e423d97
Add WARNINGs when there are potential name collisions, and identify the possible name.
2 years ago
Holger Vogt
adb38ecb17
Upon error, bail out when strict_error is set.
2 years ago
Holger Vogt
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.
It shall however, exit if the simulation is interrupted due
to an error and strict_errorhandling is set.
2 years ago
Holger Vogt
da51e1bddf
Don't use printf(".."), but fprintf(stdout, "..."),
thus send an end-of-line also when redirected to file.
2 years ago
Brian Taylor
4c983e9133
Remove old dead code.
2 years ago
Brian Taylor
8788ce3504
Add check for a trailing } in a logicexp statement.
2 years ago
Brian Taylor
826401f6a4
Add error detection and reporting for invalid infix expressions.
2 years ago
Brian Taylor
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.
2 years ago
Brian Taylor
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.
2 years ago
Giles Atkinson
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.
2 years ago
dwarning
1e8f9a411a
rm obsolete order for spec blackman window
2 years ago
dwarning
e0c3206601
partially revert commit aafd7bbb: spec triangular window
2 years ago
dwarning
aafd7bbb42
correct bartlett/triangle fft window formulae
2 years ago
Brian Taylor
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.
2 years ago