Commit Graph

6398 Commits

Author SHA1 Message Date
rlar 9739f9983f 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
2019-02-17 07:46:54 +01:00
rlar 9628249962 ekv, use (*desc*) instead of (*info*), useless, they have none 2019-02-17 07:46:54 +01:00
rlar 7f8a7f1382 bjt504t, use (*desc*) instead of (*info*), useless, they have none 2019-02-17 07:46:54 +01:00
rlar cda2684857 hicum2, use (*desc*) instead of (*info*) 2019-02-17 07:46:54 +01:00
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