Árpád Bűrmen
16798edb36
Minor change.
2024-11-02 22:43:35 +01:00
Árpád Bűrmen
5f8ab0eb67
Minor change.
2024-11-02 22:43:28 +01:00
Árpád Bűrmen
9d2e2f77c0
Minor change.
2024-11-02 22:43:22 +01:00
Árpád Bűrmen
b40dcaa18d
OpenVAF-reloaded compiled model support.
2024-11-02 22:43:06 +01:00
Holger Vogt
368c59466b
Allow plotting a single point in an ascii plot
...
(command .asciiplot)
2024-11-02 22:42:42 +01:00
Giles Atkinson
e3f7cf3e0a
Fix Bug #698 -
...
"Initial transient solution assumes voltage source=0 even if it is not."
Cause was another error in ad5bb9eb8d , fix for Bug #607 , which uncovered
an earlier latent bug.
2024-11-02 22:42:22 +01:00
Giles Atkinson
537d55d80b
Improve an error message.
2024-11-02 22:42:12 +01:00
Giles Atkinson
cf812da363
Try to clarify the mechanism of parameter substitution and add
...
an example of substituting an XSPICE vector parameter.
2024-11-02 22:41:59 +01:00
Brian Taylor
e130371410
Added: Error: Pole/zero analysis is not (yet) supported with 'option KLU'.
...
Use 'option sparse' instead.
2024-11-02 22:41:42 +01:00
briantofleeds
09d352be12
This does not fix noise analysis with klu.
...
It does add missing { and } when event-driven instances are not present.
Without this change CKTop will always be called again directly in NOISEan even
if CKTop was previously called by EVTop. This matches the intended
behavior before #ifdef KLU was added.
2024-11-02 22:41:21 +01:00
Holger Vogt
b350786c48
Some cosmetics
2024-11-02 22:40:54 +01:00
Holger Vogt
bafa3ff8a3
Revert the sign of ac_gain.real
...
Fix bug no 697, reported by Matthieu Guerquin-Kern
2024-11-02 22:40:43 +01:00
Alessio Cacciatori
f300154922
Insert correct conversion sections for KLU matrices
2024-11-02 22:39:50 +01:00
Holger Vogt
2129ac26fd
Add optional series resistance or junction capacitance, if non
...
is defined in the .model statement. This may help achieving
convergence if subcircut models of opamps etc use simple diodes
as voltage limiters. Example call:
.options diode_cj0=20p diode_rser=20m
2024-11-02 22:39:24 +01:00
Holger Vogt
d5f0c6598f
Fix commit 09685dde1
...
("Set lower case for variables or vectors in command 'echo'.
Tokens starting with '$' will get lower-casing.", 2024-09-07)
Don't use s as name for temporary string, as s has been set
already and is used later.
2024-11-02 22:39:03 +01:00
Holger Vogt
b62528d7e5
Set lower case for variables or vectors in command 'echo'.
...
Tokens starting with '$' will get lower-casing.
2024-11-02 22:38:49 +01:00
Francesco Lannutti
419e821a09
Fixed KLU conversion to complex for SP Analysis
2024-11-02 22:38:03 +01:00
Holger Vogt
287280c3db
Make error messages more verbose:
...
add line number and source file name.
2024-11-02 22:37:47 +01:00
Holger Vogt
bce621680b
Add line number and source file to some error messages
2024-11-02 22:37:31 +01:00
Holger Vogt
8e8716abc7
Fix warning message
2024-11-02 22:37:12 +01:00
Holger Vogt
c2c35b56a4
More on verbose error and warning messages
2024-11-02 22:36:46 +01:00
Holger Vogt
4e6af5a55f
Allow KiCad special token V(/xyz) by quoting
2024-11-02 22:36:26 +01:00
Holger Vogt
c33fd66a21
Make error messages more verbose:
...
add line number and source file name.
2024-11-02 22:36:11 +01:00
Brian Taylor
3528156d14
Fix bug #680 . Check that src/dest memcpy arguments are non-NULL.
2024-11-02 22:35:57 +01:00
Matthias Schweikardt
8fbd357fdd
extend bsim4 operating point info list
2024-11-02 22:35:10 +01:00
Holger Vogt
123ed0aada
Add simulator version info to raw file ('write' commad)
...
using an extra line 'Command: ...').
The old sequence (adding commands manually to raw file) is
still available.
The 'Command: anycommand' will not be executed if loading
an ngspice-generated raw file. Raw files from other simulators may
generate a warning that the command is not available.
2024-11-02 22:34:59 +01:00
Holger Vogt
1087c6a0c2
Add simulator version info to raw file in batch mode,
...
using the line 'Command:...'
2024-11-02 22:34:41 +01:00
Giles Atkinson
14844af175
Fix #686 : "XSpice Verilog Vector Input Bug".
...
Bug report and fix by Aodhan Murray.
2024-11-02 22:34:23 +01:00
Holger Vogt
5f059abdca
Improve debugging using shared ngspice:
...
print out each command received.
2024-11-02 22:34:05 +01:00
Holger Vogt
f495431509
Add a comment
2024-11-02 22:33:52 +01:00
dwarning
4cffcd96ce
add missing klu bindings
2024-11-02 22:32:33 +01:00
Vogt
606c6d0df7
Notes go to stdout.
2024-11-02 22:32:14 +01:00
Vogt
232101af10
Don't dereference a NULL pointer.
2024-11-02 22:32:03 +01:00
Vogt
501a64470f
Error and warning messages to stderr
2024-11-02 22:31:47 +01:00
Vogt
34549c4524
Note directed to stdout
2024-11-02 22:31:27 +01:00
Holger Vogt
4a1698c22d
enable compiling with CYGWIN
2024-11-02 22:31:13 +01:00
Giles Atkinson
f4c7202130
Fix gcc warnings.
2024-11-02 22:30:45 +01:00
Giles Atkinson
64a9a0bfbc
Add a utility function to the d_cosim code model to open dynamic
...
libraries. It automatically tries adding standard file extensions,
so that model lines for d_cosim can be the same for all OSs.
2024-11-02 22:30:15 +01:00
Giles Atkinson
ce1ecca15e
Add support for including Verilog simulation within an instance
...
of the d_cosim codemodel, using libvvp, the simulation runtime of
Icarus Verilog. This complements the existing method using Verilator.
The new source code is built into two binary shared libraries,
ivlng.so (or .DLL) and ivlng.vpi that are loaded during simulation.
2024-11-02 22:30:07 +01:00
Giles Atkinson
693a9df09f
Add support for Verilator's --timing option, allowing use of delays
...
in Verilog source code. Also add two parameters to d_cosim:
sim_args is used to pass string arguments to a Verilator simulation;
and lib_args is for future use. In vlnggen, also check for two causes
of failure: a verilator error may lead to creation of interfering header
files; and misleading instances of verilated_shim.cpp can cause an obscure
failure (reported by Diarmuid Collins).
Use a generic name for the generated DLL in MSVC.CMD.
2024-11-02 22:29:54 +01:00
Giles Atkinson
4173d0e220
Allow trailing null connections to be omitted from XSPICE device
...
lines. Also tidy some code,
2024-11-02 22:29:34 +01:00
Giles Atkinson
98076281c6
Changes to d_cosim to work with initial support for Icarus Verilog.
...
Fully resolve symbols on loading and tolerate attempts to set
output in the past.
2024-11-02 22:29:19 +01:00
dwarning
9c5507d1c8
vbic: have to load Vrxf/Itxf with value
2024-11-02 22:29:07 +01:00
dwarning
14402ea911
vbic: correct op reporting for excess phase model
2024-11-02 22:28:53 +01:00
dwarning
8c6fb7c5e0
format: rm misleading indentation
2024-11-02 22:28:39 +01:00
Holger Vogt
295be20859
Remove sourceinfo upon shared ngspice reset.
...
Remove memory leaks.
2024-11-02 22:28:21 +01:00
Holger Vogt
a2ca4616b9
Memcpy only when p_word is not NULL
...
enable -fsanitize=address
2024-11-02 22:27:59 +01:00
Holger Vogt
28c501bfef
Add #define RESMIN 1e-6 as a minimum resistor value
2024-11-02 22:27:44 +01:00
Holger Vogt
a6240eed87
Stop the worker thread when running
...
Delete mutexes only after all other resets and delets.
2024-11-02 22:27:26 +01:00
Holger Vogt
250e9afd92
Set pl_lookup_table to NULL after freeing: allow another initialization
2024-11-02 22:27:08 +01:00
Holger Vogt
fd72c3ce3e
Bail out when state file is not found.
2024-11-02 22:26:53 +01:00
Holger Vogt
d0ae65accf
Add function ngSpice_Reset(void) to completely reset shared ngspice,
...
so that it may be restartet again by ngSpice_Init
2024-11-02 22:26:35 +01:00
Holger Vogt
4f8cfbf9f9
Update copyright
2024-11-02 22:26:20 +01:00
Mamoru TASAKA
099c0e65c2
misc/string.c: fix one byte ahead access in dup_string
...
In dup_string in misc/string.c , even if the destination
buffer is allocated with n_char bytes,
the source buffer `str` can be accessed up to only n_char bytes.
2024-11-02 22:22:06 +01:00
Holger Vogt
a8c1104cfb
43+ developing towards ngspice-44
2024-11-02 22:21:51 +01:00
Holger Vogt
2af390f0b1
Update copyright info
2024-07-13 10:14:02 +02:00
dwarning
08d834841f
diode: init of potential uninitialized variable
2024-07-12 14:26:53 +02:00
dwarning
4ad7d10aef
init of potential uninitialized variables
2024-07-12 14:26:44 +02:00
dwarning
bbfb3953ed
repair missing parenthesis
2024-07-12 14:26:33 +02:00
dwarning
aae53f3641
complete vbic nqs effect implementation
2024-07-12 14:26:18 +02:00
dwarning
065b1c817c
more complete vbic dc/tran nqs effect
2024-07-12 14:25:04 +02:00
dwarning
6e6e2fb203
first attempt to include NQS effect
2024-07-12 14:24:50 +02:00
Holger Vogt
1fef3835c9
Fix common typo: unkown -> unknown
2024-07-09 14:50:21 +02:00
Holger Vogt
3c7012a826
Repair the link to the xhtml manual
...
Thanks to Geoffrey Coram for the hint.
2024-07-05 23:59:37 +02:00
Holger Vogt
83e8cb3715
Remove VS compiler warning
2024-07-05 13:53:04 +02:00
dwarning
62677575fa
vbic: init of thermal capacitances
2024-07-05 13:52:56 +02:00
dwarning
113275d3be
vbic: save Vrth into state vector
2024-07-05 13:52:45 +02:00
dwarning
1b56bbe297
vbic: complete reactive part into acload
2024-07-05 13:52:33 +02:00
dwarning
8a88442004
vbic: more adding reactive part into acload
2024-07-05 13:52:22 +02:00
dwarning
32c4f24bfe
vbic: first add reactive part into acload
2024-07-05 13:52:11 +02:00
dwarning
c90da3ee38
vbic: add resistive part into acload
2024-07-05 13:52:03 +02:00
Holger Vogt
acdd93f157
If compiling shared ngspice, don't set up a terminal.
2024-07-01 09:42:58 +02:00
Holger Vogt
28d8301b5f
Prevent crash upon buggy user input
2024-07-01 09:42:45 +02:00
Holger Vogt
442d8554f0
Enable single terminal n devices (Verilog-A modules)
2024-07-01 09:42:28 +02:00
Holger Vogt
727a920032
Authorship for HICUM
2024-06-24 17:21:50 +02:00
Holger Vogt
33939d3f50
Prepare ngspice-43
2024-06-22 17:06:45 +02:00
Holger Vogt
14bb63490c
Plug a memory leak
2024-06-22 16:33:53 +02:00
Brian Taylor
d01868b725
Cleanup gcc compiler warnings.
2024-06-22 14:23:50 +02:00
Holger Vogt
b1795dbcf2
add path or filepath (without file name) to variable sourcepath,
...
when calling command 'source'
2024-06-22 14:23:41 +02:00
Holger Vogt
fb6820de30
Send warning message to stderr, not to stdout.
2024-06-22 14:23:29 +02:00
dwarning
11a3711d86
revert commit ea4c438 and db85dead by removing VJ and M limiting
2024-06-22 14:23:13 +02:00
Holger Vogt
dd6089c4fc
Improved warning message: hint to line causing the warning.
2024-06-22 14:22:59 +02:00
Holger Vogt
f15a92d997
Revise commit
...
75c2a3c621 /
If the frquency difference is less than a decade, use the old
frequency calculation.
If start and stop frequencies are equal, use a single point only.
2024-06-22 14:22:38 +02:00
Holger Vogt
d61a728688
Add function check_for_nodes to
...
check if there are enough tokens in an instance line.
2024-06-22 14:22:06 +02:00
Holger Vogt
0362953cd4
Bail out when the instance line is not complete.
...
Moving on does typically not make any sense.
2024-06-22 14:21:56 +02:00
Holger Vogt
e5195c10a3
Enable monotonic negative growth of abscissa values.
2024-06-22 14:21:42 +02:00
Holger Vogt
32901f9d0c
Error messages to stderr only.
...
For MS Windows: Make code model path absolute.
Call LoadLibrary only when *.cm file exists. Until now
spurious return from LoadLibrary prevented error message,
when *.cm was not found, followed by a crash upon 'quit'.
2024-06-22 14:21:28 +02:00
Holger Vogt
fa5ac4a0cd
When reading code models, allow only a single model pere command
...
(as was implicitely assumed anyway).
2024-06-22 14:21:15 +02:00
Holger Vogt
344beaad24
Add ft_spiniterror, to be set during spinit processing,as
...
ft_stricterror will be set only later, when .spiceinit is
executed.
2024-06-22 14:21:01 +02:00
Holger Vogt
36e7835afd
Remove Valgrind "potentially undefined" message.
2024-06-22 14:20:44 +02:00
Holger Vogt
74fc096bfd
Enable coupling of more than 2 inductots in a single line:
...
K1 L1 L2 L3 L4 L5 0.99
2024-06-22 14:20:33 +02:00
Holger Vogt
a5bf93d04d
'No OP' is the more important news, update note to the user.
2024-06-22 14:20:15 +02:00
Holger Vogt
ee39d678b7
Improve comment
2024-06-22 14:20:01 +02:00
Holger Vogt
ace47103e7
Search path for .lib and .include has been enhanced to read complete
...
or partial paths from environmental variables. The env variable
names have to start with '$' as the first character after the .inc
or .lib token. Two consecutive env variables are possible. They are
read each until directory separator '/' or '\\', or if none is found,
until the end of the line. In this case the filename has to be included
in the env variable. A .lib line may look like
.lib "$ENVS1\$ENVS2/libraries\sky130_fd_pr\latest\models\sky130.lib.spice" tt
If an env variable is read successfully, a ngspice variable with
the same name (without leading '$') and contents is defined for
use in a .control section.
2024-06-22 14:19:48 +02:00
Holger Vogt
252ca65f56
Add '.save nosub' to suppress storing the node vectors from inside
...
of subcircuits.
Saves a lot of memeory if using devices with subcircuit models,
and one is not interested in the inner workings of the device model.
2024-06-22 14:18:25 +02:00
dwarning
02a5cd5ea6
mos1...3: set channel thermal noise to 0 in subthreshold range for nlev=3
2024-06-22 14:17:45 +02:00
dwarning
f44a0ede08
mos1...3: logical error-prevent garbage for nlev=3
2024-06-22 14:17:36 +02:00
dwarning
ac5470568c
diode: no need for vte recalculation, rhs not changed
2024-06-22 14:17:28 +02:00
Holger Vogt
621918f289
Transform nested braces {{}} into {()} also in .param statements
...
(See TI PSPICE model for LMR33630).
2024-06-22 14:17:16 +02:00
Holger Vogt
2f5b869979
Issue this warning only when 'set ngdebug' is given.
2024-05-14 16:32:45 +02:00
Holger Vogt
29c4a2a151
Improve error message if malloc or realloc fails.
2024-05-14 16:32:38 +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
dwarning
63a6234c92
diode: add saturation current temperature model tlev=2
2024-05-14 16:32:17 +02:00
Holger Vogt
0e465068b0
Identifier 'card' may not be available or not useful when
...
netlist is loaded via circbyline().
2024-05-14 16:32:06 +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
4cc5966b6a
Don't delete sourceinfo as it may lead to a crash upon 'quit'.
...
Needs further investigation.
2024-05-14 16:31:23 +02:00
Holger Vogt
893cd42064
Reload sourceinfo when changing the current circuit.
2024-05-14 16:31:15 +02:00
Holger Vogt
36bc67ecbb
Save the wordlist sourceinfo to the current circuit.
...
Remove sourceinfo only upon 'quit'.
2024-05-14 16:30:59 +02:00
Holger Vogt
fc7ba6ee8f
Add a fcn wl_delete to free the wordlist, but not its wl_word contents.
2024-05-14 16:30:49 +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
eaae4d2212
Add linenum_orig and linesource info to newly generated
...
U device lines.
2024-05-14 16:30:15 +02:00
Holger Vogt
c796171638
Add char *lineinfo to parameters of fcn insert_new_line
2024-05-14 16:30:04 +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
Holger Vogt
03ba8397cc
Add the original line source information to the new line.
2024-05-14 16:29:24 +02:00
Holger Vogt
2d8fe0362f
Allow delay of 0, as requested by Infineon model of the 2EDNY52X
2024-05-14 16:29:07 +02:00
Holger Vogt
89b25c5d58
Do not add line number 0, but the number of the original
...
.probe command to linenum_orig.
2024-05-14 16:28:51 +02:00
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
2024-05-14 16:28:40 +02:00
Holger Vogt
da3d51ce9a
Add 'linesource', to contain the path/file of the origin of the line.
2024-05-14 16:28:17 +02:00
Holger Vogt
2ac12df93b
while copying a deck, copy the new infos
2024-05-14 16:27:56 +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
Giles Atkinson
9f0e44cace
Fix an error in cfbe1afa21 that causes a crash in d_cosim.
2024-05-01 10:55:10 +02:00
dwarning
6b80d21e36
diode: add alternative bangap calculation for tlev=2
2024-05-01 10:54:45 +02:00
dwarning
5fdd21f239
diode: add model parameter xw for mask and etching effect (level=3)
2024-05-01 10:54:29 +02:00
Holger Vogt
44d0991af0
Replace IOP by IOPR
2024-05-01 10:53:50 +02:00
Pat Deegan
52365c718a
level 3 note on breakdown voltage params
2024-05-01 10:46:45 +02:00
Pat Deegan
bcc769af0e
Diode Model Parameters, Level 3, support for diode breakdown voltage synonyms, as used in sky130 PDK
2024-05-01 10:46:22 +02:00
Holger Vogt
cf4684f9ae
Stop ngspice in case of pwl errors, avoid crash.
2024-05-01 10:33:42 +02:00
Holger Vogt
5d207f7b43
Add environmental variable NGSPICE_OSDI_DIR. It may contain
...
a path for *.osdi files (compiled Verilog-A models). The search
sequence for a *.osdi file now is:
Absolute path (if any)
Linux home directory ~/
Path in NGSPICE_OSDI_DIR
Path of netlist loaded
Path of executable ngspice.exe
Path of 'Current working directory'
2024-05-01 10:33:14 +02:00
Holger Vogt
a48b1f8f46
allow compiling with CIDER deselected
2024-05-01 10:32:54 +02:00
Holger Vogt
4ed1ebf874
avoid crash when compiled with lto
2024-05-01 10:32:43 +02:00
Holger Vogt
1cdacad261
optran 0 0 0 0 0 uic may be used to load initial conditions
...
(.ic=xxx statements) without staring an op iteration.
2024-05-01 10:32:31 +02:00
Holger Vogt
39b5ea0d3f
no lower casing for file input paths
2024-05-01 10:32:23 +02:00
Holger Vogt
2bee691717
correct the link to the license text.
2024-05-01 10:31:58 +02:00
Giles Atkinson
5f59d76a03
Suppress some warnings from MSVC.
2024-05-01 10:31:25 +02:00
Giles Atkinson
6ce627e6f8
Tidy d_process/ifspec.ifs so that it works after changes in
...
mif_inp2.c and writ_ifs.c to enforce "Null_Allowed".
2024-05-01 10:31:15 +02:00
Giles Atkinson
27eda59034
Make the 'Null_Allowed' option for XSPICE code model parameters
...
behave as reasonably expected and as described in the manual.
Previously a missing (null) value was always accepted if the ifsspec.ifs
file contained a default value, and several of the the included
code models worked that way. Where there was a useful default,
"no" has channged to "yes". Some models with a look-up table defined
by two parameters had such defaults that did nothing useful. Thay have
been given useful vector defaults. These changes should not affect
previously-working netlists.
2024-05-01 10:31:07 +02:00
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
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
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
dwarning
8d64381795
rm confusing comments and formatting
2024-02-14 14:14:15 +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
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