Commit Graph

5529 Commits

Author SHA1 Message Date
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
rlar 3f02318a39 analogfunction.xml, indentation 2018-02-17 18:15:40 +01:00
rlar bda65aae09 fixme, guesstopology uses a different $(module) variable compared to the other
inconsistency,

will pop up at various places, for example in the wrapper
  #ifndef XXX_include_h
  #endif
2018-02-17 18:15:40 +01:00
rlar 4df2da5ddb unify the module prefix for analogfunction.[ch] filenames
this is an extension of commit
  fixup commit "Remove more adms generated files", ...
2018-02-17 18:15:40 +01:00
rlar e981e6efda fixup commit "Remove more adms generated files", FIXME $(module).analogfunction.c
FIXME:
  $(module).analogfunction.c and .h is sick, it is not part of
  lib$(module)_la_SOURCES
thus generated .c code which is not neaded at all !
2018-02-17 18:15:40 +01:00
rlar 78f54ef493 fixup previous commit, FIXME! the defines better should be inlines for savety 2018-02-17 18:15:40 +01:00
dwarning eaa066eeec complete the atan2 handling and parameter checking 2018-02-17 18:15:40 +01:00
dwarning 5152f49cc7 add the atan2 derivatives 2018-02-17 18:15:40 +01:00
dwarning 5b888df9e4 remove individual development files 2018-02-17 18:15:40 +01:00
dwarning 635a628e1d find a convenient place for examples 2018-02-17 18:15:40 +01:00
dwarning a57359e3b9 bsimcmg_benchmark_test, remove unwanted files 2018-02-17 18:15:40 +01:00
dwarning 89f5864393 This is the mextram qa test 2018-02-17 18:15:40 +01:00
rlar 5e21fbc9be whitespace for "introduce rcxxx limiting as long as adms can't node collapsing" 2018-02-17 18:15:40 +01:00
dwarning c047ee4663 introduce rcxxx limiting as long as adms can't node collapsing 2018-02-17 18:15:40 +01:00
dwarning 2b1249e4d3 omit operating point information as long as adms can't handle it 2018-02-17 18:15:40 +01:00
dwarning f4a4bf580a no need for spice3f5 workaround in 1 point noise analysis 2018-02-17 18:15:40 +01:00
dwarning 3b6c7ef965 catch noise sweeps with 1 point and handle erronous 0 points 2018-02-17 18:15:40 +01:00
rlar a4fa4b872c white spaces 2018-02-17 18:15:40 +01:00
rlar 51781b6703 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-02-17 18:15:40 +01:00
rlar b1e4157e51 avoid excess termal node unconnected warning 2018-02-17 18:15:40 +01:00
rlar ce6bb9bef1 no more reset 2018-02-17 18:15:40 +01:00
rlar 15e82008b6 port connected 2018-02-17 18:15:40 +01:00
rlar 2a165b6385 care about $port_connected in adms.implicit.xml
and

Revert "adms workaround $port_connected"
2018-02-17 18:15:40 +01:00
rlar ad135ed99e try to implement $port_connected (for temper node) 2018-02-17 18:15:40 +01:00