Commit Graph

5295 Commits

Author SHA1 Message Date
rlar 951fc54139 ngspiceMODULE.hxx.xml, add BOLTZMANN and ELECTON_CHARGE 2019-02-17 07:41:21 +01:00
rlar c4ce6fa1f7 ngspiceMODULE.hxx.xml, add asinh etc derivative (fixme acosh atanh incomplete) 2019-02-17 07:41:20 +01:00
rlar 729ab44bd5 ngspiceMODULE.hxx.xml, $finish and test with r2_cmc.va 2019-02-17 07:41:20 +01:00
rlar f71926ad15 bsim6.va, work around body local vars (topology.c)
again OPdependent related
2019-02-17 07:41:20 +01:00
rlar 9e1f43e9d8 bsim6.va, split temporary variable T0 into two variables
to avoid a dependency related problem in the xml files.
T0 and T0y, one of them have the OPdependent flag set
  which surpresses variable declarations to be emited.
2019-02-17 07:41:20 +01:00
rlar c093420884 bsim6.va, split temporary variable T1 into two variables
to avoid a dependency related problem in the xml files.
T1 and T1y, one of them have the OPdependent flag set
  which surpresses variable declarations to be emited.
2019-02-17 07:41:19 +01:00
rlar 5b93bf1695 bsim6.va, split temporary variable T2 into two variables
to avoid a dependency related problem in the xml files.
T2 and T2y, one of them have the OPdependent flag set
  which surpresses variable declarations to be emited.
2019-02-17 07:41:19 +01:00
rlar 504ef5f5e5 bsim6.va, split temporary variable T3 into two variables
to avoid a dependency related problem in the xml files.
T3 and T3y, one of them have the OPdependent flag set
  which surpresses variable declarations to be emited.
2019-02-17 07:41:19 +01:00
Guilherme Brondani Torri e8da2ccbe1 avoid escape sequence %M, show hierarchical name
* it will cause printf to fail
2019-02-17 07:41:19 +01:00
rlar 83641704d2 bsim6.va, work around "case" 2019-02-17 07:41:18 +01:00
rlar 5f928354a2 bsim6.va, work around "for" (in guesstopology ?) 2019-02-17 07:41:18 +01:00
rlar 47a6e00291 scrub analoffunction.xml, (anti cpp) 2019-02-17 07:41:18 +01:00
Guilherme Brondani Torri 5a6b0cbf60 analogfunction, rename generated file from .cpp to .c 2019-02-17 07:41:17 +01:00
Guilherme Brondani Torri c7af29cd59 analogfunction, rename included file from [module]defs.h 2019-02-17 07:41:17 +01:00
rlar 45b362ca53 analogfunction.xml, name collission, rename function:getname and c:math_h
these would shadow definitions in ngspiceVersion.xml
2019-02-17 07:41:17 +01:00
rlar b1e757d89d extend "add analogfunction.xml from Qucs" 2019-02-17 07:41:17 +01:00
Guilherme Brondani Torri 54cb35f492 add analogfunction.xml from Qucs
* This script creates a header and source [module].analogfuncion.[h.cpp]
  containing functions defined on the body of the Verilog-A model
