Browse Source

Fixed support for adms devices (Mextram and hicum0)

pre-master-46
pnenzi 20 years ago
parent
commit
f659abd416
  1. 6
      ChangeLog
  2. 11
      configure.in
  3. 4
      src/spicelib/devices/Makefile.am
  4. 32
      src/spicelib/devices/dev.c

6
ChangeLog

@ -1,3 +1,9 @@
2006-02-17 Paolo Nenzi <p.nenzi@ieee.org>
* src/spicelib/devices/dev.c: Added support for adms devices (Dietmar
Warning). Devices implemented: hicum0 and mextram.
2006-02-16 Paolo Nenzi <p.nenzi@ieee.org> 2006-02-16 Paolo Nenzi <p.nenzi@ieee.org>
* src/spicelib/devices/dev.c: removed EKV ifdefs. In future versions of * src/spicelib/devices/dev.c: removed EKV ifdefs. In future versions of

11
configure.in

@ -625,9 +625,18 @@ if test "$enable_adms" = "yes"; then
AC_MSG_ERROR(If you want adms models you should install admsXml) AC_MSG_ERROR(If you want adms models you should install admsXml)
fi fi
AC_DEFINE(ADMS,[],[Support for Verilog-A(MS) models]) AC_DEFINE(ADMS,[],[Support for Verilog-A(MS) models])
AC_SUBST(ADMSXML)
VLADEVDIR=" adms/hicum0 \
adms/mextram "
VLADEV=" spicelib/devices/adms/hicum0/libhic0_full.a \
spicelib/devices/adms/mextram/libbjt504_va.a "
fi fi
AC_SUBST(ADMSXML)
AC_SUBST(VLADEVDIR)
AC_SUBST(VLADEV)
dnl Cluster option dnl Cluster option
if test "$enable_cluster" = "yes"; then if test "$enable_cluster" = "yes"; then

4
src/spicelib/devices/Makefile.am

@ -1,8 +1,6 @@
## Process this file with automake to produce Makefile.in ## Process this file with automake to produce Makefile.in
SUBDIRS = \ SUBDIRS = \
adms/hicum0 \
adms/mextram \
asrc \ asrc \
bjt \ bjt \
bjt2 \ bjt2 \
@ -49,9 +47,11 @@ SUBDIRS = \
vccs \ vccs \
vcvs \ vcvs \
vsrc \ vsrc \
@VLADEVDIR@
@NUMDEVDIR@ @NUMDEVDIR@
DIST_SUBDIRS = \ DIST_SUBDIRS = \
adms/admst \
adms/hicum0 \ adms/hicum0 \
adms/mextram \ adms/mextram \
asrc \ asrc \

32
src/spicelib/devices/dev.c

