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
dwarning
ddd3a11bff
variables are assigned values twice successively
2018-11-18 15:52:05 +01:00
dwarning
d7ee6bee50
bug #368 : x-axis description for nested dc sweeps should inline with first level sweep
2018-11-18 15:51:35 +01:00
Holger Vogt
65ee87e0a2
grid.c, windisp.c, vertical text for postscript and WINGUI
...
Arial as standard font for WINGUI
2018-11-18 15:51:09 +01:00
Holger Vogt
56701e3d10
add rotation angle to text output, currently used only by postscript,
...
ignored by all others
2018-11-18 15:50:56 +01:00
Holger Vogt
9e01d0b9f9
postsc.c, enable postscript output for extended ascii.
...
Currently only Western European latin-1 (ISO/IEC 8859-1) encoding
is supported.
2018-11-18 15:50:00 +01:00
h_vogt
87be5b9a41
Do not set Bit 8 in an ANSI char, when \ or ^ occured in a string. Thus the full ANSI set is now available in ngspice strings. The setting of Bit 8 was not exploitet anywhere, but did not allow using the characters from extended ANSI.
2018-11-18 15:49:31 +01:00
Holger Vogt
41fbc0bb1d
inpcom.c, command gnuplot: no lower case in xlabel, ylabel, title
2018-11-18 15:49:18 +01:00
Holger Vogt
66c468087d
noisean.c, beautify the code
2018-11-18 15:48:58 +01:00
h_vogt
f640ef68c3
noisean.c, ensure correct user input:
...
number of points always > 0
single frequ measurement if 1 point given
2018-11-18 15:48:41 +01:00
h_vogt
b0da1f2a0f
com_measure2.c, write a fft vector (sp plot) with complex data
...
and real frequency to file and load it again, frequency now has become
a complex number as well. This was not recognized, thus ngspice crashed
(see https://sourceforge.net/p/ngspice/discussion/127605/thread/8cccd69c/
by Michal Janik - 2014-11-04
2018-11-18 15:48:13 +01:00
Holger Vogt
9ab153ddc2
Exclude from model search all lines beginning
...
with a character contained in this list: *vibefghkt
2018-11-18 15:47:24 +01:00
Holger Vogt
277842f948
update to model search function
2018-11-18 15:47:04 +01:00
Holger Vogt
78ab9c477b
Update to the model name search function:
...
A model name is any token not being a true ngspice number,
except for tokens with some prohibited front characters
{*^@\\\' .
2018-11-18 15:46:26 +01:00
dwarning
de9755b1ad
backup to original state - but changing name of local struct t to tc
2018-11-18 15:45:55 +01:00
dwarning
e3c1b02892
remove compiler warning about double declaration of DEVices
2018-11-18 15:45:37 +01:00
dwarning
12498623c8
no use of string 't' - but struct 't' is still used
2018-11-18 15:45:23 +01:00
dwarning
cc4e4d9bad
verify pointer before utilization
2018-11-18 15:45:12 +01:00
dwarning
42d29ef49f
remove the entire file buffer modification which was never come in effect
...
Take over this task to the OS which will handle this properly.
2018-11-18 15:44:53 +01:00
dwarning
f0f19f87a3
In case the file open failed we have no need to set the IO buffer size.
...
And this should also not be done with a NULL pointer into setvbuf.
2018-11-18 15:44:40 +01:00
dwarning
5590406acf
The 'j' variable is assigned values twice successively.
...
Obviously the first assigment is waste because 'j' has the meaning of row count.
2018-11-18 15:44:32 +01:00
dwarning
a36366be1a
A call of the 'memset' function will lead to underflow of the buffer 'table'.
...
Table structure multiplied by N_GLOBAL_NODES will initialize the entire table with 0.
2018-11-18 15:44:25 +01:00
dwarning
a2c5cb4301
It is odd that pointer to 'char' type is compared with the '\0' value.
...
Correct compare with *eqword follows in a correct error message.
2018-11-18 15:44:15 +01:00
Holger Vogt
d504991177
new definition of cp_enqvar also in seldom used ngsconvert.c
2018-10-27 18:07:44 +02:00
Holger Vogt
19380903cc
add missing evtshared.h to the distribution
2018-10-27 16:37:33 +02:00
Holger Vogt
94fa272c9d
A hack to repair bug reported by Clyde R. Shappee
2018-10-27 12:28:01 +02:00
dwarning
6b99bc8f7a
prevent pass null pointer into setvbuf
2018-10-27 11:33:48 +02:00
dwarning
93f35afe69
s variable was assigned values twice successively
2018-10-27 11:33:00 +02:00
dwarning
360efabf36
no null pointer to fprintf
2018-10-27 11:24:22 +02:00
dwarning
ae698c208a
variable was assigned to itself
2018-10-27 11:21:06 +02:00
dwarning
5459404c47
prevent fallthrough by missing return
2018-10-27 11:20:29 +02:00
dwarning
740987382b
The 'then' statement was equivalent to the 'else' statement.
2018-10-27 11:19:57 +02:00
dwarning
cf24081507
prevent unused warning
2018-10-27 11:12:56 +02:00
dwarning
be79efbf7a
Remove recurring check
2018-10-27 11:09:49 +02:00
dwarning
ef61972910
Add missing break
2018-10-27 11:09:20 +02:00
dwarning
06430b7f14
rm extra text after end of preprocessing directive
2018-10-27 11:09:07 +02:00
dwarning
079b3bb7fd
add some missing prototypes
2018-10-27 11:08:17 +02:00
Holger Vogt
4738edeab5
symbol visibility=hidden only in release mode
...
for shared library and codemodels
2018-10-27 11:06:16 +02:00
Holger Vogt
75d1e45737
consider all PSPICE containing compatibility settings
...
for the evaluation of the pwr function
or allowing '-' in a subcircuit name
2018-10-20 23:54:02 +02:00
Holger Vogt
f31f044e30
set the search path for the code models relative to ngspice.exe
...
(for Windows GUI and console)
2018-10-18 21:39:33 +02:00
Holger Vogt
ff2304625f
allows to start ngspice WinGUI by double click on an input file, if
...
the file extension has been associated with ngspice.exe
2018-10-18 21:37:50 +02:00
Holger Vogt
45e269819e
fix a bug
2018-10-17 19:01:59 +02:00
dwarning
5c31aec164
prevent core dump to get the baseaddress
2018-10-16 14:13:17 +02:00
dwarning
56bc8af358
calloc needs stdlib.h
2018-10-15 22:36:01 +02:00
dwarning
67b38d7885
remove empty statement
2018-10-15 16:06:57 +02:00
Holger Vogt
25cdf95262
replace deprecated sys_errlist[errno] by call to strerror(errno)
2018-10-14 12:21:02 +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
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