2019-02-17 07:41:16 +01:00
Guilherme Brondani Torri 7924d547ba add modulus symbol, multmod 2019-02-17 07:41:16 +01:00
rlar 99f6d4150c bsim6.va from bsim 6.1.1, see %bsim6.el 2019-02-17 07:41:16 +01:00
rlar 6ad8a801ba auxiliary my.mak files and %bsim6.el 2019-02-17 07:41:15 +01:00
Guilherme Brondani Torri 3d2bd1c6e1 register BSIM6 on adms ngspice interface
$./autogen.sh --adms
...
[fatal..] bsim6: device not handled by the adms ngspice interface
[fatal..] see [../admst/ngspiceVersion.xml:2120]
2019-02-17 07:41:15 +01:00
rlar 10219ace63 avoid unneccessairy diff noise (due to currentdate) in the adms generated files 2019-02-17 07:41:15 +01:00
Holger Vogt 02bc314a54 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-02-11 23:11:08 +01:00
Holger Vogt 6a86e3347e correct the command name to 'setcs' 2019-02-06 23:11:48 +01:00
h_vogt 15542990bb 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-02-06 22:31:05 +01:00
dwarning e8ee1169b0 correct entry for vdmos bulk diode in acload 2019-02-06 18:31:12 +01:00
Holger Vogt daa5bdf203 -rm -> rm, re-enable 'make uninstall' 2019-02-04 20:53:25 +01:00
Holger Vogt c86f6265db 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-02-02 09:46:00 +01:00
dwarning 6a14271894 prevent crash if mos instance has too few nodes - bug #391 2019-01-30 15:44:36 +01:00
Holger Vogt 03396aff6b do not use the current plot, but try to get the plot set in arg... 2019-01-27 22:48:04 +01:00
Holger Vogt 21ef095b4e Revert "take the plot data vector from the node selected - not the current plot"
This reverts commit 125600db9f.
2019-01-27 22:33:24 +01:00
Holger Vogt 125600db9f take the plot data vector from the node selected - not the current plot
This is safe against plots or vectors that are not available.
Patch provided by Toni (astx)
2019-01-27 14:23:32 +01:00
Holger Vogt 90767c5bb8 beautify code with astyle 2019-01-27 12:42:56 +01:00
Holger Vogt 4bea0aadcf use fcn plot_get 2019-01-27 12:41:53 +01:00
Holger Vogt a3ead0bec5 return vector located in plot type given by 'name',
not just from the current plot
2019-01-27 12:41:08 +01:00
Holger Vogt 872ec89692 add function get_plot(name) to return address of named plot 2019-01-27 12:39:32 +01:00
Holger Vogt 29f364d475 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-01-26 09:48:30 +01:00
Holger Vogt 43e185a3cc enable node names containing '-' in .ic and .nodeset statements 2019-01-19 11:04:03 +01:00
Holger Vogt c6fae9ccfd clarify estmation of memeory size for output vectors 2019-01-19 10:20:05 +01:00
Holger Vogt 151ddf141f don't print status output in dcpss.c, if norefvalue is set 2019-01-13 20:04:09 +01:00
Holger Vogt a16e2d7f6c 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-01-13 10:35:46 +01:00
Holger Vogt 06d34379fb add 'option norefvalue' to suppress printing the reference value. 2019-01-12 13:26:03 +01:00
Holger Vogt 50045f00af add a variable 'nosavecurrents'.
If set by 'set nosavecurrents' and followed by 'reset',
the setting of internal current vectors is suppressed.
This is useful in ac simulation which does not support
'options savecurrents' and you have a mix of several
simulations in a script.
2019-01-10 07:52:11 +01:00
Holger Vogt ac0a67eba1 move adding 1 to meminit to the right place (needed only once) 2019-01-09 08:21:48 +01:00
Holger Vogt 2d288a481c 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-01-08 23:32:17 +01:00
Holger Vogt f8365762fb 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-01-06 14:18:50 +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
dwarning edb42b526d Add comment for better understanding. 2018-12-17 23:00:54 +01:00
dwarning 390d0bddd9 Dereferencing of the null pointer 'p' might take place. Remove unused variable. 2018-12-17 22:58:30 +01:00
Holger Vogt 08a9d8462b only treat B lines, .param lines have been processed already.
This is a very preliminary fix to a bug reported by Andy.
Has to be tested with various input conditions.
2018-12-17 22:58:07 +01:00
dwarning 9e663f45e4 remove some ugly warnings 2018-12-17 22:57:51 +01:00
Holger Vogt 9a1b9dc2e6 reduce the amount of reallocs by making the vector size generation
dependent on tstep and tstop for tran or pss simulation
2018-11-18 16:08:08 +01:00
Holger Vogt 9fb2aac952 inpcom.c, skip nois calculation of behavioral resistor
by adding instance parameter noisy=0
2018-11-18 16:07:58 +01:00
Holger Vogt 96f3b7b029 bug 380, fix removal of string vector after setting the model parameters 2018-11-18 16:07:26 +01:00
Holger Vogt 163f569eb2 Make the new nodes for current measurement i(xxx) unique
by adding a serial number.
2018-11-18 16:06:42 +01:00
Holger Vogt f1fdb5b2a7 fix current measurement by i(xxx) in B sources: first step,
allow spaces before 'i(' token.
Current measurement for devices in series connection
is still not possible.
2018-11-18 16:06:33 +01:00
dwarning 7c94cc2e42 setting gmbs direct to 0 2018-11-18 16:05:52 +01:00
dwarning 92efc0bd6c don't replicate model and instance temperature dependent parameter 2018-11-18 16:05:46 +01:00
Holger Vogt 34f0e98080 plug a memory leak, delete 'element', if tmalloced before 2018-11-18 16:05:32 +01:00
Holger Vogt c98b472366 enable GetProcessMemoryInfo for shared ngspice made with MSVC 2018-11-18 16:05:06 +01:00
Holger Vogt da75066302 update to resource.c:
proc/self/statm is up-scaled by page size
up and down scaling by 1024 removed
GetProcessMemoryInfo access simplified
pre-processor flags simplified
tiny format changes
2018-11-18 16:04:26 +01:00
Holger Vogt cf6722af17 Enable function GetProcessMemoryInfo() to get reliable memory usage data
for MINGW and MSVC console, WinGui and MSVC shared ngspice.
MINGW shared ngspice does not link to psapi.dll, so cannot
apply  GetProcessMemoryInfo(),  but sticks to unreliable function
GlobalMemoryStatusEx().
2018-11-18 16:03:06 +01:00
Holger Vogt df9efac808 inp2dot.c, beautify the code 2018-11-18 16:00:19 +01:00
Holger Vogt 321b1293e7 plug two small memory leaks 2018-11-18 16:00:12 +01:00