Commit Graph

5081 Commits

Author SHA1 Message Date
Holger Vogt 9332801382 free the original wlist, made by getcommand(),
not a derived wlist that is just part of the original
2018-08-25 00:38:26 +02:00
Holger Vogt c5cea6d6c1 remove ft_curckt->ci_meas upon removing the current circuit ft_curckt 2018-08-24 22:58:02 +02:00
Holger Vogt 5f1f6ccb29 add a small comment 2018-08-24 22:41:14 +02:00
Holger Vogt 0fbe920382 plug a small memory leak in switch-oscillators.cir 2018-08-24 21:56:29 +02:00
Holger Vogt 2b50ca7271 command 'print': preserve case for filenames after redirection '>' 2018-08-24 15:41:53 +02:00
dwarning 5380c3f4da prevent a small memory leak 2018-08-23 15:44:00 +02:00
Holger Vogt 0e0b276a3e ISRC: update to trnoise source, same as in VSRC 2018-08-23 10:56:50 +02:00
Holger Vogt aedd9d92ee upon alter the trnoise or trrandom states get re-written.
so delete the old state first.
2018-08-23 10:13:17 +02:00
Holger Vogt b4c6a7d324 add function trnoise_state_free and use it
instead of its individual components
2018-08-23 10:12:24 +02:00
Holger Vogt c88578e2c5 noise value is 0 for time == zero.
Only when time changes from time == 0 to time > 0,
the 1/f noise data are generated once per voltage instance
with 1/f noise requested.
2018-08-22 22:38:34 +02:00
Holger Vogt d3b7619754 add a flag timezero to trnoise_state
falg is true as long as time = 0. Allows
to detect the change from time == 0 to time > 0
only then the 1/f data may be created anew (e.g.
due to multiple 'run' commands
2018-08-22 22:36:35 +02:00
dwarning aa95da431a adaptive format specifier for size_t printf 2018-08-22 14:19:12 +02:00
dwarning aed5ba01c0 prevent a small memory leak 2018-08-22 13:05:19 +02:00
dwarning 7d78cba9ef fix some prototype declarations 2018-08-21 13:40:13 +02:00
dwarning 561fdd805c rm unused variables 2018-08-21 13:18:24 +02:00
dwarning 598b72be37 prevent a huge memory leak by calling fftw3 in a loop 2018-08-20 16:41:43 +02:00
Holger Vogt 1f7d84b270 trivial patch to avoid memory leaks during transient noise generation.
This has to be replaced by a rewrite of the noise generating code.
2018-08-20 00:25:21 +02:00
Holger Vogt 34fcdda1e2 plug a potentially huge memory leak 2018-08-19 21:03:15 +02:00
Holger Vogt dafbf72f7f fix a small memory leak 2018-08-19 17:30:53 +02:00
Holger Vogt 8c9b18ef7e fix a small memory leak 2018-08-19 17:24:10 +02:00
Holger Vogt 7e4b68c708 update to the rusage command:
print total analysis time, total elapsed time, and
memory information (OS dependant) if rusage is given
without parameters
2018-08-19 15:00:46 +02:00
Holger Vogt f07c73b6a5 Command 'cd' now switches to the home directory also for MS Windows.
A new command 'getcwd' just prints the current working directory
without changing it.
2018-08-18 21:22:59 +02:00
Holger Vogt 9cc690c55c try to reload only when mc_deck is available
comment modified
2018-08-18 11:29:05 +02:00
Holger Vogt 2b071fec5a add loading from recent deck (mc_deck) if circuit
file has been removed by remcirc.
2018-08-18 11:28:39 +02:00
Holger Vogt 2dfdf984d6 re-number the lines during copying,
required by nupa_copy()
2018-08-18 11:28:07 +02:00
Holger Vogt f9eb75f55d skip comment lines 2018-08-18 11:28:02 +02:00
Holger Vogt ac0a70bb84 print deck after re-loading into debug-out-mc.txt,
if 'set ngdebug' is set in .spiceinit
2018-08-18 11:27:51 +02:00
Holger Vogt cebb83eec1 give preference to mc_reload when reloading the circuit 2018-08-18 11:27:44 +02:00
Holger Vogt ad0f596570 fix a memory leak 2018-08-18 11:27:31 +02:00
Holger Vogt 795f9ed6ad remove unused rparen 2018-08-18 11:27:20 +02:00
Holger Vogt b1f956f81c fix a memory leak 2018-08-18 11:27:14 +02:00
Holger Vogt 73da17e367 just keep recent_deck, when it's already equal
to current ft_curckt->ci_mcdeck, thus avoid
freeing ft_curckt->ci_mcdeck
2018-08-18 11:27:02 +02:00
Holger Vogt d1a8637a29 store deck for command mc_source for each circuit in ft_curckt->ci_mcdeck
remove this storage during remcirc

keep most recent deck in recent_deck
2018-08-18 11:26:42 +02:00
dwarning 9475daf9d2 MOS level 55-57 and 68 are available and not placeholder 2018-08-15 12:47:25 +02:00
dwarning b113041faa if bsim6 will come it would be va code and needs adms 2018-08-15 12:01:22 +02:00
Holger Vogt d8352342a8 free more data allocated during INIT 2018-08-11 11:37:19 +02:00
Holger Vogt c891c2f64f Update to callback function:
delete memory also in the eno structure
do not close a file twice
2018-08-11 00:43:54 +02:00
Holger Vogt 7e611e7b57 remove the circuits upon quit 2018-08-10 23:48:00 +02:00
Holger Vogt d26d1b96ec add callback function to delete the memory
allocated in the code model
2018-08-10 23:35:33 +02:00
Holger Vogt 9d36a2e326 remove unused i 2018-08-10 23:34:27 +02:00
Holger Vogt 2ce4c1592b a tiny memory leak 2018-08-10 22:03:02 +02:00
Holger Vogt 0bc1d8147c plug a memory leak 2018-08-10 19:56:26 +02:00
Holger Vogt a6f525f6c1 fix a memory leak 2018-08-09 23:23:18 +02:00
Holger Vogt 9db2bf3d69 fix a memory leak 2018-08-09 20:22:33 +02:00
Holger Vogt 6ed10583f2 plug small memory leaks 2018-08-08 23:31:52 +02:00
Holger Vogt dc34632421 fix memory leaks when evaluating a variable
MC example file MC_ring_ts.sp is now free of memory leaks
2018-08-07 22:46:26 +02:00
Holger Vogt 934656f6e8 fix memory leak: before killing a plot, remove its hash table entry 2018-08-07 20:42:55 +02:00
Holger Vogt cffc7d27ff beautify code with astyle 2018-08-07 19:58:52 +02:00
Holger Vogt c5b5190199 command 'setplot': add predefined 'previous' and 'next' parameters
to switch to the previous or next plot. A warning results if this
is not possible, then the currnt plot is not changed.
2018-08-07 19:58:41 +02:00
Holger Vogt 19596f0f42 add search in current directory
Patch provided by Uros Platise
https://sourceforge.net/p/ngspice/ngspice/merge-requests/4/
2018-08-07 19:58:08 +02:00
Holger Vogt 7c90004921 add Inp_Path to sourcepath variable
Patch provided by Uros Platise
https://sourceforge.net/p/ngspice/ngspice/merge-requests/4/
2018-08-07 19:57:58 +02:00
Holger Vogt e18b848f7d Allow '-' and '+' being part of the instance name.
Has already been available for B, E, F, G, and H sources
2018-08-07 19:57:38 +02:00
Holger Vogt f354f36121 replace 'magic numbers' by defines, thus setting several char arrays
safeguard these arrays against overflow
set numbers of parameters to 10000
2018-08-07 19:57:28 +02:00
dwarning 88f1fa0092 allow version model parameter in exponential format for bsim3 2018-08-07 19:57:05 +02:00
Holger Vogt 8357564fee fix missing tokens in cp_getvar 2018-07-30 00:42:46 +02:00
Holger Vogt ef5747905f fix bug no. 362, reported by Bohdan Tkhir
replace size_of by sizeof
2018-07-30 00:35:25 +02:00
Holger Vogt eab5615fb3 examples moved to examples/xspice/original-examples 2018-07-28 13:47:23 +02:00
Holger Vogt e3b2b395b9 fix an ancient bug in retrieving the data with the cursor
from a log y graph: use y-offset instead of x-offset
2018-07-26 20:55:21 +02:00
Holger Vogt 908339359a clarify start time generation
clarify time and amplitude updates
don't read comment lines
2018-07-26 20:50:36 +02:00
Holger Vogt 0c94ab948b treat ( ) , like spaces, that is ignore them during
switch parameter conversion
2018-07-26 18:21:34 +02:00
Holger Vogt d1761f8d6e read the complete input file at once during inizialization
instaed of reading the file line by line,
and instaed of re-reading from the beginning in case
of time stepping back. This saves a vast amount of
simulation time if the input file is large.
2018-07-24 22:30:40 +02:00
Holger Vogt 393c924886 improve finding tokens, considering nested parens 2018-07-22 17:33:19 +02:00
Holger Vogt f2cfb9b359 add fourth parameter to cp_getvar() 2018-07-22 15:15:10 +02:00
Holger Vogt fac5754b79 add variabale inputdir to store the last input file directory 2018-07-22 15:12:50 +02:00
Holger Vogt 2786fcb86e New .option seed=[val|random] 2018-07-22 15:11:44 +02:00
Holger Vogt 107a4a808e New .option seed=[val|random] 2018-07-22 15:09:25 +02:00
Holger Vogt 10c6c5c38b Convert .param lines containing 'agauss' and others
into .func (xxx1() 'agauss()', replace all xxx1 entries
by function xxx1().
After subcircuit expansion, replace agauss and others
in B-Line by their suitable values.
2018-07-22 15:08:44 +02:00
Holger Vogt 7ca61b3c98 New command 'setseed' with function com_sseed
to set the random number generator
2018-07-22 15:06:19 +02:00
Holger Vogt 8fbcb16a57 add fourth parameter to cp_getvar(), in functions missing so far 2018-07-22 14:58:25 +02:00
Holger Vogt af70c2e8f0 cp_getvar with CP_STRING: add size of string to function parameters 2018-07-22 14:58:06 +02:00
Holger Vogt 09c876550f prevent string overflow by adding the string length
to the cp_getvar parameters. Used only with CP_STRING
2018-07-22 14:57:49 +02:00
dwarning 60a35725f5 few optimizations for diode recombination current calculation 2018-07-22 10:18:52 +02:00
Holger Vogt 8930690cd2 plug a small memory leak 2018-07-22 09:53:14 +02:00
Holger Vogt 824ac4fbc9 make functions static or add function prototypes 2018-07-21 23:56:14 +02:00
Holger Vogt 2dd293707b initialize pn in ft_getpnames() parse.c
initialize dwLen in tesCreateSystemInfo() in com_sysinfo.c
Both were reported by MSVC Code Analysis
Crash of ngspice.dll in Eeschema is thus removed
(hopefully in general)
2018-07-21 23:55:00 +02:00
Holger Vogt b07ae3123e use only internal memory functions,
replace strdup by copy
2018-07-21 23:54:51 +02:00
Holger Vogt a98d01e5f8 Use only internal memory functions, replace
free->tfree, malloc->tmalloc, realloc->trealloc
2018-07-21 23:54:43 +02:00
dwarning 376a37a5d6 introduce recombination current component 2018-07-19 15:44:06 +02:00
dwarning 3bae0e371c fix a small inconsistency in temperature dependent charge calculation 2018-07-19 14:08:35 +02:00
Holger Vogt a2b52b588e a space is required between tokens that have got {} 2018-07-14 21:14:54 +02:00
Holger Vogt d9d47bd823 fix a bug: missing
#ifdef XSPICE
prevents compiling of ngshared
without --enable-xspice in ./configure
2018-06-30 21:19:51 +02:00
Holger Vogt 417dbfef72 undo the previous commits dealing with snprintf,
use the C99 compliant function also with MS Visual Studio
2018-05-31 11:37:51 +02:00
Holger Vogt 92dd6e48d0 make up description comment for pspice_compat() 2018-05-31 10:59:20 +02:00
Holger Vogt 7153891293 raise buffer size by 1 to retain previous resolution 2018-05-31 10:58:52 +02:00
Holger Vogt 3b4640dee4 _snprintf in Windows 7 does not automatically put a '\0'
to the end of the buffer, only if there is space available.
That will change in the future if Snprintf is used.
2018-05-31 10:24:09 +02:00
Holger Vogt 1d9ab3eb5c PSÜICE compatibility:
R n1 n2 val TC=xx1,xx2 --> R n1 n2 val TC1=xx1 TC2=xx2
2018-05-29 23:55:23 +02:00
Holger Vogt 22b7fa77b5 fix a bug with switches, when no subcircuit is involved 2018-05-28 23:59:55 +02:00
Holger Vogt e5652cd745 safeguard fclose 2018-05-27 21:37:03 +02:00
Holger Vogt 2f56feea4a do not lower-case command 'set sourcepath = XXX' 2018-05-27 07:56:40 +02:00
Holger Vogt 42a86d0ff2 patch provided by Uros Platise: timeunit selection
for printing vcd file is now based on tstep instead of tstop
2018-05-26 15:00:37 +02:00
Holger Vogt 2e0b8b3e34 plug a small memory leak 2018-05-23 23:08:44 +02:00
Holger Vogt a40ba9ec4e add a comment 2018-05-22 21:18:53 +02:00
Holger Vogt ae81481229 white spaces 2018-05-22 20:34:44 +02:00
Holger Vogt 7b6cd86a62 re-write vswitch transformation code:
first scan: check for each .model with vswitch
second scan: check for switch instances
(s lines) using the models
2018-05-22 20:19:50 +02:00
Holger Vogt f9b11cd619 update to function pspice_compat(), concerning the VSWITCH replacement
only one .model replacement even for several s instances
firstly search in subcircuit at same level, then in top level
2018-05-21 23:34:36 +02:00
Holger Vogt f4f389dabb internal help: it is only available when --enable-oldapps is given
ngnutmeg is only made when --enable-oldapps is given during ./configure
2018-05-21 01:09:21 +02:00
Holger Vogt 0cb71b21bb move ngspice_compat_mode(void) to inpcom.c and make it static 2018-05-21 01:09:13 +02:00
Holger Vogt fa3badf2bd correct typo 2018-05-21 01:09:06 +02:00
Holger Vogt d991bbc470 ngconfig.sh is no more available 2018-05-20 12:48:31 +02:00
Holger Vogt 3145716163 new --enable-oldapps: ngsconvert ngproc2mod ngmultidec ngmakeidx are made only per user request 2018-05-19 23:49:17 +02:00