Commit Graph

5387 Commits

Author SHA1 Message Date
rlar 5a7ee648e2 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-09-19 21:08:48 +02:00
rlar d2a06bc520 ekv, use (*desc*) instead of (*info*), useless, they have none 2017-09-19 21:08:48 +02:00
rlar 64ba3455e2 bjt504t, use (*desc*) instead of (*info*), useless, they have none 2017-09-19 21:08:48 +02:00
rlar e178b043ff hicum2, use (*desc*) instead of (*info*) 2017-09-19 21:08:48 +02:00
rlar 9992c46028 hicum0, no (*ask*), use (*desc*) instead of (*info*) and workaround HICUMtype 2017-09-19 21:08:48 +02:00
rlar 0ada8ade07 psp102, drop (*ask*) 2017-09-19 21:08:47 +02:00
rlar 5d2f4550b4 psp102, use (*desc*) instead of (*info*) 2017-09-19 21:08:47 +02:00
rlar 36b893b48b enforce compiler warning/error, when (*desc*) variable usage not anticipated 2017-09-19 21:08:47 +02:00
rlar 46d0d3bad0 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-09-19 21:08:47 +02:00
rlar 3b56c65d7f bsimcmg, edit benchmark_test files for first ngspice experiments
FIXME and beware,
  parameter LSP has a different default !
2017-09-19 21:08:47 +02:00
rlar a0f98b4e9b bsimcmg, introduce benchmark_test files, from Berkeley's BSIMCMG110.0.0_20160101.tar.gz 2017-09-19 21:08:47 +02:00
rlar 5e04881367 %bsim6.el, receipe for bsimcmg testbench files 2017-09-19 21:08:47 +02:00
rlar 438f017c3a 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-09-19 21:08:47 +02:00
rlar d03d47b389 bsimcmg, adms workaround, transform Tempdep to a .va macro 2017-09-19 21:08:46 +02:00
rlar bb3287ae11 bsimcmg, adms workaround, transform hypmax to a .va macro 2017-09-19 21:08:46 +02:00
rlar b348f11feb bsimcmg, adms workaround, transform hypsmooth to a .va macro 2017-09-19 21:08:46 +02:00
rlar da21a6ad65 bsimcmg, adms workaround, transform lln to a .va macro 2017-09-19 21:08:46 +02:00
rlar 299e535e12 bsimcmg, adms workaround, transform lexp to a .va macro 2017-09-19 21:08:46 +02:00
rlar 289c10a2f0 dev.c, inp2m.c, inpdomod.c, introduce bsimcmg (use level 17) 2017-09-19 21:08:46 +02:00
rlar 8d314dc341 add bsimcmg.va to build system 2017-09-19 21:08:46 +02:00
rlar 8a29ab57aa bsimcmg, adms workaround, split T0 into two 2017-09-19 21:08:46 +02:00
rlar 510e7d60ab bsimcmg, adms workaround, split T1 into two 2017-09-19 21:08:45 +02:00
rlar 712e47f0f2 bsimcmg, adms workaround, split T2 into two 2017-09-19 21:08:45 +02:00
rlar 75044d6b45 bsimcmg, adms workaround, split T3 into two 2017-09-19 21:08:45 +02:00
rlar 199796789d bsimcmg, work around block_local variables, use the emacs macro 2017-09-19 21:08:45 +02:00
rlar d1a4854f40 bsimcmg, work around block_local variables 2017-09-19 21:08:45 +02:00
rlar f9cdd728f5 add bsimcmg, from Berkeley's BSIMCMG110.0.0_20160101.tar.gz 2017-09-19 21:08:39 +02:00
rlar a17003eae3 implement "case" 2017-09-19 21:00:29 +02:00
rlar 490ee2c392 *.va, use $simparam("gmin") instead of the _circuit_gmin workaround 2017-09-19 21:00:28 +02:00
rlar 757aa27e6f implement $simparam("gmin") 2017-09-19 21:00:28 +02:00
rlar bffe1242ed 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-09-19 21:00:28 +02:00
rlar 75ba43e269 bsim6.va, disable __THERMAL_NODE__ and __SHMOD__
modify Benchmark accordingly,
there is no more "thermal" node
2017-09-19 21:00:28 +02:00
rlar e593b81c21 ngspiceMODULEguesstopology.c.xml, $vt
fixme, only because some dependency detection fails to drop an expression
  which might involve $vt ?
2017-09-19 21:00:28 +02:00
rlar 0c877749e4 minor, readability, missing newline 2017-09-19 21:00:28 +02:00
dwarning e907405e21 add spice gmin parameter to drain and source junction current 2017-09-19 21:00:28 +02:00
dwarning 6c9e6921a5 remove obsolete sti and wpe model parameter 2017-09-19 21:00:28 +02:00
rlar d2e7f3a061 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-09-19 21:00:28 +02:00
rlar 496028e288 Benchmark_test, modify for ngspice 2017-09-19 21:00:27 +02:00
rlar c9d24b2e3e add Benchmark_test for BSIM6 from Berkeley 2017-09-19 21:00:27 +02:00
rlar 09d632bc0d 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-09-19 21:00:27 +02:00
rlar 373a099ac5 temporary, make the failing nodes identifyable 2017-09-19 21:00:27 +02:00
rlar 226283776d very first testcase, of course it fails 2017-09-19 21:00:27 +02:00
rlar 973b4d12e1 inptyplk.c, INPtypelook(), ignore case when comparing modelname
"bsim6" is in lower case in bsim6init.c
2017-09-19 21:00:27 +02:00
rlar 941b9237c2 ngspiceMODULEdefs.h.xml, add min max for the sake of XXXguesstopology.c 2017-09-19 21:00:27 +02:00
Guilherme Brondani Torri 2533969504 fix callfunction
* handle $strobe
* handle $finish
* others throw error
2017-09-19 21:00:27 +02:00
rlar 26d30b006e bsim6.va, macro for lln, to avoid derivatives of this function 2017-09-19 21:00:26 +02:00
rlar 588fc0aacc 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-09-19 21:00:26 +02:00
rlar 9de87aa950 bsim6.va, macro for hypsmooth, to avoid derivatives of this function 2017-09-19 21:00:26 +02:00
rlar 26e70307d7 dev.c and inp2m.c, bsim6 is level 16 ?! 2017-09-19 21:00:26 +02:00
rlar b1f6874e83 r2_cmcguesstopology.c, r2_cmc.va, block local does not work 2017-09-19 21:00:26 +02:00