Commit Graph

6143 Commits

Author SHA1 Message Date
Holger Vogt 21f5b20951 Unify stack reserve 4194304 and stack commit 1048576
for all 64 bit configurations
2018-10-13 23:45:21 +02:00
Holger Vogt 24beadb11b VC++: make the library path for fftw independent from the actual version:
fftw-3.3.5-dll64 --> fftw-3.3-dll64
2018-10-13 23:39:50 +02:00
Holger Vogt f46135cc03 script to start GTKWave 2018-10-13 22:47:53 +02:00
Holger Vogt 6edc120660 update for ngspice-29 2018-10-13 22:42:11 +02:00
Holger Vogt 7787268118 Enable psa, ltpsa compatibility mode 2018-10-13 22:41:55 +02:00
Holger Vogt b0d79630a4 New variable no_auto_gnd
'set no_auto_gnd' in spinit or .spiceinit will preclude
ngspice to automatically replace 'gnd' by global '0'
2018-10-13 18:20:18 +02:00
Holger Vogt b3db3c7fd9 Don't modify 'working' address, insert new item (functions etc)
only after ther first line.
2018-10-13 18:20:13 +02:00
Holger Vogt 522af31788 unify stacke size reserved 4194304
stack size comitted 1048576
2018-10-13 18:20:09 +02:00
Holger Vogt 205a455070 corrected 64 bit for x64 2018-10-13 18:20:03 +02:00
Holger Vogt 3930e27501 New compatibility modes (set ngbehavior=??): PS LT LTPS PSA LTA LTPSA
PS: PSPICE comp. in .include files., LT: LTSPICE comp. in .include files.
LTPS: both, PSA: PSPICE comp. in complete input deck,
LTA and LTPSA: comp. in complete input deck for LT or both.

Add functions uplim, dnlim, uplim_tanh, dnlim_tanh.

