Holger Vogt
1db8eff25c
Write message only once.
2023-11-19 10:46:19 +01:00
Holger Vogt
ecf4f819dc
typo
2023-11-19 10:44:42 +01:00
Holger Vogt
40a783408c
Remove adms, enable klu
2023-11-18 20:10:17 +01:00
Holger Vogt
86e991515e
Enable compiling with MINGW under MS Windows
2023-11-18 20:09:49 +01:00
Holger Vogt
4d4f226a83
Prevent crash, when vector is defined, but still empty.
2023-11-18 17:17:04 +01:00
Holger Vogt
e376c0e5c6
Eanble op or ac op (operating point), when selfheat is on.
...
op for tran has been o.k.
Fixme: preliminary fix or hack.
2023-11-18 17:16:19 +01:00
Holger Vogt
b62bb20e6f
Increase the allowable node name length from 24 to 256.
...
Enable safe copying, no user induced buffer overflow.
2023-11-18 10:55:19 +01:00
Holger Vogt
10756111bf
Fix a bug when deleting the memory. With the first call
...
to mem_delete() all the hash table is deleted, a second
call to mem_delete() does not have any further effect, so
has to be avoided.
2023-11-18 09:58:30 +01:00
Holger Vogt
e57979d15d
Plug two memory leaks introduced by
...
2bbadc608 ("Use a hash table glonodes to prevent
double or multiple entries in global node table
global_nodes", 2023-11-17)
2023-11-17 23:50:59 +01:00
Holger Vogt
70e366021b
Generate seed numbers from a microseconds clock, not a seconds clock
2023-11-17 18:35:21 +01:00
Holger Vogt
81bb886c71
Replace array global_nodes by hash table glonodes:
...
Save each global node only once
Search for global nodes hash table (much faster than scanning the list repeatedly).
Remove limit for amount of global nodes.
2023-11-17 17:02:06 +01:00
Holger Vogt
2bbadc6085
Use a hash table glonodes to prevent double or multiple entries
...
in global node table global_nodes
2023-11-17 13:58:57 +01:00
Holger Vogt
d060cb82af
typo
2023-11-17 13:57:39 +01:00
Holger Vogt
0735b8d0a5
fix previous commit on repeating error messages
2023-11-15 22:54:53 +01:00
Holger Vogt
22a10c0e44
typo
2023-11-15 22:54:06 +01:00
Holger Vogt
55ba927973
If nan occurs during op calculation, issue the warning
...
no more than 10 times.
2023-11-14 16:57:14 +01:00
Holger Vogt
4da3dc51fd
If compatmode ps or lt: add a series resistance (100µOhms) to
...
diodes, when RS is not given or 0:
Improves convergence in behavioural models for op evaluation.
2023-11-14 16:56:31 +01:00
Holger Vogt
29bfe94318
Exclude some code under a unified #undef REM_USED
2023-11-13 12:32:15 +01:00
dwarning
2cf2693706
few code cleanings
2023-11-12 17:04:36 +01:00
Holger Vogt
2a005292db
Sparse 1.3 is the matrix solver if no option (sparse or klu) is given.
...
KLU is selected by 'option klu'
If both 'option klu' and 'option sparse' are given,
the last one executed determines the solver.
'option sparse=0' de-selects spares, i.e. selects klu.
'option klu=0' de-selects klu, selects sparse.
'option klu=1' has the same meaning as 'option klu'.
'option sparse=1' has the same meaning as 'option sparse'.
2023-11-12 16:32:40 +01:00
Holger Vogt
5645968510
compiling with klu is now standard
2023-11-12 15:40:04 +01:00
Holger Vogt
c87df54f24
Remove unused global variable cp_dol.
...
This also prevents a gcc 13 bug, as cp_dol has been set to '\0'
by -O2 optimization (see
https://stackoverflow.com/questions/77407156/s-0-being-optimized-out-possible-gcc-13-bug-or-some-undefined-behaviour )
2023-11-11 10:39:51 +01:00
Holger Vogt
02aa2c03f9
klu is now compiled-in as standard
2023-11-10 19:48:52 +01:00
Giles Atkinson
359e3d4609
Fix Bug #467 - ".OPTION INTERP has accuracy issue".
2023-11-09 12:09:05 +00:00
Giles Atkinson
10386ee3e3
Commit [35d338]ngspice partly reverted commit 423f9a9db to fix deletion
...
of source files if make was accidentally used in the source tree.
That caused the original bug to return. Fix the problem by deleting
the generated source files by name (no such files exist in source.
Also make the generated files depend on cmpp, making 'make clean'
unnecessary after a chenge to cmpp.
2023-11-09 12:08:02 +00:00
Giles Atkinson
f6f7319792
Add null-pointer checks to some code that crashed when trying
...
to .print results from a non-existent analysis. Also remove the
troublesome .plot and .print lines from two examples.
2023-11-09 12:07:31 +00:00
Giles Atkinson
4228ba6e8a
Ignore end-of-line comments in quoted strings.
2023-11-09 12:06:34 +00:00
Holger Vogt
0a087809d6
If both node names are the same, just print them once in the error message.
2023-11-08 13:12:06 +01:00
Brian Taylor
0555c5d9c7
Make previous KLU support check more transparent.
2023-11-08 11:49:28 +01:00
Brian Taylor
295f212de8
When CIDER is detected, until KLU works with CIDER, print Error: CIDER simulation is not (yet) supported with 'option klu'. Use 'option sparse' instead. and then call controlled exit(1).
2023-11-08 11:49:22 +01:00
dwarning
35d338f256
partly revert commit 423f9a9db - don't remove xspice/icm .c files
2023-11-08 07:59:36 +01:00
Holger Vogt
d27b888f13
Noise simulation is buggy when using the KLU solver. Thus for now it is disabled.
...
Use 'option sparse' instead.
2023-11-06 15:03:09 +01:00
dwarning
4e1452cdb7
rm compiler warnings
2023-11-04 19:36:31 +01:00
dwarning
42f882e4e4
add osdinoise.c
2023-11-04 19:36:31 +01:00
dwarning
e67a6a1297
add osdinoise
2023-11-04 19:36:30 +01:00
Pascal Kuthe
5223f4b27d
fix(hicuml2): ensure flicker noise power is always stored in state vec
2023-11-04 19:36:30 +01:00
Pascal Kuthe
c21f87051a
always compute osdi noise powers
...
ngspice will reuse operating points for noise analysis so we can not trust
the mode flags
2023-11-04 19:36:30 +01:00
Pascal Kuthe
826cddb483
add examples for OSDI noise
2023-11-04 19:36:30 +01:00
Pascal Kuthe
f66e0bf2ac
implement osdi noise support
2023-11-04 19:36:30 +01:00
Brian Taylor
04c68d5f30
Cleanup child processes on Windows VisualC and Mingw. On Linux those processes quit when ngspice quits.
2023-10-28 19:45:24 +02:00
Brian Taylor
864ef7925c
Add notes on the structure and organization of an external d_process program.
2023-10-28 19:43:50 +02:00
Brian Taylor
4219efb5d5
Make it explicit that null output ports are not allowed. The output port vector bounds are always >= 1.
2023-10-28 19:43:46 +02:00
Brian Taylor
5c6b9f03b5
Fix the zero count.
2023-10-28 19:43:41 +02:00
Brian Taylor
1f5f7ae439
Update d_process examples.
2023-10-28 19:43:36 +02:00
Brian Taylor
c83d11c9c0
Call cm_cexit() to prevent the simulator running when d_process initialization errors occur.
2023-10-28 19:43:23 +02:00
Holger Vogt
21761207bc
Change license to 3-clause BSD (see
...
https://sourceforge.net/p/ngspice/ngspice/merge-requests/6/?limit=25#fd4f/73e6 )
2023-10-28 14:55:13 +02:00
Brian Taylor
09f070f582
Error handling improvements in cfunc.mod. Ensure that d_process.h wiil always respond to version and interface checks sent from sendheader. This is needed so that the pipe reads in sendheader do not cause Windows to hang when the interface version and in/out counts do not match. This hang was the cause of errors not being reported and the Windows gui hanging. Startup and header checks are now detected in cm_d_process, and the simulator will run but with runtime errors since a d_process model cannot be completely instantiated after initial errors. It would be good to find a means of gracefully halting the simulation run.
2023-10-28 11:00:33 +02:00
Brian Taylor
8c72a76844
Another attempt at clean up of error handling and reporting. It's OK on limux and cygwin, but Windows VisualC is being stubborn. I would prefer not to have to call exit(1) just for Windows, since then nothing is reported and the gui disappears in a puff of smoke. Even without the exit calls nothing gets reported with the Windows gui which will hang when there are errors detected by d_process.
2023-10-28 11:00:28 +02:00
Brian Taylor
4eae039779
Add modifications note.
2023-10-28 11:00:23 +02:00
Brian Taylor
4530cde8e2
Use Xspice cm_message_send to report errors rathen than printing to stderr and calling exit. When a d_process model has errors found in start(), sendheader(), and dprocess_exchangedata() these are reported, but if the model is run a SIGINT is raised. There must be a better way of stopping the simulator.
2023-10-28 11:00:18 +02:00