From f659abd4161bde2966a754ebd1ccb7c1b6dc5309 Mon Sep 17 00:00:00 2001 From: pnenzi Date: Fri, 17 Feb 2006 14:52:57 +0000 Subject: [PATCH] Fixed support for adms devices (Mextram and hicum0) --- ChangeLog | 6 ++++++ configure.in | 11 ++++++++++- src/spicelib/devices/Makefile.am | 4 ++-- src/spicelib/devices/dev.c | 32 +++++++++++++++++--------------- 4 files changed, 35 insertions(+), 18 deletions(-) diff --git a/ChangeLog b/ChangeLog index 8b6f4cdf2..484e859b1 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,9 @@ +2006-02-17 Paolo Nenzi + + * src/spicelib/devices/dev.c: Added support for adms devices (Dietmar + Warning). Devices implemented: hicum0 and mextram. + + 2006-02-16 Paolo Nenzi * src/spicelib/devices/dev.c: removed EKV ifdefs. In future versions of diff --git a/configure.in b/configure.in index 0e1735b78..158f0bb5d 100644 --- a/configure.in +++ b/configure.in @@ -625,9 +625,18 @@ if test "$enable_adms" = "yes"; then AC_MSG_ERROR(If you want adms models you should install admsXml) fi 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 +AC_SUBST(ADMSXML) +AC_SUBST(VLADEVDIR) +AC_SUBST(VLADEV) + dnl Cluster option if test "$enable_cluster" = "yes"; then diff --git a/src/spicelib/devices/Makefile.am b/src/spicelib/devices/Makefile.am index 51023f5dc..edf6f986b 100644 --- a/src/spicelib/devices/Makefile.am +++ b/src/spicelib/devices/Makefile.am @@ -1,8 +1,6 @@ ## Process this file with automake to produce Makefile.in SUBDIRS = \ - adms/hicum0 \ - adms/mextram \ asrc \ bjt \ bjt2 \ @@ -49,9 +47,11 @@ SUBDIRS = \ vccs \ vcvs \ vsrc \ + @VLADEVDIR@ @NUMDEVDIR@ DIST_SUBDIRS = \ + adms/admst \ adms/hicum0 \ adms/mextram \ asrc \ diff --git a/src/spicelib/devices/dev.c b/src/spicelib/devices/dev.c index 33b90d6b3..1c8480142 100644 --- a/src/spicelib/devices/dev.c +++ b/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" -#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 #include "asrc/asrcitf.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*/ #ifdef CIDER - #ifdef HAVE_ADMS + #ifdef ADMS #ifdef XSPICE static int DEVNUM = 54; @@ -173,7 +173,7 @@ int add_udn(int,Evt_Udn_Info_t **); #else /* NOT CIDER */ - #ifdef HAVE_ADMS + #ifdef ADMS #ifdef XSPICE static int DEVNUM = 49; @@ -181,18 +181,20 @@ int add_udn(int,Evt_Udn_Info_t **); #define DEVNUM 49 #endif - #else /* NOT ADMS */ + #else /* NOT ADMS */ #ifdef XSPICE static int DEVNUM = 47; #else - #define DEVNUM 47 + #define DEVNUM 47 */ #endif + + #endif #endif /* ADMS */ +>>>>>>> 1.27 #endif /* CIDER */ - /*Make this dynamic for later attempt to make all devices dynamic*/ SPICEdev **DEVices=NULL; @@ -282,17 +284,17 @@ spice_init_devices(void) DEVices[49] = get_numd_info(); DEVices[50] = get_numd2_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); #else /* NOT ADMS */ assert(52 == DEVNUM); #endif /* HAVE_ADMS */ #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); #else assert(47 == DEVNUM); @@ -325,7 +327,7 @@ devices(void) #ifdef DEVLIB /*not yet usable*/ -#ifdef HAVE_ADMS +#ifdef ADMS #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", \ "mos2", "mos3", "mos6", "mos9", "res", "soi3", "sw", "tra", "urc", "vccs", "vcvs", "vsrc", "hicum0", "mextram"}