Commit Graph

5552 Commits

Author SHA1 Message Date
rlar 5f898a86a7 bsimcmg, add example files (version 110.0.0) from
http://bsim.berkeley.edu/BSIMCMG/BSIMCMG110.0.0_20160101.tar.gz
2018-03-18 17:58:21 +01:00
rlar 9c27436d9f bsimcmg, LSP issue
LSP is declared to be a "module" parameter,
  yet has a default value which is calculated
    from a "instance" parameter "L"
    and a "model" parameter "XL"
 which necessairly means, LSP is a "instance" parameter.

to avoid excessive divertion from the original source,
  we use a local variable "LSP_i" which is set either to the default value
    calculated from XL and L, or to the user specified "LSP" model parameter
2018-03-18 17:51:08 +01:00
rlar 096864f703 bsimcmg_body.include, workaround incorrect adms derivative, GM, GDS, GMBS, FIXME !
adms doesn't seem to derive a "output" variable correctly.
  (was zero)

this fix is for GM, GDS, GMBS only,
  fixme, unknown which other variables suffer from the same problem
2018-03-18 17:48:03 +01:00
rlar 304bdcfb65 bsimcmg, workaround adms ddx() translation
ddx must be toplevel of an assignment
2018-03-18 17:44:48 +01:00
rlar c88435d500 bsimcmg, adms workaround, split T0 into two 2018-03-18 17:43:46 +01:00
rlar 3dafbcdb52 bsimcmg, adms workaround, split T1 into two 2018-03-18 17:43:44 +01:00
rlar 1aa57e7966 bsimcmg, adms workaround, split T2 into two 2018-03-18 17:43:43 +01:00
rlar 24b34228bd bsimcmg, adms workaround, split T3 into two 2018-03-18 17:43:41 +01:00
rlar b0d1b6ff2e bsimcmg, work around block_local variables, use the emacs macro 2018-03-18 17:43:39 +01:00
rlar b82b9994e8 bsimcmg, work around block_local variables 2018-03-18 17:43:37 +01:00
rlar 677e2f7146 bsimcmg, add to ngspice, (level 17 and 72) 2018-03-18 17:42:26 +01:00
rlar c6dcefa9f1 bsimcmg, add files (version 110.0.0) from
http://bsim.berkeley.edu/BSIMCMG/BSIMCMG110.0.0_20160101.tar.gz
2018-03-18 17:39:49 +01:00
rlar ca391753b0 remove bsimcmg completely 2018-03-18 14:44:33 +01:00
Holger Vogt 9940d00b8f add license statements to the HICUM va files 2018-03-18 00:24:17 +01:00
Holger Vogt 282acfb3a7 add adms
to be run as ./compile_min.sh 64
2018-03-17 21:24:40 +01:00
Holger Vogt 044eee5636 examples/adms/bsimbulk, adapt to ngspice syntax 2018-03-17 21:24:38 +01:00
rlar 97ecd7fce9 examples/adms/bsimbulk, add unmodified example files from
http://bsim.berkeley.edu/BSIMBULK/BSIM-BULK_106.2.0_20170630.tgz
2018-03-17 21:17:36 +01:00
Holger Vogt 3a92fea946 extend the previous renaming commit 2018-03-17 20:23:07 +01:00
rlar 789a791cb0 git mv tests/bsim6 tests/bsimbulk 2018-03-17 20:23:06 +01:00
rlar bbf4047f40 bsimbulk.va, adms workaround, beware of `<+ ddt(...)'
if there is a ddt() expression in the rhs
  lhs <+ rhs
then adms might not set the matrix correctly.
It seems to work though, if ddt() is the only expression in rhs.
2018-03-17 20:23:04 +01:00
Holger Vogt 874d20cb62 bsimbulk.va, adms workaround, don't use local variables 2018-03-17 20:18:32 +01:00
Holger Vogt a04ea30265 bsimbulk.va, adms workaround, avoid %M format (hierarchical name)
which is not implemented
2018-03-17 20:18:26 +01:00
Holger Vogt 0c04d9bb2b bsimbulk.va, adms workaround, split variables 2018-03-17 20:18:17 +01:00
Holger Vogt 180e1523dd bsimbulk.va, adms workaround, avoid `for' loop 2018-03-17 20:18:08 +01:00
Holger Vogt 3f1495e322 switch from bsim6 to bsimbulk 2018-03-17 20:15:17 +01:00
rlar 6c2a5894a9 switch from bsim6.va to bsimbulk.va version 106.2.0
bsimbulk.va is unmodified fetched from
  http://bsim.berkeley.edu/BSIMBULK/BSIM-BULK_106.2.0_20170630.tgz
