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
Holger Vogt
0d9d228c11
Put the copy for generating permanent next_token exactly at the places
...
where is is needed: INPtermInsert() and fast->conn...->neg_node_str
XSPICE memory leaks are gone!
2018-11-18 15:59:54 +01:00
Holger Vogt
2a6212f77e
Add a function gc_start to reset the garbage collector
2018-11-18 15:59:44 +01:00
Holger Vogt
4e6de9626e
** A local garbage collector **
...
Add the list of malloced addresses alltokens.
Add a function copy_gc to copy and enter the address.
Add a function gc_end to delete all entries in alltokens.
Beware of addresses deleted elsewhere and use anew by malloc.
Some tokens should not be deleted here, they get another copying.
2018-11-18 15:59:34 +01:00
Holger Vogt
fb1970e25a
add gc functions to replace MIFgettok and MIFget_token
2018-11-18 15:59:15 +01:00
Holger Vogt
ccb7fa410b
remove all instances of tfree.
...
Code is working, but full of memory leaks.
2018-11-18 15:59:05 +01:00
Holger Vogt
f9c956ff6b
mif_inp2.c, improve on memory leaks
...
Delete token before generating it anew, delete def_port_str
only if not already done before.
Still there are some tiny leaks left.
2018-11-18 15:58:26 +01:00
Holger Vogt
7b57800df6
bug 378 put tfree(def_port_type_str) to an appropriate place.
2018-11-18 15:57:35 +01:00
dwarning
d7089adcaf
Also in case of allocation error we have to free existing memory before return.
2018-11-18 15:56:37 +01:00
dwarning
a6fa3aaa11
The 'then' statement was equivalent to the 'else' statement.
...
Also moredimensional poly sources need only one closing bracket for input port.
2018-11-18 15:56:26 +01:00
Holger Vogt
0a50acbb66
inp.c, .if: enable multiple .elseif sections
2018-11-18 15:56:10 +01:00
Holger Vogt
639bfc6280
no lower case after redirection sign > for command 'asciiplot'
2018-11-18 15:55:43 +01:00
Holger Vogt
7a1218cc0e
fix ouput redirection for 'print' command
2018-11-18 15:55:29 +01:00
dwarning
9789956815
don't ask two times if the allocation has failed
2018-11-18 15:55:14 +01:00
dwarning
f7c36d66d4
As the comment said we have bypass only without selfheating
...
so the expression 'here->HSMHV2_coselfheat > 0' is always false
and all derivatives to temperature are 0.
2018-11-18 15:54:58 +01:00
Holger Vogt
54d9ec93cb
bug 375, select correct input line,
...
reported by Bohdan Tkhir
2018-11-18 15:54:43 +01:00
dwarning
68230648c6
white spaces
2018-11-18 15:54:32 +01:00
Holger Vogt
ebe4fd5332
control.c, bug 374, prevent crash if cend[stackp] is NULL
...
reported by PyroPeter
2018-11-18 15:54:21 +01:00
dwarning
9289f0f773
proper initialization of b magnitude coefficient in a special case
2018-11-18 15:54:08 +01:00
Holger Vogt
2a947a933e
bug 253: Do not delete the scale vector of the current plot
2018-11-18 15:53:50 +01:00
Holger Vogt
157aaee6f1
Bug #332 , reported by M. Hendriks
...
Add a warning if statements .control ... .endc are misplaced or missing
2018-11-18 15:53:30 +01:00
Holger Vogt
530cac53c5
bug 337: keep '-' as sign of number following tc1, tc2
2018-11-18 15:52:56 +01:00
Holger Vogt
8d89202161
keep sign together with number when preparing B source pwl (and others)
...
Seems to be optional, B Source handles numbers with offset sign
2018-11-18 15:52:47 +01:00
Holger Vogt
113060473e
bug 337: replace atof by INPevaluate to allow ngspice numbers
...
in tc1 or tc2 tokens.
2018-11-18 15:52:24 +01:00