Commit Graph

5358 Commits

Author SHA1 Message Date
rlar 9d0d90dad3 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
2017-07-24 20:45:07 +02:00
rlar b9c85ccf6a ekv, use (*desc*) instead of (*info*), useless, they have none 2017-07-24 20:45:07 +02:00
rlar c7f5aef10e bjt504t, use (*desc*) instead of (*info*), useless, they have none 2017-07-24 20:45:07 +02:00
rlar 9ead7b0275 hicum2, use (*desc*) instead of (*info*) 2017-07-24 20:45:07 +02:00
rlar c59dedd7e0 hicum0, no (*ask*), use (*desc*) instead of (*info*) and workaround HICUMtype 2017-07-24 20:45:07 +02:00
rlar 77e437ca98 psp102, drop (*ask*) 2017-07-24 20:45:07 +02:00
rlar 56737e0fd4 psp102, use (*desc*) instead of (*info*) 2017-07-24 20:45:07 +02:00
rlar f334663d8a enforce compiler warning/error, when (*desc*) variable usage not anticipated 2017-07-24 20:45:07 +02:00
rlar 0d73c09724 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.
2017-07-24 20:45:07 +02:00
rlar bcd925db65 bsimcmg, edit benchmark_test files for first ngspice experiments
FIXME and beware,
  parameter LSP has a different default !
2017-07-24 20:45:06 +02:00
rlar fbfa4eabc0 bsimcmg, introduce benchmark_test files, from Berkeley's BSIMCMG110.0.0_20160101.tar.gz 2017-07-24 20:45:06 +02:00
rlar 749be07882 %bsim6.el, receipe for bsimcmg testbench files 2017-07-24 20:45:06 +02:00
rlar 334a132234 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
2017-07-24 20:45:06 +02:00
rlar f50fa5089e bsimcmg, adms workaround, transform Tempdep to a .va macro 2017-07-24 20:45:06 +02:00
rlar 4017e8b939 bsimcmg, adms workaround, transform hypmax to a .va macro 2017-07-24 20:45:06 +02:00
rlar 2230fb7d45 bsimcmg, adms workaround, transform hypsmooth to a .va macro 2017-07-24 20:45:06 +02:00
rlar ecd8a1d019 bsimcmg, adms workaround, transform lln to a .va macro 2017-07-24 20:45:06 +02:00
rlar da6993d490 bsimcmg, adms workaround, transform lexp to a .va macro 2017-07-24 20:45:06 +02:00
rlar 0302eff390 dev.c, inp2m.c, inpdomod.c, introduce bsimcmg (use level 17) 2017-07-24 20:45:06 +02:00
rlar 7fb7bf7a42 add bsimcmg.va to build system 2017-07-24 20:45:06 +02:00
rlar 2d5998d24f bsimcmg, adms workaround, split T0 into two 2017-07-24 20:45:06 +02:00
rlar 82e3816a89 bsimcmg, adms workaround, split T1 into two 2017-07-24 20:45:06 +02:00
rlar d0a3b27c05 bsimcmg, adms workaround, split T2 into two 2017-07-24 20:45:06 +02:00
rlar 1412df7bb7 bsimcmg, adms workaround, split T3 into two 2017-07-24 20:45:06 +02:00
rlar f2b6d382ac bsimcmg, work around block_local variables, use the emacs macro 2017-07-24 20:45:05 +02:00
rlar 953f61b3e4 bsimcmg, work around block_local variables 2017-07-24 20:45:05 +02:00
rlar a307fbc535 add bsimcmg, from Berkeley's BSIMCMG110.0.0_20160101.tar.gz 2017-07-24 20:45:05 +02:00
rlar a0a90cc762 implement "case" 2017-07-24 20:45:05 +02:00
rlar 9decf5bd60 *.va, use $simparam("gmin") instead of the _circuit_gmin workaround 2017-07-24 20:45:05 +02:00
rlar a84592745b implement $simparam("gmin") 2017-07-24 20:45:05 +02:00
rlar b0fc16808f 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
2017-07-24 20:45:05 +02:00
rlar fe43163b55 bsim6.va, disable __THERMAL_NODE__ and __SHMOD__
modify Benchmark accordingly,
there is no more "thermal" node
2017-07-24 20:45:05 +02:00
rlar 5f7b50c34b ngspiceMODULEguesstopology.c.xml, $vt
fixme, only because some dependency detection fails to drop an expression
  which might involve $vt ?
2017-07-24 20:45:05 +02:00
rlar c081d4facd minor, readability, missing newline 2017-07-24 20:45:05 +02:00
dwarning b311163b77 add spice gmin parameter to drain and source junction current 2017-07-24 20:45:05 +02:00
dwarning 31ed75b9c8 remove obsolete sti and wpe model parameter 2017-07-24 20:45:05 +02:00
rlar b821466202 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
2017-07-24 20:45:05 +02:00
rlar cfb8140597 Benchmark_test, modify for ngspice 2017-07-24 20:45:05 +02:00
rlar edfd25065d add Benchmark_test for BSIM6 from Berkeley 2017-07-24 20:45:05 +02:00
rlar 020f6555d2 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
2017-07-24 20:45:04 +02:00
rlar 238091904b temporary, make the failing nodes identifyable 2017-07-24 20:45:04 +02:00
rlar ea2884e4ba very first testcase, of course it fails 2017-07-24 20:45:04 +02:00
rlar 89e9e317f5 inptyplk.c, INPtypelook(), ignore case when comparing modelname
"bsim6" is in lower case in bsim6init.c
2017-07-24 20:45:04 +02:00
rlar ae8c1b8e7d ngspiceMODULEdefs.h.xml, add min max for the sake of XXXguesstopology.c 2017-07-24 20:45:04 +02:00
Guilherme Brondani Torri c768f71ea3 fix callfunction
* handle $strobe
* handle $finish
* others throw error
2017-07-24 20:45:04 +02:00
rlar 1b134a7bc7 bsim6.va, macro for lln, to avoid derivatives of this function 2017-07-24 20:45:04 +02:00
rlar c01ebb1783 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
2017-07-24 20:45:04 +02:00
rlar fe985453bc bsim6.va, macro for hypsmooth, to avoid derivatives of this function 2017-07-24 20:45:04 +02:00
rlar 7629cf83a8 dev.c and inp2m.c, bsim6 is level 16 ?! 2017-07-24 20:45:04 +02:00
rlar 4c31c768d7 r2_cmcguesstopology.c, r2_cmc.va, block local does not work 2017-07-24 20:45:04 +02:00