2018-03-17 20:14:41 +01:00
Holger Vogt 8fdbf2f838 ngspiceMODULE.hxx.xml, $finish, use controlled_exit()
instead of exit()
2018-03-17 20:13:01 +01:00
dwarning b13da5c813 update mos level schema referring the new va models 2018-03-17 13:21:44 +01:00
rlar 53a1fab068 admsva/bsim6.va, avoid singular matrix when shmod==0
Tie the temp node to ground,
  if there is no Pwr(t) contribution at all and __SHMOD__ is defined.
  (avoid singular matrix, when either SHMOD=0 or RTH0 <= 0)
2018-03-17 11:39:33 +01:00
rlar 018a470775 admsva/bsim6.va, workaround adms issue, (beware of `<+ ddt(...)')
if there is a ddt() expression in the rhs
  lhs <+ rhs
then adms might not set the matrix correctly.
It seems to work though, if ddt() is the only expression in rhs.

Note, in bsim6.va
 the matrix slot [temp-node][temp-node] would need to be populated
   with the `gth' term. (see mdump)
 with the original expression this term disappeared.
2018-03-17 11:39:16 +01:00
rlar 8335473d66 admsva/bsim6.va, avoid uninitialised variables local_sca/scb/scc
When WPEMOD isn't set, local_sca/scb/scc have been used uninitialised.
Lets assume 0.0 might be a reasonable value to be used.
2018-03-17 09:47:41 +01:00
rlar 1a8d2751bf ngspiceMODULEsetup.c.xml, allocate instance node too
If an instance node is "optional" then we might need to
 allocate it ourself just the same as so called "internal" nodes.
Notably in bsim6.va the optional thermal node might be needed
 when shmod is used, even if unconnected.
2018-03-17 09:44:09 +01:00
rlar e7407e700e admsva/bsim6.va, enable __SHMOD__, need to split more variables 2018-03-17 09:38:26 +01:00
rlar 56c7496190 badcode1, .va testcase exposing adms split-personality variables
not integrated into configure.ac
  because of its purpose to fail compilation.

recipe:
(compile "cd src/spicelib/devices/adms/badcode1/admsva && make -if my.mak to")
2018-03-10 20:06:51 +01:00
rlar 54140cdc9b fixme, test again, with "instance parameters" on their original .model line
that is, undo these commits:

a57359e * bsimcmg_benchmark_test, remove unwanted files
1c02864 * bsimcmg, benchmark, D is an instance parameters !
6881264 * bsimcmg, benchmark, TFIN FPITCH and L are instance parameters !
1f5b6e7 * modelcard.nmos.1, bsimcmg benchmark, 'D' is an instance parameter !
2018-02-17 18:30:52 +01:00
rlar 308c11129d admst/ngspice*.xml, use _f prefix
to avoid name collision with well known function names
actually the leading underscore itself is reserved
2018-02-17 18:15:40 +01:00
rlar ec6e32edfb analogfunction.xml, use _fn prefix
to avoid name collision with well known function names
actually the leading underscore itself is reserved
2018-02-17 18:15:40 +01:00
rlar df423c04aa ngspiceMODULE.hxx.xml, remove unused template "c:analogfunction:math_h" 2018-02-17 18:15:40 +01:00
rlar ee5c113476 Revert "bsim6.va, macro for hypsmooth, to avoid derivatives of this function" 2018-02-17 18:15:40 +01:00
rlar 230d936bf8 Revert "bsim6.va, macro for lexp to avoid derivatives" 2018-02-17 18:15:40 +01:00
rlar 6349aca65e Revert "bsim6.va, macro for lln, to avoid derivatives of this function" 2018-02-17 18:15:40 +01:00
rlar a51d71539a Revert "bsimcmg, adms workaround, transform lexp to a .va macro" 2018-02-17 18:15:40 +01:00
rlar 36d9a7c568 Revert "bsimcmg, adms workaround, transform lln to a .va macro" 2018-02-17 18:15:40 +01:00
rlar bb5f32c13e Revert "bsimcmg, adms workaround, transform hypsmooth to a .va macro" 2018-02-17 18:15:40 +01:00
rlar 38251bf0cf Revert "bsimcmg, adms workaround, transform hypmax to a .va macro" 2018-02-17 18:15:40 +01:00
rlar 739f03fe8e Revert "bsimcmg, adms workaround, transform Tempdep to a .va macro" 2018-02-17 18:15:40 +01:00
rlar 297da3508a analogfunction.xml, static inline auxiliary functions to avoid redefinition 2018-02-17 18:15:40 +01:00
rlar 607958933a make use of analogfunction.xml 2018-02-17 18:15:40 +01:00
rlar 1195d68564 polish analogfunction.xml, and dont use config.h 2018-02-17 18:15:40 +01:00
rlar 18b3c37690 fixup for "unify the module prefix for analogfunction.[ch] filenames" 2018-02-17 18:15:40 +01:00