@ -89,9 +89,9 @@ int add_udn(int,Evt_Udn_Info_t **);
#define ANALYSES_USED "op dc tf ac tran pz disto noise sense" #define ANALYSES_USED "op dc tf ac tran pz disto noise sense"
#ifdef HAVE_ADMS
#include "adms/hicum0/hicum0itf.h"
#include "adms/mextram/mextramitf.h"
#ifdef ADMS
#include "adms/hicum0/hic0_fullitf.h"
#include "adms/mextram/bjt504_vaitf.h"
#endif #endif
#include "asrc/asrcitf.h" #include "asrc/asrcitf.h"
#include "bjt/bjtitf.h" #include "bjt/bjtitf.h"
@ -153,7 +153,7 @@ int add_udn(int,Evt_Udn_Info_t **);
/*saj in xspice the DEVices size can be varied so DEVNUM is an int*/ /*saj in xspice the DEVices size can be varied so DEVNUM is an int*/
#ifdef CIDER #ifdef CIDER
#ifdef HAVE_ADMS
#ifdef ADMS
#ifdef XSPICE #ifdef XSPICE
static int DEVNUM = 54; static int DEVNUM = 54;
@ -173,7 +173,7 @@ int add_udn(int,Evt_Udn_Info_t **);
#else /* NOT CIDER */ #else /* NOT CIDER */
#ifdef HAVE_ADMS
#ifdef ADMS
#ifdef XSPICE #ifdef XSPICE
static int DEVNUM = 49; static int DEVNUM = 49;
@ -181,18 +181,20 @@ int add_udn(int,Evt_Udn_Info_t **);
#define DEVNUM 49 #define DEVNUM 49
#endif #endif
#else /* NOT ADMS */
#else /* NOT ADMS */
#ifdef XSPICE #ifdef XSPICE
static int DEVNUM = 47; static int DEVNUM = 47;
#else #else
#define DEVNUM 47
#define DEVNUM 47 */
#endif #endif
#endif
#endif /* ADMS */ #endif /* ADMS */
>>>>>>> 1.27
#endif /* CIDER */ #endif /* CIDER */
/*Make this dynamic for later attempt to make all devices dynamic*/ /*Make this dynamic for later attempt to make all devices dynamic*/
SPICEdev **DEVices=NULL; SPICEdev **DEVices=NULL;
@ -282,17 +284,17 @@ spice_init_devices(void)
DEVices[49] = get_numd_info(); DEVices[49] = get_numd_info();
DEVices[50] = get_numd2_info(); DEVices[50] = get_numd2_info();
DEVices[51] = get_numos_info(); DEVices[51] = get_numos_info();
#ifdef HAVE_ADMS
DEVices[52] = get_hicum0_info();
DEVices[53] = get_mextram_info();
#ifdef ADMS
DEVices[52] = get_hic0_full_info();
DEVices[53] = get_bjt504_va_info();
assert(54 == DEVNUM); assert(54 == DEVNUM);
#else /* NOT ADMS */ #else /* NOT ADMS */
assert(52 == DEVNUM); assert(52 == DEVNUM);
#endif /* HAVE_ADMS */ #endif /* HAVE_ADMS */
#else /* NOT CIDER */ #else /* NOT CIDER */
#ifdef HAVE_ADMS
DEVices[47] = get_hicum0_info();
DEVices[48] = get_mextram_info();
#ifdef ADMS
DEVices[47] = get_hic0_full_info();
DEVices[48] = get_bjt504_va_info();
assert(49 == DEVNUM); assert(49 == DEVNUM);
#else #else
assert(47 == DEVNUM); assert(47 == DEVNUM);
@ -325,7 +327,7 @@ devices(void)
#ifdef DEVLIB #ifdef DEVLIB
/*not yet usable*/ /*not yet usable*/
#ifdef HAVE_ADMS
#ifdef ADMS
#define DEVICES_USED {"asrc", "bjt", "bjt2", "vbic", "bsim1", "bsim2", "bsim3", "bsim3v2", "bsim3v1", "bsim4", "bsim3soipd", "bsim3soifd", \ #define DEVICES_USED {"asrc", "bjt", "bjt2", "vbic", "bsim1", "bsim2", "bsim3", "bsim3v2", "bsim3v1", "bsim4", "bsim3soipd", "bsim3soifd", \
"bsim3soidd", "cap", "cccs", "ccvs", "csw", "dio", "hfet", "hfet2", "ind", "isrc", "jfet", "ltra", "mes", "mesa" ,"mos1", \ "bsim3soidd", "cap", "cccs", "ccvs", "csw", "dio", "hfet", "hfet2", "ind", "isrc", "jfet", "ltra", "mes", "mesa" ,"mos1", \
"mos2", "mos3", "mos6", "mos9", "res", "soi3", "sw", "tra", "urc", "vccs", "vcvs", "vsrc", "hicum0", "mextram"} "mos2", "mos3", "mos6", "mos9", "res", "soi3", "sw", "tra", "urc", "vccs", "vcvs", "vsrc", "hicum0", "mextram"}

Loading…
Cancel
Save