Browse Source

update for adms

pre-master-46
h_vogt 16 years ago
parent
commit
b82ef13db7
  1. 3
      ChangeLog
  2. 50
      autogen.sh
  3. 8
      src/spicelib/parser/inp2q.c

3
ChangeLog

@ -1,3 +1,6 @@
2010-08-01 Holger Vogt
* autogen.sh, spicelib/parser/inp2q.c: update for adms
2010-07-31 Robert Larice 2010-07-31 Robert Larice
* src/frontend/parse.c : * src/frontend/parse.c :
work around a segmentation fault, when plotting work around a segmentation fault, when plotting

50
autogen.sh

@ -114,16 +114,27 @@ test $TEST_TYPE $FILE || {
} }
cp -p configure.in configure.temp
if test "$ADMS" -eq 1; then if test "$ADMS" -eq 1; then
cp -p configure.in configure.temp
# automake needs these entries in configure.in for adms enabled # automake needs these entries in configure.in for adms enabled
sed 's/${VLAMKF}/src\/spicelib\/devices\/adms\/ekv\/Makefile\
src\/spicelib\/devices\/adms\/hicum0\/Makefile\
src\/spicelib\/devices\/adms\/hicum2\/Makefile\
src\/spicelib\/devices\/adms\/mextram\/Makefile\
src\/spicelib\/devices\/adms\/psp102\/Makefile/g' configure.temp >configure.in
# sed 's/${VLAMKF}/src\/spicelib\/devices\/adms\/ekv\/Makefile\
# src\/spicelib\/devices\/adms\/hicum0\/Makefile\
# src\/spicelib\/devices\/adms\/hicum2\/Makefile\
# src\/spicelib\/devices\/adms\/mextram\/Makefile\
# src\/spicelib\/devices\/adms\/psp102\/Makefile/g' configure.temp >configure.test
sed 's/tests\/vbic\/Makefile/tests\/vbic\/Makefile\
src\/spicelib\/devices\/adms\/ekv\/Makefile\
src\/spicelib\/devices\/adms\/hicum0\/Makefile\
src\/spicelib\/devices\/adms\/hicum2\/Makefile\
src\/spicelib\/devices\/adms\/mextram\/Makefile\
src\/spicelib\/devices\/adms\/psp102\/Makefile/g' configure.temp >configure.in
# cp -p configure.in configure.test
currentdir=`pwd` currentdir=`pwd`
@ -155,36 +166,43 @@ if test "$ADMS" -eq 1; then
fi fi
done done
else
sed '/${VLAMKF}/d' configure.temp >configure.in
fi fi
echo "Running libtoolize" echo "Running libtoolize"
libtoolize --copy --force libtoolize --copy --force
if [ $? -ne 0 ];then echo "libtoolize failed"; exit 1 ; fi
if [ $? -ne 0 ];then echo "libtoolize failed"; goto errorhandler ; fi
echo "Running aclocal $ACLOCAL_FLAGS" echo "Running aclocal $ACLOCAL_FLAGS"
aclocal $ACLOCAL_FLAGS aclocal $ACLOCAL_FLAGS
if [ $? -ne 0 ]; then echo "aclocal failed"; exit 1 ; fi
if [ $? -ne 0 ]; then echo "aclocal failed"; goto errorhandler ; fi
# optional feature: autoheader # optional feature: autoheader
(autoheader --version) < /dev/null > /dev/null 2>&1 (autoheader --version) < /dev/null > /dev/null 2>&1
if [ $? -eq 0 ]; then if [ $? -eq 0 ]; then
echo "Running autoheader" echo "Running autoheader"
autoheader autoheader
if [ $? -ne 0 ]; then echo "autoheader failed"; exit 1 ; fi
if [ $? -ne 0 ]; then echo "autoheader failed"; goto errorhandler ; fi
fi fi
echo "Running automake -Wall --copy --add-missing" echo "Running automake -Wall --copy --add-missing"
automake -Wall --copy --add-missing $am_opt automake -Wall --copy --add-missing $am_opt
if [ $? -ne 0 ]; then echo "automake failed"; exit 1 ; fi
if [ $? -ne 0 ]; then echo "automake failed"; goto errorhandler ; fi
echo "Running autoconf" echo "Running autoconf"
autoconf autoconf
if [ $? -ne 0 ]; then echo "autoconf failed"; exit 1 ; fi
if [ $? -ne 0 ]; then echo "autoconf failed"; goto errorhandler ; fi
mv configure.temp configure.in
if test "$ADMS" -eq 1; then
mv configure.temp configure.in
fi
echo "Success." echo "Success."
exit 0
errorhandler:
if test "$ADMS" -eq 1; then
mv configure.temp configure.in
fi
exit 1

8
src/spicelib/parser/inp2q.c

@ -84,12 +84,16 @@ void INP2Q(CKTcircuit *ckt, INPtables * tab, card * current, void *gnode)
INPinsert(&model, tab); INPinsert(&model, tab);
current->error = INPgetMod(ckt, model, &thismodel, tab); current->error = INPgetMod(ckt, model, &thismodel, tab);
#ifdef ADMS #ifdef ADMS
if ((thismodel->INPmodType == INPtypelook("hicum0"))
if (thismodel == NULL) {
fprintf(stderr, "%s\nPlease check model, level or number of terminals!\n", current->error);
controlled_exit(EXIT_BAD);
}
else if ((thismodel->INPmodType == INPtypelook("hicum0"))
|| (thismodel->INPmodType == INPtypelook("hicum2")) || (thismodel->INPmodType == INPtypelook("hicum2"))
|| (thismodel->INPmodType == INPtypelook("mextram"))) || (thismodel->INPmodType == INPtypelook("mextram")))
{ {
node5 = gnode; /* 4-terminal adms device - thermal node to ground */ node5 = gnode; /* 4-terminal adms device - thermal node to ground */
nname5 = "0";
nname5 = copy("0");
INPtermInsert(ckt, &nname5, tab, &node5); INPtermInsert(ckt, &nname5, tab, &node5);
nodeflag = 1; /* now specify a 5 node device */ nodeflag = 1; /* now specify a 5 node device */
} }

Loading…
Cancel
Save