Holger Vogt
44b8498d63
prevent a crash when e,g,f,h sources do not have enough paramaters.
5 years ago
Holger Vogt
d0a8e6ac51
update to the limit function for ps compatibility.
The output will stay between the two limits given.
Tere is no prescription which of the two is upper
or lower.
This function will not solve all PS-Spice
compatible model convergence issues. We better look
for a built-in function with smooth, steadily
differentiable corners.
5 years ago
Vogt
bb8cdb2e2d
enable the use of either single or double quotes
for file path names (was mixed up, becaus isquote()
aknowledges both types).
5 years ago
dwarning
03cd512e7f
separate and correct capacitor charge formula transformation
5 years ago
dwarning
450ec47a3e
rm unused quote.h in vngspice_fftw
5 years ago
Holger Vogt
aa0d0abe34
Fix a bug in the limit() function (PSPICE compat mode)
5 years ago
Holger Vogt
9276f9fb0e
Use the pwl LIMIT=TRUE flag when replacing
G1 2 3 TABLE ... or E2 4 5 TABLE ... by code model pwl
5 years ago
Holger Vogt
19a688513c
add compatibility mode eg for EAGLE
clarify mode a for 'whole netlist' and ll for 'all'
5 years ago
Holger Vogt
7360d8aa66
Fix a typo
6 years ago
Holger Vogt
28861739f8
allow writing character '%'
6 years ago
Holger Vogt
51df9aaa55
remove non ascii character §, which leads to compiler warnings
6 years ago
Holger Vogt
fdc143ce16
Add a limit capability to the code model aswitch
Example switch-oscillators_inc.cir showed currents up to 3GA
6 years ago
Holger Vogt
14ef4e74ec
Add PSPICE compatible ISWITCH
Translates iswitch either to csw or to aswitch models
6 years ago
Holger Vogt
2f1d3df8c7
add a Spectre compatibility mode
6 years ago
Holger Vogt
445c6f2d32
fix a bug that occurs when xspice is not selected
missing function parameter has been introduced in previous commit
6 years ago
Holger Vogt
602baf68e6
spice2g6 allows to omit the poly(n) statement, if the
polynomial is one-dimensional (n==1).
For compatibility with the XSPIXE code, we have to add
poly(1) appropriately.
6 years ago
Holger Vogt
60dfe836f4
If ps is enabled, .dc TEMP -15 75 5 will have been
modified to .dc (TEMPER) -15 75 5.
So we repair it here with a preliminary fix.
6 years ago
Holger Vogt
ca27319213
no forcing lower-case letters for command 'cd'
6 years ago
Holger Vogt
a0389bb547
In PS compatibility mode:
In subcircuit .subckt and X lines with 'params:' statement
replace comma separator by space. Do nothing if comma is inside of {}.
6 years ago
Holger Vogt
e3aad7849c
remove vceo= and icrating= from bjt model cards
6 years ago
Holger Vogt
ebb1e953fe
Streamline the compatibility flag generation
6 years ago
Holger Vogt
c112279555
new compatibility handling with struct compat newcompat:
simplify the compatibility handling, better readability
make it easily extendable
add new flag 'ki' for KiCad compatibility
6 years ago
Holger Vogt
71e65b75b0
Syntax check: If the first character in a netlist
or .control line is one of =[]?()&%$§\"!:, then ngspice
replaces it by '*' and issues a warning.
'set strict_errorhandling' will force ngspice existing.
6 years ago
Holger Vogt
71338c3271
replace 'noiseless' only if it is an unconnected token
6 years ago
Holger Vogt
ba7be26b95
If a g table source contains %, [, nor ] in its name,
replace it by _ in the a instance generated during parsing.
6 years ago
Holger Vogt
05bf86caaa
safeguard against empty lines which may be sent to shared ngspice
6 years ago
Holger Vogt
bbe81ca8f8
shared ngspice may transmit netlists with empty lines,
guard against crashing
6 years ago
Holger Vogt
cbab726d69
use memcpy instead of strncpy to copy an exact amount of characters
remove unused function header
6 years ago
Holger Vogt
c520a9a4b9
if lt(a) comp mode is set, replace 'noiseless' by 'noisy=0' in resistors
6 years ago
Holger Vogt
572daed2ec
Remove '.backanno' if LT campatibility mode is set
6 years ago
Holger Vogt
f5ebea5e9f
use internally predefined pow() function
6 years ago
Holger Vogt
4c80a1ab7d
fix a bug, use ciprefix instaed of cieq, cieq led to
always FALSE if statement
6 years ago
Holger Vogt
84ff135e5b
syntax check for vdmos instances with 'thermal' flag
6 years ago
Holger Vogt
9e8e50cb57
Fix a bug raised by Sambeet in
[Ngspice-users] Problems with xspice limiter block:
Don't treat .model limit_comp limit(gain... as a function
if PSPICE compatibility is set.
6 years ago
dwarning
edc5b5a4d4
VDMOS prevent fault if thermal switch is given but thermal nodes are not
6 years ago
dwarning
e9abecc8c7
change vdmos flag to thermal, not to confuse with b4soi
6 years ago
dwarning
3686dbfb78
filter only mos instances with thermal switch
6 years ago
dwarning
791f18053f
change vdmos flag to thermal, not to confuse with b4soi
6 years ago
Holger Vogt
71ad2903ff
plug a memory leak in inpcom.c vdmos code
6 years ago
Holger Vogt
7f085144a9
remove all the remains of quote() and strip() that had been
used to modify the eigths bit of a character or string.
The functions had been switched off some time ago.
We now need all bits of a char for extended ascii or utf8
6 years ago
Holger Vogt
38bb89663d
replace old_x11 by HAVE_LIBXFT defined in configure
6 years ago
h_vogt
7c3a305d43
add wide char for string i/o under Windows
add utf-8 systax check
9 years ago
Jim Monte
a53cd3a3e9
fixed path created by ngdirname in Windows. Also added const to parameters whose arguments do not change and fixed some potential buffer overruns.
6 years ago
Holger Vogt
ec1d655289
In VDMOS device, if instance parameter tnodeout is set,
check for exactly five nodes
6 years ago
dwarning
0362d63094
update vdmos with self-heating network and tj and tcase terminal
6 years ago
Holger Vogt
b699c7fad8
add the PSPICE vswitch S_ST variant,
which resolves to the classical ngspice sw switch
6 years ago
Holger Vogt
0c74820821
enable PSPICE compatible ~(~v(9)&v(8))
6 years ago
Jim Monte
2f3b9d0f2d
Used Win32 function PathIsRelativeA() to identify an absolute path instead of checking the string since the system function may handle more cases (network shares, etc.). Also reviewed formatting that was done on inpcom.c by a code beautifier in an earlier commit. Nearly all of it was an improvement, but a few cases were reverted back to closer to the original form. One particular instance was comments where a list of steps was given one per line.
6 years ago
Holger Vogt
ee5f4cfc29
Replace B source pwl by XSPICE PWL Controlled Source
that has smooth rounded and differentiable corners.
This is used in the replacem,ent operation evaluating
Exxx n1 n2 TABLE {expression} = (x0, y0) (x1, y1) (x2, y2)
6 years ago
Holger Vogt
b76fbf99fe
Replace B source pwl by XSPICE PWL Controlled Source
that has smooth rounded and differentiable corners.
Microchip or On-Semi OpAmps that needed gmin and source
stepping for operating point calculation now converge
without, others like MCP6001 that generally refused
to converge are o.k. now. Reason is the heavily used
Gxxx n1 n2 TABLE {expression} = (x0, y0) (x1, y1) (x2, y2)
from the OpAmp models.
6 years ago