rlar
bbb136bce5
fixme, point to the LSP change
2018-02-17 18:15:39 +01:00
rlar
b994390576
psp102, workaround adms ddx() translation
...
our adms .xml files do not support translation
of ddx() expressions, except at the toplevel in assignments.
foo = ddx(); is supported
foo = bar * ddx(); is not
2018-02-17 18:15:39 +01:00
rlar
b35f62f9fd
ekv, use (*desc*) instead of (*info*), useless, they have none
2018-02-17 18:15:39 +01:00
rlar
a16337a833
bjt504t, use (*desc*) instead of (*info*), useless, they have none
2018-02-17 18:15:39 +01:00
rlar
899a51bbe7
hicum2, use (*desc*) instead of (*info*)
2018-02-17 18:15:39 +01:00
rlar
41e926fdc0
hicum0, no (*ask*), use (*desc*) instead of (*info*) and workaround HICUMtype
2018-02-17 18:15:39 +01:00
rlar
820e878683
psp102, drop (*ask*)
2018-02-17 18:15:39 +01:00
rlar
f96b536efc
psp102, use (*desc*) instead of (*info*)
2018-02-17 18:15:39 +01:00
rlar
5c96fcd573
enforce compiler warning/error, when (*desc*) variable usage not anticipated
2018-02-17 18:15:39 +01:00
rlar
652c107b6c
try to allow access to (*desc*) exported values in the "state" vector
...
variables which are annotated with (*desc*) will be put into the "state"
vector. "OP" definitions for them will be emited, and the device_ask() function
will be extended to query these values.
issues:
save @instance[varname]
is required,
otherwise, only the very last value will be saved in a "scalar" instead of
all the results in a "vector"
there might well be issues with upper/lower case.
I lower-cased all variable names, because the ngspice frontend
does so as well. but I've seen some parameters which are not lower-cased.
it might be these can not be accessed even though they are present,
simply because it is not possible to "name" a non lower-cased thing.
this is merly a hack for bsimcmg,
there was pretty not testing at all, and no consideration
was given to the other models at all.
2018-02-17 18:15:39 +01:00
rlar
928606f815
bsimcmg, edit benchmark_test files for first ngspice experiments
...
FIXME and beware,
parameter LSP has a different default !
2018-02-17 18:15:39 +01:00
rlar
ce13f713a6
bsimcmg, introduce benchmark_test files, from Berkeley's BSIMCMG110.0.0_20160101.tar.gz
2018-02-17 18:15:39 +01:00
rlar
45d92a4e35
%bsim6.el, receipe for bsimcmg testbench files
2018-02-17 18:15:39 +01:00
rlar
a7f0525579
bsimcmg, adms workaround, remove L from default definition for LSP
...
L is an instance parameter, and 'here' is NULL when needed
you will need to explicitely set LSP, instead of relying on the default
2018-02-17 18:15:39 +01:00
rlar
5ca48d4816
bsimcmg, adms workaround, transform Tempdep to a .va macro
2018-02-17 18:15:39 +01:00
rlar
c26a5702ff
bsimcmg, adms workaround, transform hypmax to a .va macro
2018-02-17 18:15:39 +01:00
rlar
9cdd66b3e4
bsimcmg, adms workaround, transform hypsmooth to a .va macro
2018-02-17 18:15:39 +01:00
rlar
c7b3813a1c
bsimcmg, adms workaround, transform lln to a .va macro
2018-02-17 18:15:39 +01:00
rlar
8992197d65
bsimcmg, adms workaround, transform lexp to a .va macro
2018-02-17 18:15:39 +01:00
rlar
b7b3157af1
dev.c, inp2m.c, inpdomod.c, introduce bsimcmg (use level 17)
2018-02-17 18:15:39 +01:00
rlar
6cd0b80acc
add bsimcmg.va to build system
2018-02-17 18:15:39 +01:00
rlar
1f357c0468
bsimcmg, adms workaround, split T0 into two
2018-02-17 18:15:39 +01:00
rlar
9cd2f4472f
bsimcmg, adms workaround, split T1 into two
2018-02-17 18:15:39 +01:00
rlar
1421e90895
bsimcmg, adms workaround, split T2 into two
2018-02-17 18:15:39 +01:00
rlar
594064c449
bsimcmg, adms workaround, split T3 into two
2018-02-17 18:15:39 +01:00
rlar
a431cd2a07
bsimcmg, work around block_local variables, use the emacs macro
2018-02-17 18:15:39 +01:00
rlar
60335aa01c
bsimcmg, work around block_local variables
2018-02-17 18:15:39 +01:00
rlar
537414af15
add bsimcmg, from Berkeley's BSIMCMG110.0.0_20160101.tar.gz
2018-02-17 18:15:39 +01:00
rlar
ca64d43ca4
implement "case"
2018-02-17 18:15:39 +01:00
rlar
9588d67523
*.va, use $simparam("gmin") instead of the _circuit_gmin workaround
2018-02-17 18:15:39 +01:00
rlar
9fceff2439
implement $simparam("gmin")
2018-02-17 18:15:39 +01:00
rlar
5f5ce20f0b
fix usage of template function:getname
...
this template exists in two variants,
one in ngspiceVersion.xml, which returns the value on the stack
one in ngspiceMODuLE.hxx.xml, which returns the value as a 'returned' path
This particular place got the two mixed up
2018-02-17 18:15:39 +01:00
rlar
b70b48fb12
bsim6.va, disable __THERMAL_NODE__ and __SHMOD__
...
modify Benchmark accordingly,
there is no more "thermal" node
2018-02-17 18:15:39 +01:00
rlar
f0544f81d0
ngspiceMODULEguesstopology.c.xml, $vt
...
fixme, only because some dependency detection fails to drop an expression
which might involve $vt ?
2018-02-17 18:15:39 +01:00
rlar
45521299f4
minor, readability, missing newline
2018-02-17 18:15:39 +01:00
dwarning
7d81345a4b
add spice gmin parameter to drain and source junction current
2018-02-17 18:15:39 +01:00
dwarning
4bc4fc0c41
remove obsolete sti and wpe model parameter
2018-02-17 18:15:39 +01:00
rlar
21b58a1129
ngspiceMODULEdefs.h.xml, disable EXIT_IF_ISNAN()
...
don't exit() on NaN
a NaN is not necessairily a desaster,
might be merely a sign for non-convergence,
which still might be overcome in another try.
The bsim6 testbench case inverter_transient.sp was
unnecessairily aborted do to NaN's
2018-02-17 18:15:39 +01:00
rlar
d360f2c3b9
Benchmark_test, modify for ngspice
2018-02-17 18:15:39 +01:00
rlar
d59044c575
add Benchmark_test for BSIM6 from Berkeley
2018-02-17 18:15:39 +01:00
rlar
2109b04aa9
work around, 'define __TERMAL_NODE__ in bsim6.va, first successfull plot
...
to work around dangling "temper" node in bsim6
fixme, adms populates the termal node slot in the matrix even though
__TERMAL_NODE__ was not defined, leading to a singular matrix.
fixme, adms
$port_connected
is not supported, thus just claim it to be connected.
inp2m.c, upgrade to allow bsim6 with 5 nodes
2018-02-17 18:15:39 +01:00
rlar
457bb1d8be
temporary, make the failing nodes identifyable
2018-02-17 18:15:39 +01:00
rlar
737ea558ba
very first testcase, of course it fails
2018-02-17 18:15:39 +01:00
rlar
bf9ff9b188
inptyplk.c, INPtypelook(), ignore case when comparing modelname
...
"bsim6" is in lower case in bsim6init.c
2018-02-17 18:15:39 +01:00
rlar
0e2c436116
ngspiceMODULEdefs.h.xml, add min max for the sake of XXXguesstopology.c
2018-02-17 18:15:39 +01:00
Guilherme Brondani Torri
5fd51e01d3
fix callfunction
...
* handle $strobe
* handle $finish
* others throw error
2018-02-17 18:15:39 +01:00
rlar
1b0fd1d95f
bsim6.va, macro for lln, to avoid derivatives of this function
2018-02-17 18:15:39 +01:00
rlar
5604000ec3
bsim6.va, macro for lexp to avoid derivatives
...
fixme, adsmXml can't do
a ? b : c ? d : e
needs parentheses
a ? b : (c ? d : e)
bug in parser
2018-02-17 18:15:39 +01:00
rlar
32ad2ff31e
bsim6.va, macro for hypsmooth, to avoid derivatives of this function
2018-02-17 18:15:39 +01:00
rlar
3684ee03f7
dev.c and inp2m.c, bsim6 is level 16 ?!
2018-02-17 18:15:39 +01:00