Commit Graph

5334 Commits

Author SHA1 Message Date
rlar 333aa3c8e2 adms workaround $port_connected 2017-07-30 18:19:48 +02:00
rlar 1c7157364f actually incorporate bsimcmg code from the tar file 2017-07-30 18:18:45 +02:00
rlar 7c1db5c912 add bsimcmg, from Berkeley's BSIMCMG110.0.0_20160101.tar.gz 2017-07-30 18:17:14 +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
rlar 455e74cd4f fix $given and $param_given 2017-07-24 20:45:04 +02:00
rlar 097a78c130 ngspiceMODULE.hxx.xml, add BOLTZMANN and ELECTON_CHARGE 2017-07-24 20:45:04 +02:00
rlar 8b2aa56cb0 ngspiceMODULE.hxx.xml, add asinh etc derivative (fixme acosh atanh incomplete) 2017-07-24 20:45:04 +02:00
rlar 3c90eef07a ngspiceMODULE.hxx.xml, $finish and test with r2_cmc.va 2017-07-24 20:45:04 +02:00
rlar 0a7a34c869 bsim6.va, work around body local vars (topology.c)
again OPdependent related
2017-07-24 20:45:03 +02:00
rlar db3e92ab1e bsim6.va, split temporary variable T0 into two variables
to avoid a dependency related problem in the xml files.
T0 and T0y, one of them have the OPdependent flag set
  which surpresses variable declarations to be emited.
2017-07-24 20:45:03 +02:00
rlar 198eb0fd6f bsim6.va, split temporary variable T1 into two variables
to avoid a dependency related problem in the xml files.
T1 and T1y, one of them have the OPdependent flag set
  which surpresses variable declarations to be emited.
2017-07-24 20:45:03 +02:00
rlar 7ea7c84a59 bsim6.va, split temporary variable T2 into two variables
to avoid a dependency related problem in the xml files.
T2 and T2y, one of them have the OPdependent flag set
  which surpresses variable declarations to be emited.
2017-07-24 20:45:03 +02:00
rlar fa538f4e84 bsim6.va, split temporary variable T3 into two variables
to avoid a dependency related problem in the xml files.
T3 and T3y, one of them have the OPdependent flag set
  which surpresses variable declarations to be emited.
2017-07-24 20:45:03 +02:00
Guilherme Brondani Torri ca02cf3492 avoid escape sequence %M, show hierarchical name
* it will cause printf to fail
2017-07-24 20:45:03 +02:00
rlar 56355eca9e bsim6.va, work around "case" 2017-07-24 20:45:03 +02:00
rlar a6ce771ca2 bsim6.va, work around "for" (in guesstopology ?) 2017-07-24 20:45:03 +02:00
rlar 371de5f9ef scrub analoffunction.xml, (anti cpp) 2017-07-24 20:45:03 +02:00
Guilherme Brondani Torri 05101b96fb analogfunction, rename generated file from .cpp to .c 2017-07-24 20:45:03 +02:00
Guilherme Brondani Torri f6c68e986e analogfunction, rename included file from [module]defs.h 2017-07-24 20:45:03 +02:00
rlar a83e21350c analogfunction.xml, name collission, rename function:getname and c:math_h
these would shadow definitions in ngspiceVersion.xml
2017-07-24 20:45:03 +02:00
rlar f6c477a617 extend "add analogfunction.xml from Qucs" 2017-07-24 20:45:03 +02:00
Guilherme Brondani Torri e7527781cf add analogfunction.xml from Qucs
* This script creates a header and source [module].analogfuncion.[h.cpp]
  containing functions defined on the body of the Verilog-A model
2017-07-24 20:45:03 +02:00
Guilherme Brondani Torri 7565c3590a add modulus symbol, multmod 2017-07-24 20:45:03 +02:00
rlar b49c241e83 bsim6.va from bsim 6.1.1, see %bsim6.el 2017-07-24 20:45:03 +02:00
Guilherme Brondani Torri 2a97a67432 Add bsim6.va to build system 2017-07-24 20:45:02 +02:00
rlar 79c35a8813 avoid unneccessairy diff noise (due to currentdate) in the adms generated files 2017-07-24 20:45:02 +02:00
rlar 8719f03207 auxiliary my.mak files and %bsim6.el 2017-07-24 20:45:02 +02:00
Guilherme Brondani Torri 7aa137cba8 register BSIM6 on adms ngspice interface
$./autogen.sh --adms
...
[fatal..] bsim6: device not handled by the adms ngspice interface
[fatal..] see [../admst/ngspiceVersion.xml:2120]
2017-07-24 20:45:02 +02:00