Commit Graph

9706 Commits

Author SHA1 Message Date
Brian Taylor fb245ec98c Add check for mismatched rparen. 2024-03-18 17:18:34 -07:00
Brian Taylor 91e49ce4d6 Rewrite the ad hoc checks for valid infix expressions. Check the starting infix token, then for a last token being an ID, gate op, ~, lparen or rparen check that the following token is valid. This is much more systematic and easier to understand. 2024-03-15 21:06:56 -07:00
Brian Taylor e4451bf242 Return correct error statuses. Detect another illegally placed gate operator in an infix expression. 2024-03-13 18:02:13 -07:00
Brian Taylor 8001a163dc Merge branch 'pre-master-43' into bt_dev 2024-03-13 11:22:17 -07: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
Brian Taylor ae8e423d97 Add WARNINGs when there are potential name collisions, and identify the possible name. 2024-03-11 22:25:39 +01:00
Brian Taylor d2f039f76a 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-10 16:03:59 -07:00
Brian Taylor 658af05588 Merge branch 'pre-master-43' into bt_dev 2024-03-10 15:04:39 -07:00
Holger Vogt adb38ecb17 Upon error, bail out when strict_error is set. 2024-03-10 21:58:56 +01:00
dwarning 2dab26212a introduce diode breakdown voltage parameter alias vb 2024-03-10 09:47:17 +01:00
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.
2024-03-09 23:41:34 +01:00
Holger Vogt da51e1bddf Don't use printf(".."), but fprintf(stdout, "..."),
thus send an end-of-line also when redirected to file.
2024-02-28 10:06:31 +01:00
Brian Taylor 57f148c60a Add WARNINGs when there are potential name collisions, and identify the possible name. 2024-02-23 16:29:21 -08:00
Holger Vogt a5f99a4953 Make PSP103_nqs standard, as it is used by the Open PDK from IHP 2024-02-23 14:12:49 +01:00
Brian Taylor 4c983e9133 Remove old dead code. 2024-02-23 14:06:39 +01:00
Brian Taylor 8788ce3504 Add check for a trailing } in a logicexp statement. 2024-02-23 14:06:28 +01:00
Brian Taylor 826401f6a4 Add error detection and reporting for invalid infix expressions. 2024-02-23 14:06:17 +01:00
Brian Taylor cc10bde48f Remove old dead code. 2024-02-18 13:45:59 -08:00
Brian Taylor b19c9539a9 Merge branch 'pre-master-43' into bt_dev 2024-02-18 12:36:21 -08:00
dwarning adaa3d39fc no use for grouping in cx_fft and cx_ifft 2024-02-16 13:56:43 +01:00
dwarning 3201bcb09b prevent clang error 2024-02-16 10:12:09 +01:00
dwarning fd000c079b hicum2: use device temperature for noise analysis too 2024-02-15 18:19:11 +01:00
dwarning 3a18028283 vbic: use device temperature for noise analysis too 2024-02-15 18:09:38 +01:00
dwarning 305cd85c76 mos1...3: use device temperature for noise analysis too 2024-02-15 07:49:06 +01:00
dwarning a1dbd3f3c8 bjt, dio, jfet, res: use device temperature for noise analysis too 2024-02-14 18:16:50 +01:00
dwarning 20c82a5b1b format 2024-02-14 17:50:41 +01:00
dwarning e8f1cd4c92 too soon return - break is correct 2024-02-14 14:17:01 +01:00
dwarning 8d64381795 rm confusing comments and formatting 2024-02-14 14:14:15 +01:00
Brian Taylor dc3fd4c4b8 Add check for a trailing } in a logicexp statement. 2024-02-13 21:21:39 -08:00
Brian Taylor 365809d315 Add error detection and reporting for invalid infix expressions. 2024-02-13 16:10:28 -08:00
Brian Taylor b5f96d68de Merge branch 'pre-master-43' into bt_dev 2024-02-13 09:02:29 -08:00
Holger Vogt bfb2a5fd9c As preliminary, better not change CURRENT 2024-02-13 14:59:49 +01:00
Holger Vogt b9c1f68ee0 Preliminary fix to bug report 660
Final setting will be decided before next release.
2024-02-13 14:04:58 +01:00
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. 2024-02-13 10:11:28 +01:00
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. 2024-02-13 10:11:21 +01:00
Brian Taylor e91f202fbc 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. 2024-02-12 16:04:00 -08:00
dwarning 9ed7a24a0e mos1...3: Beta in noise w/o channel length modulation 2024-02-12 18:44:35 +01:00
dwarning 6359b7b41f mos1...3: add nlev=3 mode channel thermal noise 2024-02-12 18:44:35 +01:00
dwarning c2f0b1468c mos3mask: change unusual structure name 2024-02-12 18:44:35 +01:00
dwarning 89c7b83954 mos1...3: formatting and white spaces 2024-02-12 18:44:35 +01:00
dwarning 1381d71cb1 selectable flicker noise models for mos1...3 2024-02-12 18:44:35 +01:00
dwarning 2a6db71726 formatting mos1...3 noise code 2024-02-12 18:44:35 +01:00
dwarning 1c9f8b6345 two corrections in Ycor and NF formulae 2024-02-12 11:08:35 +01:00
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.
2024-02-07 14:56:59 +01:00
Holger Vogt 7d1ea80a2e F source fails when VNAM contains math symbols like '-'.
Use INPgetNetTok for instance parameters
like it has been done for nodes already.
2024-02-02 11:15:14 +01:00
Holger Vogt c0b3511b20 compile with gcc-14 fails due to `-Werror=incompatible-pointer-types`
Patch provided by Mamoru Tasaka.
2024-02-02 11:12:24 +01:00
dwarning 1e8f9a411a rm obsolete order for spec blackman window 2024-01-26 08:32:18 +01:00
dwarning e0c3206601 partially revert commit aafd7bbb: spec triangular window 2024-01-26 07:45:27 +01:00
dwarning 8aa20cfc98 fft window functions back to correct scaling - no need need for post scaling step 2024-01-24 23:16:44 +01:00