Commit Graph

6394 Commits

Author SHA1 Message Date
rlar e37047f8f7 hicum0, no (*ask*), use (*desc*) instead of (*info*) and workaround HICUMtype 2019-02-17 07:46:53 +01:00
rlar 46bc909bff psp102, drop (*ask*) 2019-02-17 07:46:53 +01:00
rlar 7a54ecf567 psp102, use (*desc*) instead of (*info*) 2019-02-17 07:46:53 +01:00
rlar 493e975d35 enforce compiler warning/error, when (*desc*) variable usage not anticipated 2019-02-17 07:46:52 +01:00
rlar 82d623a35a 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.
2019-02-17 07:46:52 +01:00
rlar ac263f9cc7 bsimcmg, edit benchmark_test files for first ngspice experiments
FIXME and beware,
  parameter LSP has a different default !
2019-02-17 07:46:52 +01:00
rlar bf333b9956 bsimcmg, introduce benchmark_test files, from Berkeley's BSIMCMG110.0.0_20160101.tar.gz 2019-02-17 07:46:52 +01:00
rlar 10f6e1fa37 %bsim6.el, receipe for bsimcmg testbench files 2019-02-17 07:46:51 +01:00
rlar 822de236d2 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
2019-02-17 07:46:51 +01:00
rlar aee03ec266 bsimcmg, adms workaround, transform Tempdep to a .va macro 2019-02-17 07:46:51 +01:00
rlar c4b8bc52f0 bsimcmg, adms workaround, transform hypmax to a .va macro 2019-02-17 07:46:50 +01:00
rlar b3fd560190 bsimcmg, adms workaround, transform hypsmooth to a .va macro 2019-02-17 07:46:50 +01:00
rlar 61fac01631 bsimcmg, adms workaround, transform lln to a .va macro 2019-02-17 07:46:50 +01:00
rlar b2f96c1c0a bsimcmg, adms workaround, transform lexp to a .va macro 2019-02-17 07:46:50 +01:00
rlar 4f9431311a dev.c, inp2m.c, inpdomod.c, introduce bsimcmg (use level 17) 2019-02-17 07:46:49 +01:00
rlar e967175f61 add bsimcmg.va to build system 2019-02-17 07:42:42 +01:00
rlar 7979fa151c bsimcmg, adms workaround, split T0 into two 2019-02-17 07:42:42 +01:00
rlar 5169fcb0d3 bsimcmg, adms workaround, split T1 into two 2019-02-17 07:42:42 +01:00
rlar 7e81a5e93f bsimcmg, adms workaround, split T2 into two 2019-02-17 07:42:42 +01:00
rlar 3e62b23c08 bsimcmg, adms workaround, split T3 into two 2019-02-17 07:42:41 +01:00
rlar 0d7a3838f5 bsimcmg, work around block_local variables, use the emacs macro 2019-02-17 07:42:41 +01:00
rlar 1a150044ce bsimcmg, work around block_local variables 2019-02-17 07:42:41 +01:00
rlar 6bf7af75f5 add bsimcmg, from Berkeley's BSIMCMG110.0.0_20160101.tar.gz 2019-02-17 07:42:40 +01:00
rlar aa5009fbe4 implement "case" 2019-02-17 07:42:40 +01:00
rlar b272e153c6 *.va, use $simparam("gmin") instead of the _circuit_gmin workaround 2019-02-17 07:42:40 +01:00
rlar cc5f8b6f42 implement $simparam("gmin") 2019-02-17 07:42:40 +01:00
rlar aa4f190f42 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
2019-02-17 07:42:39 +01:00
rlar 60cddb4643 bsim6.va, disable __THERMAL_NODE__ and __SHMOD__
modify Benchmark accordingly,
there is no more "thermal" node
2019-02-17 07:42:39 +01:00
rlar 54e0bb988b ngspiceMODULEguesstopology.c.xml, $vt
fixme, only because some dependency detection fails to drop an expression
  which might involve $vt ?
2019-02-17 07:42:39 +01:00
rlar 5de9a90394 minor, readability, missing newline 2019-02-17 07:42:38 +01:00
dwarning b18e214994 add spice gmin parameter to drain and source junction current 2019-02-17 07:42:38 +01:00
dwarning 00c32de1dc remove obsolete sti and wpe model parameter 2019-02-17 07:42:38 +01:00
rlar 4f53f51ad9 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
2019-02-17 07:42:38 +01:00
rlar f6257eba84 Benchmark_test, modify for ngspice 2019-02-17 07:42:37 +01:00
rlar fa4e123b53 add Benchmark_test for BSIM6 from Berkeley 2019-02-17 07:42:37 +01:00
rlar 7534ac394c 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
2019-02-17 07:42:37 +01:00
rlar ea4f5e165c temporary, make the failing nodes identifyable 2019-02-17 07:41:24 +01:00
rlar 50b883dbc7 very first testcase, of course it fails 2019-02-17 07:41:23 +01:00
rlar 45575b2b1b inptyplk.c, INPtypelook(), ignore case when comparing modelname
"bsim6" is in lower case in bsim6init.c
2019-02-17 07:41:23 +01:00
rlar 530d69f775 ngspiceMODULEdefs.h.xml, add min max for the sake of XXXguesstopology.c 2019-02-17 07:41:23 +01:00
Guilherme Brondani Torri 865bf55961 fix callfunction
* handle $strobe
* handle $finish
* others throw error
2019-02-17 07:41:23 +01:00
rlar 68b8614a35 bsim6.va, macro for lln, to avoid derivatives of this function 2019-02-17 07:41:22 +01:00
rlar 4f46cd20ee 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
2019-02-17 07:41:22 +01:00
rlar 37c5813d68 bsim6.va, macro for hypsmooth, to avoid derivatives of this function 2019-02-17 07:41:22 +01:00
rlar fa13ee77d6 dev.c and inp2m.c, bsim6 is level 16 ?! 2019-02-17 07:41:21 +01:00
rlar f87b32962a r2_cmcguesstopology.c, r2_cmc.va, block local does not work 2019-02-17 07:41:21 +01:00
rlar 6777b43be5 fix $given and $param_given 2019-02-17 07:41:21 +01:00
rlar 951fc54139 ngspiceMODULE.hxx.xml, add BOLTZMANN and ELECTON_CHARGE 2019-02-17 07:41:21 +01:00
rlar c4ce6fa1f7 ngspiceMODULE.hxx.xml, add asinh etc derivative (fixme acosh atanh incomplete) 2019-02-17 07:41:20 +01:00
rlar 729ab44bd5 ngspiceMODULE.hxx.xml, $finish and test with r2_cmc.va 2019-02-17 07:41:20 +01:00