Giles Atkinson
7dd2db904c
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-05-01 10:30:48 +02:00
Giles Atkinson
0152ea92db
Support use of vector defaults for XSPICE vector parameters.
...
This answers Feature Request 60 - "Array as default value for parameter".
2024-05-01 10:30:40 +02:00
Giles Atkinson
8ad759bd66
Use the correct type of hash table for device and model names.
...
This fixes unpredictable failures of commands like "print @some_device".
2024-05-01 10:30:31 +02:00
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.
2024-05-01 10:30:16 +02:00
dwarning
3684db0126
use limexp to prevent NaN with extreme exponents
2024-05-01 10:30:03 +02:00
dwarning
0fdd412324
format
2024-05-01 10:29:53 +02:00
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.
2024-05-01 10:29:35 +02:00
Brian Taylor
0ec0c92eae
Go back to before previous merge.
2024-05-01 10:29:21 +02:00
Brian Taylor
31ed74041f
Remove unnecessary #include.
2024-05-01 10:29:06 +02:00
Brian Taylor
57048228e9
Add variable ps_scan_gates_optimize (default 1). If < 1, then turn off the optimizations in scan_gates.
2024-05-01 10:28:53 +02:00
Holger Vogt
ab0cf31148
Guard reading and executing spinit by variable no_spinit.
2024-05-01 10:28:40 +02:00
Holger Vogt
8f2f0088f2
Add a new exported function ngSpice_nospinit() to set
...
variable no_spinit.
2024-05-01 10:28:09 +02:00
Holger Vogt
2c2c97104f
Unify all spinit sources
2024-05-01 10:27:31 +02:00
Holger Vogt
ac7584bcf6
Unify the function interface, avoid lto-type-mismatch
2024-05-01 10:27:19 +02:00
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.
2024-05-01 10:27:09 +02:00
Holger Vogt
3341b2e045
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-05-01 10:25:12 +02: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
dwarning
7722c3dc6b
only access to CKTkluMODE if KLU configured
2024-03-25 09:20:51 +01:00
Holger Vogt
03a1010a65
Repeat loop requires plain number, transformed vector, or transformed variable
2024-03-19 17:05:10 +01:00
Holger Vogt
92b3a901c7
The values used in the foreach loop my be given by a vector
...
(in addition to plain numbers or a list variable).
2024-03-19 16:41:27 +01:00
Holger Vogt
e27f093fb7
Prevent error: implicit declaration of function ‘get_local_home’
...
[-Werror=implicit-function-declaration], if editline is selected.
2024-03-16 23:18:13 +01:00
Holger Vogt
0c2c10eb9c
add 'option klu' to printout
2024-03-16 23:13:03 +01:00
Brian Taylor
715ce8c809
Return correct error statuses. Detect another illegally placed gate operator in an infix expression.
2024-03-15 21:53:13 +01:00
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.
2024-03-15 19:20:53 +01:00
Holger Vogt
054a65c2d5
Fix a bug in 'reset', where .subckt are not transformed
...
due to wrong line count in dynmaxline.
2024-03-15 19:20:47 +01:00
dwarning
7e39c10bee
introduce jfet gate-drain and gate-source junction emission coefficient
2024-03-13 21:55:38 +01: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
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
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
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