Replace
D1 A K SDMOD
.MODEL SDMOD D (Roff=1000 Ron=0.7  Rrev=0.2  Vfwd=1  Vrev=10 Revepsilon=0.2 Epsilon=0.2 Ilimit=7 Revilimit=7)
by
ad1 a k asmod
.model asmod sidiode(Roff=1000 Ron=0.7  Rrev=0.2  Vfwd=1  Vrev=10 Revepsilon=0.2 Epsilon=0.2 Ilimit=7 Revilimit=7)
2018-10-13 18:19:58 +02:00
Holger Vogt 0b7c291f37 replace Id by Idd.
Use Revilimit instead of Ilimit.
Correct for current limits.
2018-10-13 18:19:53 +02:00
Holger Vogt 0675da008b make the paramter param in @dev[param] lower case for
commands alter, altermod
2018-10-13 18:19:49 +02:00
dwarning 7bb9b866f6 fix junction capacitance calculation for bsim3 versions lower than 3.2.3 2018-10-13 18:19:43 +02:00
dwarning 2b3cfd7727 white spaces 2018-10-13 18:19:38 +02:00
Holger Vogt d636f7899b cp_enqvar() returns freshly malloced variables as well
as variables owned by somebody else, e.g. from ft_curckt->ci_vars.
The new function parameter tbfreed notifies the caller if the
variable is malloced here and may be freed safely.
2018-10-13 18:19:31 +02:00
Holger Vogt 6df684e22a Evaluate .if ... .elsif ... .else ... .endif recursivly 2018-10-13 18:19:21 +02:00
Holger Vogt a22017024b add some info to file header 2018-10-13 18:19:09 +02:00
Holger Vogt faa7ce003c Add a new code model 'sidiode' with a simple diode:
Linear reverse, off, and on regions
Smooth parabolic transition between the regions
Maximum current settings possible with tanh transistion
Current versus voltage continuously differentiable
No diode capacitance
2018-10-13 18:18:59 +02:00
dwarning 76c43ab512 using the native tan and tanh math functions for real vector calculation 2018-10-13 18:18:47 +02:00
dwarning 3dd94ba15c differentiate tan and tanh in safe way without cos and cosh 2018-10-13 18:18:37 +02:00
Holger Vogt f33c3f0751 remove memory leak, when ft_getnames ... free_pnode couple
parses a vector like v(1,2)
2018-10-13 18:18:23 +02:00
dwarning 80c8bed17d diode recombination enhancement 2018-10-02 16:33:57 +02:00
Holger Vogt ae89381bb6 Prevent a segfault if multiple circuits are freed upon 'quit'
by checking if a 'recent_deck' that is to be freed also exists
with same address in ci_mcdeck of another circuit. If yes, set
this to NULL before freeing.
2018-09-26 18:47:20 +02:00
Holger Vogt a17de08b5c free only value that have been TMALLOCed or TREALLOCed 2018-09-26 18:47:06 +02:00
Holger Vogt 5f5ec4f49a Sort out spinit and vngspice.vcxproj:
During installation into C:\Spice.... a spinit
from spinit_all is copied, having relative paths to the
code models.
A local spinit (needed for the running the local debugger)
is copied from either spinitd or spinitd64, referencing
the code models stored in C:\Spiced..\lib\ngspice by
setting the absolute path.
2018-09-26 18:46:52 +02:00
Holger Vogt 2a3c88add6 Commit ad0f59657 ("fix a memory leak", 2018-08-13) made
the special device parameter notation @m1[vt0] unusable.
This fix frees only the tokens that are already overridden
in function INPinsertNofree(). The reason for using this
function instead of INPinsert() is not obvious.
2018-09-26 18:46:12 +02:00
Holger Vogt 66e8e440ea update, bug fixed 2018-09-26 18:45:56 +02:00
Holger Vogt 5f0b2f344e spurious crash: MIFgettok deliveres strings that cannot be freed:
MS Windows, VS or MSYS2/MINGW/GCC, shared ngspice, single character
token at end of line, compiled with optimization, not in debug mode.
Preliminary fix: TMALLOC another byte to token.
Origin of bug still unknown: Source code error? MS library error?
Re-write of MIFgettok does not show this error (so far...).
2018-09-26 18:45:46 +02:00
Holger Vogt 92b69cbc55 prepare ngspice-29 2018-09-26 18:45:35 +02:00
Holger Vogt 1f91d0860e Set a relative path to find spinit and to load the codemodels.
Installation will no longer require a fixed path C:\Spice64 etc.
2018-09-26 18:45:02 +02:00
Holger Vogt 0345eedf40 prepare for ngspice-29 2018-09-15 00:18:08 +02:00
Holger Vogt 5c5d3627eb Update to INSTALL, prepare for ngspice-29 2018-09-14 21:16:42 +02:00
Holger Vogt b882cc7682 FAQ update, prepare ngspice-29 2018-09-14 20:54:53 +02:00
dwarning 79a5a7942a automatic search for fftw3 can be disabled - default is yes 2018-09-14 20:34:40 +02:00
dwarning bd5379d760 one tran analysis is sufficient 2018-09-14 20:34:27 +02:00
Holger Vogt 40e69ceaf4 plug a memory leak after (internal) call to altermod 2018-09-02 18:05:22 +02:00
Holger Vogt 3138811acd README for the table model and its table directory 2018-09-02 18:05:10 +02:00
Holger Vogt 925cb49ff2 Add some description, correct minor bugs. 2018-09-02 18:05:06 +02:00
Holger Vogt 12c864fb5a destroy the tmalloced diag, if rshunt option was enabled 2018-09-02 18:05:01 +02:00
Holger Vogt 2e9c28c79a Prevent segfault, if mutual inductor coupling
specifies non-existing inductors
2018-09-02 18:04:49 +02:00
Holger Vogt b0e7962169 don't generate error message during transient analysis,
it will not be used
2018-09-02 18:04:42 +02:00
Holger Vogt fc3ffb2e3c free global string errMsg 2018-09-02 18:04:31 +02:00
Holger Vogt 0406546f7e remove a small memoryleak in (nested) goto loops 2018-09-02 18:04:25 +02:00
Holger Vogt 70439e38fa safety check if no circuit is loaded, prevent crash 2018-09-02 18:04:19 +02:00
Holger Vogt 8a813f75e8 replace mc_source by reset, to avoid adding additional circuits 2018-09-02 18:04:10 +02:00
Holger Vogt 8b02c31326 prevent reading beyond array boundaries 2018-09-02 18:04:00 +02:00
Holger Vogt a8a6e0b2ff During unsetup delete the InstanceArray (only for OpenMP) 2018-08-28 23:15:02 +02:00
Holger Vogt 800c9711f2 add a flag 'type of the union' to safely free model->param[i]->element,
if it contain a malloced string
2018-08-28 21:29:05 +02:00
Holger Vogt f6cbaea604 data[i] is no longer written beyond its allocated length 2018-08-28 18:45:19 +02:00
Holger Vogt 2867678f99 For unsetup de-allocate the memory
that has been allocated locally in the code model during INIT
2018-08-28 17:11:51 +02:00