Commit Graph

5464 Commits

Author SHA1 Message Date
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
rlar 1751793ea9 r2_cmcguesstopology.c, r2_cmc.va, block local does not work 2018-02-17 18:15:39 +01:00