Commit Graph

5312 Commits

Author SHA1 Message Date
Jim Monte 451a88a2b0 [PATCH #46] Fixed uninitialized buffer in case of 0 dim for dimstring()
and prevented the compilation of unused functions. Also a comment was
 corrected.
2019-08-13 23:20:39 +02:00
Jim Monte 23703a32c0 [PATCH #45] Fixed uninitialized buffer in case of 0 dim and improved
efficiency in other cases.
2019-08-13 23:20:29 +02:00
Jim Monte b66412f517 [PATCH] Changed prototypes of some functions having parameters that
should not be changed to const and added assorted comments. Also two very
 minor efficiency improvements.
2019-08-13 23:20:21 +02:00
Jim Monte 0183964d6f [PATCH #41] Made constants agree across ngspice simulator. File const.h
is the source of the values with all other files referencing it.
2019-08-13 23:20:00 +02:00
Jim Monte 55b7626fa9 [PATCH #40] Fixed memory leaks under 3 different conditions when the
deftype command is used. Added more argument validation. Enhanced error
 reporting. Implemented facility to free allocations associated with
 user-defined types
2019-08-13 23:19:51 +02:00
Jim Monte 7dacfe5bda [PATCH #38] Fixed crash when composing a complex vector from a mix of
real and complex values. Also eliminated unnecessary test for element being
 real when composed vector is real.
2019-08-13 23:19:41 +02:00
Jim Monte f28709f410 [PATCH #37] Fixed crash when composing a complex scalar 2019-08-13 23:19:31 +02:00
Holger Vogt 7598bbe83b [PATCH 35] Fixed values of physical constants such as the speed of light 2019-08-13 23:19:13 +02:00
Jim Monte 86ed788025 [PATCH 6/6] Fixed Visual Studio C4456 compiler warnings related to
variable name hiding another variable and reduced scopes of arg and sarg
 variables in the process
2019-08-13 23:18:34 +02:00
Jim Monte 34c2df11bb [PATCH 5/6] Fixed formatting for consistent nesting level indentation 2019-08-13 23:18:24 +02:00
Jim Monte 93ae8b41ac [PATCH 4/6] Fixed Visual Studio C4456 compiler warning related to
variable name hiding another variable
2019-08-13 23:18:16 +02:00
Jim Monte d0f8c6896d [PATCH 3/6] Fixed Visual Studio C4389 compiler warnings related to
signed/unsigned mismatch
2019-08-13 23:18:07 +02:00
Jim Monte 3dea14e223 Fixed Visual Studio C4334 compiler warnings related to
32-bit vs 64-bit shifts
2019-08-13 23:17:55 +02:00
dwarning cf394a03d1 update to hicum version 2.40 2019-08-13 23:17:41 +02:00
Holger Vogt e6a05bda7d remove the token mfg=nfgname from each .model statement 2019-08-13 23:17:31 +02:00
Holger Vogt 61039c2736 add a new function gettok_model to consider {...} expressions
in VDMOS .model statements
2019-08-13 23:17:14 +02:00
Holger Vogt ad5ad8270f correct the temperature replacement in ps
TEMPER is in degrees °C
2019-08-13 23:17:02 +02:00
Kevin Zheng b4ee4e28d6 Fix a build error on FreeBSD 12, bison 3.3.2, automake 1.16.1 and BSD make
by dropping the rules to run bison and use automake's built-in rules instead
2019-08-13 23:16:49 +02:00
Holger Vogt bfe9e29580 If a in command set name="value" value is encapsulated in double quotes, it is always treated as a string variable. 2019-08-13 23:16:37 +02:00
Jim Monte 6bce493d25 Remove memory leak: If the check of the data fails, the data itself is leaked.
Signed-off-by: Holger Vogt <holger.vogt@uni-due.de>
2019-08-13 23:16:02 +02:00
Jim Monte 4afc5ed5b5 One of the links provided when the help command is executed returned a 404 not found error. This patch replaces that link with an HTML version of the ngspice manual.
Signed-off-by: Holger Vogt <holger.vogt@uni-due.de>
2019-08-13 23:15:27 +02:00
dwarning 657d4994b9 no fall-through by asking m value 2019-08-13 23:15:03 +02:00
Jim Monte 7e0dd64ce5 [PATCH 33 1/6] Fixed Visual Studio C4028 compiler warnings related to
mismatches between prototypes and function definitions

Signed-off-by: Holger Vogt <holger.vogt@uni-due.de>
2019-08-13 23:14:49 +02:00
Jim Monte 0ddd4a8456 Fixed excess buffer allocation and converted wordlist to string more efficiently
Signed-off-by: Holger Vogt <holger.vogt@uni-due.de>
2019-08-13 23:14:27 +02:00
dwarning ef79942782 Tnom is not a instance parameter 2019-08-13 22:57:02 +02:00
dwarning 6bcf3ac41c Tnom default inline with model specification 2019-08-13 22:56:50 +02:00
dwarning 033a290783 use a better place for model parameter defaulting 2019-08-13 22:56:38 +02:00
dwarning 360a3985e8 remove unused conductance variables 2019-08-13 22:56:29 +02:00
dwarning f42c513381 correct current contribution by gmin 2019-08-13 22:56:19 +02:00
dwarning 293f0afc2f remove unused variables 2019-08-13 22:55:34 +02:00
dwarning f90295f46a remove last remainder of unused sensitivity analysis 2019-08-13 22:55:25 +02:00
dwarning 2b60d56606 remove ancient, unused and untested sensitivity code 2019-08-13 22:55:12 +02:00
dwarning 7966aa36ae correct init for convergence test 2019-08-13 22:54:51 +02:00
Holger Vogt 3494e6b390 prevent crash
bug-395 reported by Bohdan Tkhir
2019-08-13 22:54:30 +02:00
Holger Vogt 7bb8049d2a fix bug no. 394, reported by Yurii Demchyna 2019-08-13 22:54:10 +02:00
dwarning a549776972 high current devices need lower limit of resistances - set to 10mOhm 2019-08-13 22:53:52 +02:00
Holger Vogt 31db4228f5 fix a typo, correct writing to files under Linux 2019-08-13 22:53:41 +02:00
Holger Vogt 52584312c3 delete the plt and data files after writing eps or png
(only if gnuplot_terminal is set to eps/quit of png/quit)
2019-08-13 22:53:32 +02:00
Holger Vogt 8efa08602a no plotting, only saving to file
if gnuplot_terminal is eps/quit or png/quit
2019-08-13 22:53:24 +02:00
Holger Vogt 601dfbd781 sprintf -> snprintf: prevent buffer overflow 2019-08-13 22:53:13 +02:00
Holger Vogt ec4625eda6 redo gnuplot_terminal: Do not save eps/png automatically
none      1: do not print an eps or png file (default)
png       2: print png file, keep command window open
png/quit  3: print png file, quit command window
eps       4: print eps file, keep command window open
eps/quit  5: print eps file, quit command window
2019-08-13 22:53:00 +02:00
Holger Vogt 2344e3d012 patch no. 30 by astx:
don't show command window if gnuplot_terminal is set to png/quit
2019-08-13 22:52:49 +02:00
Holger Vogt e937adc372 remove bug 388: enable plot unit W for plotting @q1[p] 2019-08-13 22:52:41 +02:00
Holger Vogt 4f8fd19309 Allow " around netnames for .plot and .print commands.
This enables characters like - / + in netnames, e.g.
.print tran v("/jk-flip-flop-1/q")
2019-08-13 22:52:08 +02:00
Holger Vogt 5b21caae98 correct the command name to 'setcs' 2019-08-13 22:51:48 +02:00
h_vogt a0d87048e6 command.c, inpcom.c, add command 'setcs': like command 'set',
but case sensitive, and thus keeping upper or lower case
of subsequently following variable name and other letters.
2019-08-13 22:51:36 +02:00
dwarning d03df9d326 correct entry for vdmos bulk diode in acload 2019-08-13 22:49:39 +02:00
Holger Vogt 198fea0db4 -rm -> rm, re-enable 'make uninstall' 2019-03-21 20:24:18 +01:00
Holger Vogt d4c3d9ceb2 relieve the step size limitation (formerly set to TSTEP in tran simulation).
However not all examples will do without, thus the variable 'stepsizelimit'
is set in spinit. Unset it in .spiceinit to get the new behavior.
Of course then you might add the limit by setting TMAX in the tran command.
2019-03-21 20:22:42 +01:00
Holger Vogt b4559327de do not use the current plot, but try to get the plot set in arg... 2019-03-21 20:20:56 +01:00
Holger Vogt 9ee359b1e9 beautify code with astyle 2019-03-21 20:20:37 +01:00
Holger Vogt 1fb2a04f79 use fcn plot_get 2019-03-21 20:20:28 +01:00
Holger Vogt c1b54a5978 return vector located in plot type given by 'name',
not just from the current plot
2019-03-21 20:20:00 +01:00
Holger Vogt 40411197e0 add function get_plot(name) to return address of named plot 2019-03-21 20:17:21 +01:00
Holger Vogt a89e5db571 creating a linearized cutout of the original vector
by defining the vectors lin-tstart, lin-tstop, and lin-tstep
before issuing the 'linearize' command
2019-03-21 20:13:27 +01:00
Holger Vogt 2d8b30aebe enable node names containing '-' in .ic and .nodeset statements 2019-03-21 16:13:43 +01:00
Holger Vogt 0bd3bbd333 clarify estmation of memeory size for output vectors 2019-03-21 16:13:24 +01:00
Holger Vogt b771ee9c60 don't print status output in dcpss.c, if norefvalue is set 2019-03-21 16:12:47 +01:00
Holger Vogt 9dd47e3029 Remove memory warning message in shared lib
False warning on some OSs, especially on Linux when loaded during runtime.
The caller then has to take care of memory available
2019-03-21 16:12:36 +01:00
Holger Vogt be6eca1dbb add 'option norefvalue' to suppress printing the reference value. 2019-03-21 16:07:12 +01:00
Holger Vogt 5cd23fae72 move adding 1 to meminit to the right place (needed only once) 2019-03-21 15:52:23 +01:00
Holger Vogt 764542e5b1 Set up all memory in a single step for vector list in a plot.
This is to avoid multiple calls to time consuming TREALLOC
2019-03-21 15:51:19 +01:00
Holger Vogt 4062d51f9b prevent crash, instead issue an error message
if first coefficient cannot be parsed, e.g. of a line
V1 1 0 DC 0 trnoise(NoiseVoltage fs 0 0 0 0 0 )
(with missing {}).
Code truncates evaluating further coefficients,
if an error is detected. This now results in a warning
message, if ngdebug is set. The warning may be a
false positive though.
2019-03-21 15:50:05 +01:00
Holger Vogt d6f5a32c93 Add a comment to the editline #ifdef 2018-12-31 12:03:19 +01:00
Holger Vogt a3f2c38eb6 upstream editline development at
http://cvsweb.netbsd.org/bsdweb.cgi/src/lib/libedit/readline/readline.h?sortby=date#rev1.42.2.1
have added two lines to readline.h:
typedef int	  rl_hook_func_t(void);
extern rl_hook_func_t	*rl_event_hook;
ngspice rl_event_hook had originally been defined of type void. The patch
redefines the return type to be int.
2018-12-31 12:02:52 +01:00
dwarning d2f9da64bc bring current summation inline with rhs 2018-12-24 09:34:06 +01:00
dwarning d9247cc322 white spaces 2018-12-24 09:30:55 +01:00
Holger Vogt c35879d3cf prepare ngspice-30 2018-12-23 13:55:45 +01:00
dwarning 25b13d9dde Fix VDMOSmode dependency. 2018-12-22 22:43:37 +01:00
dwarning 3d72931125 spice like derivative style - more compact 2018-12-22 22:43:17 +01:00
dwarning 71524f6060 Implementing mobility mudulation (theta).Analytical derivatives for weak-inversion branch. 2018-12-22 22:43:05 +01:00
dwarning 8b424dd3d3 Introducing mobility reduction over Vgs. Model parameter: theta 2018-12-22 22:42:54 +01:00
dwarning 96a5ea0353 Allow 3 terminal vdmos in subckt. 2018-12-22 22:42:46 +01:00
dwarning 1363b7a6b2 Reduce vdmos to a native 3 terminal version. 2018-12-22 22:42:31 +01:00
Holger Vogt f021424041 dev.c, add model size for XSPICE models, preventing heap corruption.
Ocurred with dll under Windows 10 only.
Detected with crtdbg.h, and _CrtSetDbgFlag(_CrtSetDbgFlag(0) || _CRTDBG_CHECK_ALWAYS_DF)
in ngSpiceInit() and {char *test = TMALLOC(char, 1);} as test vehicle.
2018-12-22 18:08:58 +01:00
Holger Vogt 2c7860361d Prevent segfault if SendStat is NULL and HAVE_FTIME is undefined.
Patch no. 28 offered by Liang Chang
2018-12-17 23:07:41 +01:00
Holger Vogt db13f66519 typo 2018-12-17 23:07:34 +01:00
Holger Vogt ebc39c941e fix typos
reported by Carsten Schoenert
2018-12-17 23:07:27 +01:00
Holger Vogt 3f816d7f1b add comment 2018-12-17 23:07:19 +01:00
Holger Vogt feaebe6bd9 spelling
reported by Carsten Schoenert
2018-12-17 23:07:10 +01:00
Holger Vogt a98f6ac69b proper initialization of OldAn, callback only
if output has changed
2018-12-17 23:07:00 +01:00
Holger Vogt 0f552fc4f8 sharedspice.c, prevent crash, if controlswait is set
and a next bg_run before controls are ready.
2018-12-17 23:06:49 +01:00
Holger Vogt f9f28f7679 MS Windows: Use only POSIX compliant snprintf 2018-12-17 23:06:21 +01:00
Holger Vogt 98a5106015 simplify and re-enble MINGW 2018-12-17 23:05:55 +01:00
Holger Vogt 2a2a7c2d36 sharedspice.c, NS Windows, use only POSIX compliant snprintf
make OldAn a zero terminated string
2018-12-17 23:05:41 +01:00
Holger Vogt 0828a8e706 new command bg_ctrl initializing the .control executing thread
pthreads: using detached threads only
keep controls during 'reset', delete only upon 'quit'
2018-12-17 23:05:25 +01:00
Holger Vogt c2db1d5547 Bug 385 enable variable numdgt for printout 2018-12-17 23:05:15 +01:00
Holger Vogt f6b995b80e remove unused fcn declaration 2018-12-17 23:05:05 +01:00
Holger Vogt 6f79db19d1 pthreads: suspend thread 3 (controls) with a condition variable 2018-12-17 23:04:57 +01:00
Holger Vogt 9d9f415226 inp.c, add variable 'controlswait'. If set, only then controls with
shared ngspice are executed after background thread has finished.
2018-12-17 23:04:43 +01:00
Holger Vogt e4aabc82c7 shared ngspice: add a third thread to execute the .control commands
only after the background thread has been finished
2018-12-17 23:04:31 +01:00
Holger Vogt 7706889a0a inpcom.c, fix bug no 384
do not quote fourth token in f, h lines
otherwise if dev name equals param name parsing fails
2018-12-17 23:04:13 +01:00
Holger Vogt 16978f8bf6 inpcom.c, add alternative noise flag 'noise=1' 2018-12-17 23:03:48 +01:00
Holger Vogt 9f40c2b584 add an icon to MS Windows VC exe 2018-12-17 23:03:27 +01:00
Holger Vogt 7f3f46ebea license modified to be compatible to 3-clause BSD according to
https://github.com/freebsd/freebsd/blob/master/lib/libc/stdlib/getopt_long.c
2018-12-17 23:03:00 +01:00
Holger Vogt d2d2178407 inpcom.c, remove compiler warnings about
potentially uninitialized local variables and
assignment within conditional expression
2018-12-17 23:02:48 +01:00
Holger Vogt ee843a4c2c remove memory leak in noise selection for behavioral r 2018-12-17 23:02:27 +01:00
Holger Vogt 6335c271b2 add a syntax check for the incoming netlist.
check if an .if statement is used, then skip
deleting unused models and subcircuits (may be
required when using commercial libraries) .
2018-12-17 23:02:03 +01:00
dwarning 49a3af54de Handle leading plus sign in same kind as minus. 2018-12-17 23:01:45 +01:00
Holger Vogt 72110dc65d noise caculation in behavioral resistors is switched on
by the instance flag 'noisy=1'. Default is a noiseless resistor.
2018-12-17 23:01:15 +01:00