From 931ffc9795e3adaf3de39c92b0ca5988e381fed7 Mon Sep 17 00:00:00 2001 From: arno Date: Tue, 11 Jul 2000 14:19:27 +0000 Subject: [PATCH] * asrc/asrcinit.c asrc/asrcitf.h bjt/bjtinit.c bjt/bjtitf.h bsim1/bsim1init.c bsim1/bsim1init.h bsim1/bsim1itf.h bsim2/bsim2init.c bsim2/bsim2init.h bsim2/bsim2itf.h bsim3/bsim3init.c bsim3/bsim3init.h bsim3/bsim3itf.h bsim3v1/bsim3v1init.c bsim3v1/bsim3v1init.h bsim3v1/bsim3v1itf.h bsim3v2/bsim3v2init.c bsim3v2/bsim3v2init.h bsim3v2/bsim3v2itf.h bsim4/bsim4init.c bsim4/bsim4init.h bsim4/bsim4itf.h cap/capinit.c cap/capitf.h cccs/cccsinit.c cccs/cccsitf.h ccvs/ccvsinit.c ccvs/ccvsitf.h csw/cswinit.c csw/cswitf.h dio/dioinit.c dio/dioitf.h ind/indext.h ind/indinit.c ind/inditf.h isrc/isrcinit.c isrc/isrcitf.h jfet/jfetinit.c jfet/jfetitf.h jfet2/jfet2init.c jfet2/jfet2itf.h ltra/ltrainit.c ltra/ltraitf.h mes/mesinit.c mes/mesitf.h mos1/mos1init.c mos1/mos1itf.h mos2/mos2init.c mos2/mos2itf.h mos3/mos3init.c mos3/mos3itf.h mos6/mos6init.c mos6/mos6itf.h res/resinit.c res/resitf.h sw/swinit.c sw/switf.h tra/trainit.c tra/traitf.h urc/urcext.h urc/urcinit.c urc/urcitf.h vccs/vccsinit.c vccs/vccsitf.h vcvs/vcvsinit.c vcvs/vcvsitf.h vsrc/vsrcinit.c vsrc/vsrcitf.h dev.c dev.h: Moved the device info structure from every devices' *itf.h file into a new *init.c file. Moved external declaration of addresses into *init.h file. Removed conditional compilation based on the AN_* defines as they were by default defined. The calling code will only get a pointer to a SPICEdev structure. This takes us another step closer to loadable devices. --- src/spicelib/devices/ChangeLog | 25 ++++ src/spicelib/devices/asrc/Makefile.am | 35 ++--- src/spicelib/devices/asrc/asrcinit.c | 64 +++++++++ src/spicelib/devices/asrc/asrcitf.h | 73 +--------- src/spicelib/devices/bjt/Makefile.am | 60 ++++---- src/spicelib/devices/bjt/bjtinit.c | 65 +++++++++ src/spicelib/devices/bjt/bjtitf.h | 91 +----------- src/spicelib/devices/bsim1/Makefile.am | 50 +++---- src/spicelib/devices/bsim1/bsim1init.c | 65 +++++++++ src/spicelib/devices/bsim1/bsim1init.h | 13 ++ src/spicelib/devices/bsim1/bsim1itf.h | 79 +---------- src/spicelib/devices/bsim2/Makefile.am | 46 +++--- src/spicelib/devices/bsim2/bsim2init.c | 65 +++++++++ src/spicelib/devices/bsim2/bsim2init.h | 13 ++ src/spicelib/devices/bsim2/bsim2itf.h | 76 +--------- src/spicelib/devices/bsim3/Makefile.am | 46 +++--- src/spicelib/devices/bsim3/bsim3init.c | 64 +++++++++ src/spicelib/devices/bsim3/bsim3init.h | 13 ++ src/spicelib/devices/bsim3/bsim3itf.h | 81 +---------- src/spicelib/devices/bsim3v1/Makefile.am | 44 +++--- src/spicelib/devices/bsim3v1/bsim3v1init.c | 66 +++++++++ src/spicelib/devices/bsim3v1/bsim3v1init.h | 13 ++ src/spicelib/devices/bsim3v1/bsim3v1itf.h | 83 +---------- src/spicelib/devices/bsim3v2/Makefile.am | 44 +++--- src/spicelib/devices/bsim3v2/bsim3v2init.c | 64 +++++++++ src/spicelib/devices/bsim3v2/bsim3v2init.h | 13 ++ src/spicelib/devices/bsim3v2/bsim3v2itf.h | 82 +---------- src/spicelib/devices/bsim4/Makefile.am | 48 ++++--- src/spicelib/devices/bsim4/bsim4init.c | 64 +++++++++ src/spicelib/devices/bsim4/bsim4init.h | 13 ++ src/spicelib/devices/bsim4/bsim4itf.h | 79 +---------- src/spicelib/devices/cap/Makefile.am | 50 +++---- src/spicelib/devices/cap/capinit.c | 63 +++++++++ src/spicelib/devices/cap/capitf.h | 81 +---------- src/spicelib/devices/cccs/Makefile.am | 34 ++--- src/spicelib/devices/cccs/cccsinit.c | 64 +++++++++ src/spicelib/devices/cccs/cccsitf.h | 78 +--------- src/spicelib/devices/ccvs/Makefile.am | 36 ++--- src/spicelib/devices/ccvs/ccvsinit.c | 65 +++++++++ src/spicelib/devices/ccvs/ccvsitf.h | 79 +---------- src/spicelib/devices/csw/Makefile.am | 34 ++--- src/spicelib/devices/csw/cswinit.c | 65 +++++++++ src/spicelib/devices/csw/cswitf.h | 76 +--------- src/spicelib/devices/dev.c | 141 ++++++++---------- src/spicelib/devices/dev.h | 1 + src/spicelib/devices/dio/Makefile.am | 58 ++++---- src/spicelib/devices/dio/dioinit.c | 64 +++++++++ src/spicelib/devices/dio/dioitf.h | 96 +------------ src/spicelib/devices/ind/Makefile.am | 62 ++++---- src/spicelib/devices/ind/indext.h | 36 +---- src/spicelib/devices/ind/indinit.c | 122 ++++++++++++++++ src/spicelib/devices/ind/inditf.h | 157 +-------------------- src/spicelib/devices/isrc/Makefile.am | 30 ++-- src/spicelib/devices/isrc/isrcinit.c | 64 +++++++++ src/spicelib/devices/isrc/isrcitf.h | 66 +-------- src/spicelib/devices/jfet/Makefile.am | 46 +++--- src/spicelib/devices/jfet/jfetinit.c | 65 +++++++++ src/spicelib/devices/jfet/jfetitf.h | 81 +---------- src/spicelib/devices/jfet2/Makefile.am | 46 +++--- src/spicelib/devices/jfet2/jfet2init.c | 65 +++++++++ src/spicelib/devices/jfet2/jfet2itf.h | 73 +--------- src/spicelib/devices/ltra/Makefile.am | 38 ++--- src/spicelib/devices/ltra/ltrainit.c | 65 +++++++++ src/spicelib/devices/ltra/ltraitf.h | 68 +-------- src/spicelib/devices/mes/Makefile.am | 46 +++--- src/spicelib/devices/mes/mesinit.c | 65 +++++++++ src/spicelib/devices/mes/mesitf.h | 80 +---------- src/spicelib/devices/mos1/Makefile.am | 56 ++++---- src/spicelib/devices/mos1/mos1init.c | 64 +++++++++ src/spicelib/devices/mos1/mos1itf.h | 94 +----------- src/spicelib/devices/mos2/Makefile.am | 59 ++++---- src/spicelib/devices/mos2/mos2init.c | 64 +++++++++ src/spicelib/devices/mos2/mos2itf.h | 94 +----------- src/spicelib/devices/mos3/Makefile.am | 59 ++++---- src/spicelib/devices/mos3/mos3init.c | 65 +++++++++ src/spicelib/devices/mos3/mos3itf.h | 94 +----------- src/spicelib/devices/mos6/Makefile.am | 34 ++--- src/spicelib/devices/mos6/mos6init.c | 64 +++++++++ src/spicelib/devices/mos6/mos6itf.h | 68 +-------- src/spicelib/devices/res/Makefile.am | 42 +++--- src/spicelib/devices/res/resinit.c | 65 +++++++++ src/spicelib/devices/res/resitf.h | 86 +---------- src/spicelib/devices/sw/Makefile.am | 36 ++--- src/spicelib/devices/sw/swinit.c | 65 +++++++++ src/spicelib/devices/sw/switf.h | 76 +--------- src/spicelib/devices/tra/Makefile.am | 35 ++--- src/spicelib/devices/tra/trainit.c | 64 +++++++++ src/spicelib/devices/tra/traitf.h | 67 +-------- src/spicelib/devices/urc/Makefile.am | 28 ++-- src/spicelib/devices/urc/urcext.h | 16 +-- src/spicelib/devices/urc/urcinit.c | 65 +++++++++ src/spicelib/devices/urc/urcitf.h | 69 +-------- src/spicelib/devices/vccs/Makefile.am | 36 ++--- src/spicelib/devices/vccs/vccsinit.c | 66 +++++++++ src/spicelib/devices/vccs/vccsitf.h | 81 +---------- src/spicelib/devices/vcvs/Makefile.am | 38 ++--- src/spicelib/devices/vcvs/vcvsinit.c | 65 +++++++++ src/spicelib/devices/vcvs/vcvsitf.h | 80 +---------- src/spicelib/devices/vsrc/Makefile.am | 38 ++--- src/spicelib/devices/vsrc/vsrcinit.c | 64 +++++++++ src/spicelib/devices/vsrc/vsrcitf.h | 70 +-------- 101 files changed, 2879 insertions(+), 3185 deletions(-) create mode 100644 src/spicelib/devices/asrc/asrcinit.c create mode 100644 src/spicelib/devices/bjt/bjtinit.c create mode 100644 src/spicelib/devices/bsim1/bsim1init.c create mode 100644 src/spicelib/devices/bsim1/bsim1init.h create mode 100644 src/spicelib/devices/bsim2/bsim2init.c create mode 100644 src/spicelib/devices/bsim2/bsim2init.h create mode 100644 src/spicelib/devices/bsim3/bsim3init.c create mode 100644 src/spicelib/devices/bsim3/bsim3init.h create mode 100644 src/spicelib/devices/bsim3v1/bsim3v1init.c create mode 100644 src/spicelib/devices/bsim3v1/bsim3v1init.h create mode 100644 src/spicelib/devices/bsim3v2/bsim3v2init.c create mode 100644 src/spicelib/devices/bsim3v2/bsim3v2init.h create mode 100644 src/spicelib/devices/bsim4/bsim4init.c create mode 100644 src/spicelib/devices/bsim4/bsim4init.h create mode 100644 src/spicelib/devices/cap/capinit.c create mode 100644 src/spicelib/devices/cccs/cccsinit.c create mode 100644 src/spicelib/devices/ccvs/ccvsinit.c create mode 100644 src/spicelib/devices/csw/cswinit.c create mode 100644 src/spicelib/devices/dio/dioinit.c create mode 100644 src/spicelib/devices/ind/indinit.c create mode 100644 src/spicelib/devices/isrc/isrcinit.c create mode 100644 src/spicelib/devices/jfet/jfetinit.c create mode 100644 src/spicelib/devices/jfet2/jfet2init.c create mode 100644 src/spicelib/devices/ltra/ltrainit.c create mode 100644 src/spicelib/devices/mes/mesinit.c create mode 100644 src/spicelib/devices/mos1/mos1init.c create mode 100644 src/spicelib/devices/mos2/mos2init.c create mode 100644 src/spicelib/devices/mos3/mos3init.c create mode 100644 src/spicelib/devices/mos6/mos6init.c create mode 100644 src/spicelib/devices/res/resinit.c create mode 100644 src/spicelib/devices/sw/swinit.c create mode 100644 src/spicelib/devices/tra/trainit.c create mode 100644 src/spicelib/devices/urc/urcinit.c create mode 100644 src/spicelib/devices/vccs/vccsinit.c create mode 100644 src/spicelib/devices/vcvs/vcvsinit.c create mode 100644 src/spicelib/devices/vsrc/vsrcinit.c diff --git a/src/spicelib/devices/ChangeLog b/src/spicelib/devices/ChangeLog index 20b474099..921a4fc2a 100644 --- a/src/spicelib/devices/ChangeLog +++ b/src/spicelib/devices/ChangeLog @@ -1,3 +1,28 @@ +2000-07-10 Arno W. Peters + + * asrc/asrcinit.c, asrc/asrcitf.h, bjt/bjtinit.c, bjt/bjtitf.h, + bsim1/b1init.c, bsim1/b1itf.h, bsim2/b2init.c, bsim2/b2itf.h, + bsim3/b3init.c, bsim3/b3itf.h, bsim3v1/b3v1init.c, + bsim3v1/b3v1itf.h, bsim3v2/b3v2init.c, bsim3v2/b3v2itf.h, + bsim4/b4init.c, bsim4/b4itf.h, cap/capinit.c, cap/capitf.h, + cccs/cccsinit.c, cccs/cccsitf.h, ccvs/ccvsinit.c, ccvs/ccvsitf.h, + csw/cswinit.c, csw/cswitf.h, dio/dioinit.c, dio/dioitf.h, + ind/indinit.c, ind/inditf.h, isrc/isrcinit.c, isrc/isrcitf.h, + jfet/jfetinit.c, jfet/jfetitf.h, jfet2/jfet2init.c, + jfet2/jfet2itf.h, ltra/ltrainit.c, ltra/ltraitf.h, mes/mesinit.c, + mes/mesitf.h, mos1/mos1init.c, mos1/mos1itf.h, mos2/mos2init.c, + mos2/mos2itf.h, mos3/mos3init.c, mos3/mos3itf.h, mos6/mos6init.c, + mos6/mos6itf.h, res/resinit.c, res/resitf.h, sw/swinit.c, + sw/switf.h, tra/trainit.c, tra/traitf.h, urc/urcinit.c, + urc/urcitf.h, vccs/vccsinit.c, vccs/vccsitf.h, vcvs/vcvsinit.c, + vcvs/vcvsitf.h, vsrc/vsrcinit.c, vsrc/vsrcitf.h: Moved the device + info structure from every devices' *itf.h file into a new *init.c + file. Moved external declaration of addresses into *init.h file. + Removed conditional compilation based on the AN_* defines + as they were by default defined. The calling code will only get a + pointer to a SPICEdev structure. This takes us another step + closer to loadable devices. + 2000-07-09 Arno W. Peters * devlist.c, devlist.h, test_devlist.c: Removed. This idea is not diff --git a/src/spicelib/devices/asrc/Makefile.am b/src/spicelib/devices/asrc/Makefile.am index 0aa14b0ea..fa2349d3f 100644 --- a/src/spicelib/devices/asrc/Makefile.am +++ b/src/spicelib/devices/asrc/Makefile.am @@ -2,23 +2,24 @@ pkglib_LTLIBRARIES = libasrc.la -libasrc_la_SOURCES = \ - asrc.c \ - asrcacld.c \ - asrcask.c \ - asrcconv.c \ - asrcdefs.h \ - asrcdel.c \ - asrcdest.c \ - asrcext.h \ - asrcfbr.c \ - asrcitf.h \ - asrcload.c \ - asrcmdel.c \ - asrcpar.c \ - asrcpzld.c \ - asrcset.c - +libasrc_la_SOURCES = \ + asrc.c \ + asrcacld.c \ + asrcask.c \ + asrcconv.c \ + asrcdefs.h \ + asrcdel.c \ + asrcdest.c \ + asrcext.h \ + asrcfbr.c \ + asrcitf.h \ + asrcinit.c \ + asrcinit.h \ + asrcload.c \ + asrcmdel.c \ + asrcpar.c \ + asrcpzld.c \ + asrcset.c INCLUDES = -I$(top_srcdir)/src/include diff --git a/src/spicelib/devices/asrc/asrcinit.c b/src/spicelib/devices/asrc/asrcinit.c new file mode 100644 index 000000000..0d997f39f --- /dev/null +++ b/src/spicelib/devices/asrc/asrcinit.c @@ -0,0 +1,64 @@ +#include + +#include + +#include "asrcitf.h" +#include "asrcext.h" +#include "asrcinit.h" + + +SPICEdev ASRCinfo = { + { + "ASRC", + "Arbitrary Source ", + + &ASRCnSize, + &ASRCnSize, + ASRCnames, + + &ASRCpTSize, + ASRCpTable, + + 0, + NULL, + DEV_DEFAULT + }, + + DEVparam : ASRCparam, + DEVmodParam : NULL, + DEVload : ASRCload, + DEVsetup : ASRCsetup, + DEVunsetup : ASRCunsetup, + DEVpzSetup : ASRCsetup, + DEVtemperature: NULL, + DEVtrunc : NULL, + DEVfindBranch : ASRCfindBr, + DEVacLoad : ASRCacLoad, /* ac and normal load functions NOT identical */ + DEVaccept : NULL, + DEVdestroy : ASRCdestroy, + DEVmodDelete : ASRCmDelete, + DEVdelete : ASRCdelete, + DEVsetic : NULL, + DEVask : NULL, + DEVmodAsk : NULL, + DEVpzLoad : ASRCpzLoad, + DEVconvTest : ASRCconvTest, + DEVsenSetup : NULL, + DEVsenLoad : NULL, + DEVsenUpdate : NULL, + DEVsenAcLoad : NULL, + DEVsenPrint : NULL, + DEVsenTrunc : NULL, + DEVdisto : NULL, /* DISTO */ + DEVnoise : NULL, /* NOISE */ + + DEVinstSize : &ASRCiSize, + DEVmodSize : &ASRCmSize +}; + + +SPICEdev * +get_asrc_info(void) +{ + return &ASRCinfo; +} diff --git a/src/spicelib/devices/asrc/asrcitf.h b/src/spicelib/devices/asrc/asrcitf.h index fa64272b1..0f5b12436 100644 --- a/src/spicelib/devices/asrc/asrcitf.h +++ b/src/spicelib/devices/asrc/asrcitf.h @@ -1,80 +1,9 @@ /********** Copyright 1990 Regents of the University of California. All rights reserved. **********/ -#ifdef DEV_asrc - #ifndef DEV_ASRC #define DEV_ASRC -#include "asrcext.h" -extern IFparm ASRCpTable[ ]; -extern char *ASRCnames[ ]; -extern int ASRCpTSize; -extern int ASRCnSize; -extern int ASRCiSize; -extern int ASRCmSize; - -SPICEdev ASRCinfo = { - { - "ASRC", - "Arbitrary Source ", - - &ASRCnSize, - &ASRCnSize, - ASRCnames, - - &ASRCpTSize, - ASRCpTable, - - 0, - NULL, - DEV_DEFAULT - }, - - ASRCparam, - NULL, - ASRCload, - ASRCsetup, - ASRCunsetup, - ASRCsetup, - NULL, - NULL, - ASRCfindBr, - ASRCacLoad, /* ac and normal load functions NOT identical */ - NULL, - ASRCdestroy, -#ifdef DELETES - ASRCmDelete, - ASRCdelete, -#else /* DELETES */ - NULL, - NULL, -#endif /* DELETES */ - NULL, - NULL, - NULL, -#ifdef AN_pz - ASRCpzLoad, -#else /* AN_pz */ - NULL, -#endif /* AN_pz */ -#ifdef NEWCONV - ASRCconvTest, -#else /* NEWCONV */ - NULL, -#endif /* NEWCONV */ - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, /* DISTO */ - NULL, /* NOISE */ - - &ASRCiSize, - &ASRCmSize -}; +extern SPICEdev *get_asrc_info(void); #endif -#endif diff --git a/src/spicelib/devices/bjt/Makefile.am b/src/spicelib/devices/bjt/Makefile.am index 0cefc40f7..5d0e4655c 100644 --- a/src/spicelib/devices/bjt/Makefile.am +++ b/src/spicelib/devices/bjt/Makefile.am @@ -2,35 +2,37 @@ pkglib_LTLIBRARIES = libbjt.la -libbjt_la_SOURCES = \ - bjt.c \ - bjtacld.c \ - bjtask.c \ - bjtconv.c \ - bjtdefs.h \ - bjtdel.c \ - bjtdest.c \ - bjtdisto.c \ - bjtdset.c \ - bjtdset.h \ - bjtext.h \ - bjtgetic.c \ - bjtitf.h \ - bjtload.c \ - bjtmask.c \ - bjtmdel.c \ - bjtmpar.c \ - bjtnoise.c \ - bjtparam.c \ - bjtpzld.c \ - bjtsacl.c \ - bjtsetup.c \ - bjtsload.c \ - bjtsprt.c \ - bjtsset.c \ - bjtsupd.c \ - bjttemp.c \ - bjttrunc.c +libbjt_la_SOURCES = \ + bjt.c \ + bjtacld.c \ + bjtask.c \ + bjtconv.c \ + bjtdefs.h \ + bjtdel.c \ + bjtdest.c \ + bjtdisto.c \ + bjtdset.c \ + bjtdset.h \ + bjtext.h \ + bjtgetic.c \ + bjtinit.c \ + bjtinit.h \ + bjtitf.h \ + bjtload.c \ + bjtmask.c \ + bjtmdel.c \ + bjtmpar.c \ + bjtnoise.c \ + bjtparam.c \ + bjtpzld.c \ + bjtsacl.c \ + bjtsetup.c \ + bjtsload.c \ + bjtsprt.c \ + bjtsset.c \ + bjtsupd.c \ + bjttemp.c \ + bjttrunc.c diff --git a/src/spicelib/devices/bjt/bjtinit.c b/src/spicelib/devices/bjt/bjtinit.c new file mode 100644 index 000000000..ffd8ecca3 --- /dev/null +++ b/src/spicelib/devices/bjt/bjtinit.c @@ -0,0 +1,65 @@ +#include + +#include + +#include "bjtitf.h" +#include "bjtext.h" +#include "bjtinit.h" + + +SPICEdev BJTinfo = { + { + "BJT", + "Bipolar Junction Transistor", + + &BJTnSize, + &BJTnSize, + BJTnames, + + &BJTpTSize, + BJTpTable, + + &BJTmPTSize, + BJTmPTable, + DEV_DEFAULT + }, + + DEVparam : BJTparam, + DEVmodParam : BJTmParam, + DEVload : BJTload, + DEVsetup : BJTsetup, + DEVunsetup : BJTunsetup, + DEVpzSetup : BJTsetup, + DEVtemperature: BJTtemp, + DEVtrunc : BJTtrunc, + DEVfindBranch : NULL, + DEVacLoad : BJTacLoad, + DEVaccept : NULL, + DEVdestroy : BJTdestroy, + DEVmodDelete : BJTmDelete, + DEVdelete : BJTdelete, + DEVsetic : BJTgetic, + DEVask : BJTask, + DEVmodAsk : BJTmAsk, + DEVpzLoad : BJTpzLoad, + DEVconvTest : BJTconvTest, + DEVsenSetup : BJTsSetup, + DEVsenLoad : BJTsLoad, + DEVsenUpdate : BJTsUpdate, + DEVsenAcLoad : BJTsAcLoad, + DEVsenPrint : BJTsPrint, + DEVsenTrunc : NULL, + DEVdisto : BJTdisto, + DEVnoise : BJTnoise, + + DEVinstSize : &BJTiSize, + DEVmodSize : &BJTmSize + +}; + + +SPICEdev * +get_bjt_info(void) +{ + return &BJTinfo; +} diff --git a/src/spicelib/devices/bjt/bjtitf.h b/src/spicelib/devices/bjt/bjtitf.h index f1e2c9181..2b96ae41c 100644 --- a/src/spicelib/devices/bjt/bjtitf.h +++ b/src/spicelib/devices/bjt/bjtitf.h @@ -1,99 +1,10 @@ /********** Copyright 1990 Regents of the University of California. All rights reserved. **********/ -#ifdef DEV_bjt - #ifndef DEV_BJT #define DEV_BJT -#include "bjtext.h" -extern IFparm BJTpTable[ ]; -extern IFparm BJTmPTable[ ]; -extern char *BJTnames[ ]; -extern int BJTpTSize; -extern int BJTmPTSize; -extern int BJTnSize; -extern int BJTiSize; -extern int BJTmSize; +extern SPICEdev *get_bjt_info(void); -SPICEdev BJTinfo = { - { "BJT", - "Bipolar Junction Transistor", - - &BJTnSize, - &BJTnSize, - BJTnames, - - &BJTpTSize, - BJTpTable, - - &BJTmPTSize, - BJTmPTable, - DEV_DEFAULT - }, - - BJTparam, - BJTmParam, - BJTload, - BJTsetup, - BJTunsetup, - BJTsetup, - BJTtemp, - BJTtrunc, - NULL, - BJTacLoad, - NULL, - BJTdestroy, -#ifdef DELETES - BJTmDelete, - BJTdelete, -#else /* DELETES */ - NULL, - NULL, -#endif /* DELETES */ - BJTgetic, - BJTask, - BJTmAsk, -#ifdef AN_pz - BJTpzLoad, -#else /* AN_pz */ - NULL, -#endif /* AN_pz */ -#ifdef NEWCONV - BJTconvTest, -#else /* NEWCONV */ - NULL, -#endif /* NEWCONV */ - -#ifdef AN_sense2 - BJTsSetup, - BJTsLoad, - BJTsUpdate, - BJTsAcLoad, - BJTsPrint, -#else /* AN_sense2 */ - NULL, - NULL, - NULL, - NULL, - NULL, -#endif /* AN_sense2 */ - NULL, -#ifdef AN_disto - BJTdisto, -#else /* AN_disto */ - NULL, -#endif /* AN_disto */ -#ifdef AN_noise - BJTnoise, -#else /* AN_noise */ - NULL, -#endif /* AN_noise */ - - &BJTiSize, - &BJTmSize - -}; #endif -#endif diff --git a/src/spicelib/devices/bsim1/Makefile.am b/src/spicelib/devices/bsim1/Makefile.am index 6c1a35940..70ad8239a 100644 --- a/src/spicelib/devices/bsim1/Makefile.am +++ b/src/spicelib/devices/bsim1/Makefile.am @@ -2,30 +2,32 @@ pkglib_LTLIBRARIES = libbsim1.la -libbsim1_la_SOURCES = \ - b1.c \ - b1acld.c \ - b1ask.c \ - b1cvtest.c \ - b1del.c \ - b1dest.c \ - b1disto.c \ - b1dset.c \ - b1eval.c \ - b1getic.c \ - b1ld.c \ - b1mask.c \ - b1mdel.c \ - b1moscap.c \ - b1mpar.c \ - b1par.c \ - b1pzld.c \ - b1set.c \ - b1temp.c \ - b1trunc.c \ - bsim1def.h \ - bsim1ext.h \ - bsim1itf.h +libbsim1_la_SOURCES = \ + b1.c \ + b1acld.c \ + b1ask.c \ + b1cvtest.c \ + b1del.c \ + b1dest.c \ + b1disto.c \ + b1dset.c \ + b1eval.c \ + b1getic.c \ + b1ld.c \ + b1mask.c \ + b1mdel.c \ + b1moscap.c \ + b1mpar.c \ + b1par.c \ + b1pzld.c \ + b1set.c \ + b1temp.c \ + b1trunc.c \ + bsim1def.h \ + bsim1ext.h \ + bsim1init.c \ + bsim1init.h \ + bsim1itf.h diff --git a/src/spicelib/devices/bsim1/bsim1init.c b/src/spicelib/devices/bsim1/bsim1init.c new file mode 100644 index 000000000..2a23bc028 --- /dev/null +++ b/src/spicelib/devices/bsim1/bsim1init.c @@ -0,0 +1,65 @@ +#include + +#include + +#include "bsim1itf.h" +#include "bsim1ext.h" +#include "bsim1init.h" + + +SPICEdev B1info = { + { + "BSIM1", + "Berkeley Short Channel IGFET Model", + + &B1nSize, + &B1nSize, + B1names, + + &B1pTSize, + B1pTable, + + &B1mPTSize, + B1mPTable, + DEV_DEFAULT + }, + + DEVparam : B1param, + DEVmodParam : B1mParam, + DEVload : B1load, + DEVsetup : B1setup, + DEVunsetup : B1unsetup, + DEVpzSetup : B1setup, + DEVtemperature: B1temp, + DEVtrunc : B1trunc, + DEVfindBranch : NULL, + DEVacLoad : B1acLoad, + DEVaccept : NULL, + DEVdestroy : B1destroy, + DEVmodDelete : B1mDelete, + DEVdelete : B1delete, + DEVsetic : B1getic, + DEVask : B1ask, + DEVmodAsk : B1mAsk, + DEVpzLoad : B1pzLoad, + DEVconvTest : B1convTest, + DEVsenSetup : NULL, + DEVsenLoad : NULL, + DEVsenUpdate : NULL, + DEVsenAcLoad : NULL, + DEVsenPrint : NULL, + DEVsenTrunc : NULL, + DEVdisto : B1disto, + DEVnoise : NULL, /* NOISE */ + + DEVinstSize : &B1iSize, + DEVmodSize : &B1mSize + +}; + + +SPICEdev * +get_bsim1_info(void) +{ + return &B1info; +} diff --git a/src/spicelib/devices/bsim1/bsim1init.h b/src/spicelib/devices/bsim1/bsim1init.h new file mode 100644 index 000000000..c3a971a3a --- /dev/null +++ b/src/spicelib/devices/bsim1/bsim1init.h @@ -0,0 +1,13 @@ +#ifndef _BSIM1INIT_H +#define _BSIM1INIT_H + +extern IFparm B1pTable[ ]; +extern IFparm B1mPTable[ ]; +extern char *B1names[ ]; +extern int B1pTSize; +extern int B1mPTSize; +extern int B1nSize; +extern int B1iSize; +extern int B1mSize; + +#endif diff --git a/src/spicelib/devices/bsim1/bsim1itf.h b/src/spicelib/devices/bsim1/bsim1itf.h index 8f9bed9f9..9964a7c2a 100644 --- a/src/spicelib/devices/bsim1/bsim1itf.h +++ b/src/spicelib/devices/bsim1/bsim1itf.h @@ -1,86 +1,9 @@ /********** Copyright 1990 Regents of the University of California. All rights reserved. **********/ -#ifdef DEV_bsim1 - #ifndef DEV_BSIM1 #define DEV_BSIM1 -#include "bsim1ext.h" -extern IFparm B1pTable[ ]; -extern IFparm B1mPTable[ ]; -extern char *B1names[ ]; -extern int B1pTSize; -extern int B1mPTSize; -extern int B1nSize; -extern int B1iSize; -extern int B1mSize; - -SPICEdev B1info = { - { "BSIM1", - "Berkeley Short Channel IGFET Model", - - &B1nSize, - &B1nSize, - B1names, - - &B1pTSize, - B1pTable, - - &B1mPTSize, - B1mPTable, - DEV_DEFAULT - }, - - B1param, - B1mParam, - B1load, - B1setup, - B1unsetup, - B1setup, - B1temp, - B1trunc, - NULL, - B1acLoad, - NULL, - B1destroy, -#ifdef DELETES - B1mDelete, - B1delete, -#else /* DELETES */ - NULL, - NULL, -#endif /* DELETES */ - B1getic, - B1ask, - B1mAsk, -#ifdef AN_pz - B1pzLoad, -#else /* AN_pz */ - NULL, -#endif /* AN_pz */ -#ifdef NEWCONV - B1convTest, -#else /* NEWCONV */ - NULL, -#endif /* NEWCONV */ - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, -#ifdef AN_disto - B1disto, -#else - NULL, -#endif - NULL, /* NOISE */ - - &B1iSize, - &B1mSize - -}; +SPICEdev *get_bsim1_info(void); #endif -#endif diff --git a/src/spicelib/devices/bsim2/Makefile.am b/src/spicelib/devices/bsim2/Makefile.am index c1c39d0d1..e30a04bf4 100644 --- a/src/spicelib/devices/bsim2/Makefile.am +++ b/src/spicelib/devices/bsim2/Makefile.am @@ -2,28 +2,30 @@ pkglib_LTLIBRARIES = libbsim2.la -libbsim2_la_SOURCES = \ - b2.c \ - b2acld.c \ - b2ask.c \ - b2cvtest.c \ - b2del.c \ - b2dest.c \ - b2eval.c \ - b2getic.c \ - b2ld.c \ - b2mask.c \ - b2mdel.c \ - b2moscap.c \ - b2mpar.c \ - b2par.c \ - b2pzld.c \ - b2set.c \ - b2temp.c \ - b2trunc.c \ - bsim2def.h \ - bsim2ext.h \ - bsim2itf.h +libbsim2_la_SOURCES = \ + b2.c \ + b2acld.c \ + b2ask.c \ + b2cvtest.c \ + b2del.c \ + b2dest.c \ + b2eval.c \ + b2getic.c \ + b2ld.c \ + b2mask.c \ + b2mdel.c \ + b2moscap.c \ + b2mpar.c \ + b2par.c \ + b2pzld.c \ + b2set.c \ + b2temp.c \ + b2trunc.c \ + bsim2def.h \ + bsim2ext.h \ + bsim2init.c \ + bsim2init.h \ + bsim2itf.h diff --git a/src/spicelib/devices/bsim2/bsim2init.c b/src/spicelib/devices/bsim2/bsim2init.c new file mode 100644 index 000000000..92c44dc35 --- /dev/null +++ b/src/spicelib/devices/bsim2/bsim2init.c @@ -0,0 +1,65 @@ +#include + +#include + +#include "bsim2itf.h" +#include "bsim2ext.h" +#include "bsim2init.h" + + +SPICEdev B2info = { + { + "BSIM2", + "Berkeley Short Channel IGFET Model", + + &B2nSize, + &B2nSize, + B2names, + + &B2pTSize, + B2pTable, + + &B2mPTSize, + B2mPTable, + DEV_DEFAULT + }, + + DEVparam : B2param, + DEVmodParam : B2mParam, + DEVload : B2load, + DEVsetup : B2setup, + DEVunsetup : B2unsetup, + DEVpzSetup : B2setup, + DEVtemperature: B2temp, + DEVtrunc : B2trunc, + DEVfindBranch : NULL, + DEVacLoad : B2acLoad, + DEVaccept : NULL, + DEVdestroy : B2destroy, + DEVmodDelete : B2mDelete, + DEVdelete : B2delete, + DEVsetic : B2getic, + DEVask : B2ask, + DEVmodAsk : B2mAsk, + DEVpzLoad : B2pzLoad, + DEVconvTest : B2convTest, + DEVsenSetup : NULL, + DEVsenLoad : NULL, + DEVsenUpdate : NULL, + DEVsenAcLoad : NULL, + DEVsenPrint : NULL, + DEVsenTrunc : NULL, + DEVdisto : NULL, + DEVnoise : NULL, + + DEVinstSize : &B2iSize, + DEVmodSize : &B2mSize + +}; + + +SPICEdev * +get_bsim2_info(void) +{ + return &B2info; +} diff --git a/src/spicelib/devices/bsim2/bsim2init.h b/src/spicelib/devices/bsim2/bsim2init.h new file mode 100644 index 000000000..f34e036b6 --- /dev/null +++ b/src/spicelib/devices/bsim2/bsim2init.h @@ -0,0 +1,13 @@ +#ifndef _BSIM2INIT_H +#define _BSIM2INIT_H + +extern IFparm B2pTable[ ]; +extern IFparm B2mPTable[ ]; +extern char *B2names[ ]; +extern int B2pTSize; +extern int B2mPTSize; +extern int B2nSize; +extern int B2iSize; +extern int B2mSize; + +#endif diff --git a/src/spicelib/devices/bsim2/bsim2itf.h b/src/spicelib/devices/bsim2/bsim2itf.h index 593233a9f..2f77f903a 100644 --- a/src/spicelib/devices/bsim2/bsim2itf.h +++ b/src/spicelib/devices/bsim2/bsim2itf.h @@ -1,83 +1,9 @@ /********** Copyright 1990 Regents of the University of California. All rights reserved. **********/ -#ifdef DEV_bsim2 - #ifndef DEV_BSIM2 #define DEV_BSIM2 -#include "bsim2ext.h" - -extern IFparm B2pTable[ ]; -extern IFparm B2mPTable[ ]; -extern char *B2names[ ]; -extern int B2pTSize; -extern int B2mPTSize; -extern int B2nSize; -extern int B2iSize; -extern int B2mSize; - -SPICEdev B2info = { - { "BSIM2", - "Berkeley Short Channel IGFET Model", - - &B2nSize, - &B2nSize, - B2names, - - &B2pTSize, - B2pTable, - - &B2mPTSize, - B2mPTable, - DEV_DEFAULT - }, - - B2param, - B2mParam, - B2load, - B2setup, - B2unsetup, - B2setup, - B2temp, - B2trunc, - NULL, - B2acLoad, - NULL, - B2destroy, -#ifdef DELETES - B2mDelete, - B2delete, -#else /* DELETES */ - NULL, - NULL, -#endif /* DELETES */ - B2getic, - B2ask, - B2mAsk, -#ifdef AN_pz - B2pzLoad, -#else /* AN_pz */ - NULL, -#endif /* AN_pz */ -#ifdef NEWCONV - B2convTest, -#else /* NEWCONV */ - NULL, -#endif /* NEWCONV */ - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - - &B2iSize, - &B2mSize - -}; +SPICEdev *get_bsim2_info(void); #endif -#endif diff --git a/src/spicelib/devices/bsim3/Makefile.am b/src/spicelib/devices/bsim3/Makefile.am index 0e9484e83..fa3ed4ec1 100644 --- a/src/spicelib/devices/bsim3/Makefile.am +++ b/src/spicelib/devices/bsim3/Makefile.am @@ -2,28 +2,30 @@ pkglib_LTLIBRARIES = libbsim3.la -libbsim3_la_SOURCES = \ - b3.c \ - b3acld.c \ - b3ask.c \ - b3check.c \ - b3cvtest.c \ - b3del.c \ - b3dest.c \ - b3getic.c \ - b3ld.c \ - b3mask.c \ - b3mdel.c \ - b3mpar.c \ - b3noi.c \ - b3par.c \ - b3pzld.c \ - b3set.c \ - b3temp.c \ - b3trunc.c \ - bsim3def.h \ - bsim3ext.h \ - bsim3itf.h +libbsim3_la_SOURCES = \ + b3.c \ + b3acld.c \ + b3ask.c \ + b3check.c \ + b3cvtest.c \ + b3del.c \ + b3dest.c \ + b3getic.c \ + b3ld.c \ + b3mask.c \ + b3mdel.c \ + b3mpar.c \ + b3noi.c \ + b3par.c \ + b3pzld.c \ + b3set.c \ + b3temp.c \ + b3trunc.c \ + bsim3def.h \ + bsim3ext.h \ + bsim3init.c \ + bsim3init.h \ + bsim3itf.h diff --git a/src/spicelib/devices/bsim3/bsim3init.c b/src/spicelib/devices/bsim3/bsim3init.c new file mode 100644 index 000000000..9afd8ee9f --- /dev/null +++ b/src/spicelib/devices/bsim3/bsim3init.c @@ -0,0 +1,64 @@ +#include + +#include + +#include "bsim3itf.h" +#include "bsim3ext.h" +#include "bsim3init.h" + + +SPICEdev BSIM3info = { + { "BSIM3", + "Berkeley Short Channel IGFET Model Version-3", + + &BSIM3nSize, + &BSIM3nSize, + BSIM3names, + + &BSIM3pTSize, + BSIM3pTable, + + &BSIM3mPTSize, + BSIM3mPTable, + DEV_DEFAULT + }, + + DEVparam : BSIM3param, + DEVmodParam : BSIM3mParam, + DEVload : BSIM3load, + DEVsetup : BSIM3setup, + DEVunsetup : BSIM3unsetup, + DEVpzSetup : BSIM3setup, + DEVtemperature: BSIM3temp, + DEVtrunc : BSIM3trunc, + DEVfindBranch : NULL, + DEVacLoad : BSIM3acLoad, + DEVaccept : NULL, + DEVdestroy : BSIM3destroy, + DEVmodDelete : BSIM3mDelete, + DEVdelete : BSIM3delete, + DEVsetic : BSIM3getic, + DEVask : BSIM3ask, + DEVmodAsk : BSIM3mAsk, + DEVpzLoad : BSIM3pzLoad, + DEVconvTest : BSIM3convTest, + DEVsenSetup : NULL, + DEVsenLoad : NULL, + DEVsenUpdate : NULL, + DEVsenAcLoad : NULL, + DEVsenPrint : NULL, + DEVsenTrunc : NULL, + DEVdisto : NULL, + DEVnoise : BSIM3noise, + + DEVinstSize : &BSIM3iSize, + DEVmodSize : &BSIM3mSize + +}; + + +SPICEdev * +get_bsim3_info(void) +{ + return &BSIM3info; +} diff --git a/src/spicelib/devices/bsim3/bsim3init.h b/src/spicelib/devices/bsim3/bsim3init.h new file mode 100644 index 000000000..09305bdee --- /dev/null +++ b/src/spicelib/devices/bsim3/bsim3init.h @@ -0,0 +1,13 @@ +#ifndef _BSIM3INIT_H +#define _BSIM3INIT_H + +extern IFparm BSIM3pTable[ ]; +extern IFparm BSIM3mPTable[ ]; +extern char *BSIM3names[ ]; +extern int BSIM3pTSize; +extern int BSIM3mPTSize; +extern int BSIM3nSize; +extern int BSIM3iSize; +extern int BSIM3mSize; + +#endif diff --git a/src/spicelib/devices/bsim3/bsim3itf.h b/src/spicelib/devices/bsim3/bsim3itf.h index 518207ace..a9cac28c2 100644 --- a/src/spicelib/devices/bsim3/bsim3itf.h +++ b/src/spicelib/devices/bsim3/bsim3itf.h @@ -3,88 +3,9 @@ Copyright 1999 Regents of the University of California. All rights reserved. Author: 1991 JianHui Huang and Min-Chie Jeng. File: bsim3itf.h **********/ -#ifdef DEV_bsim3 - #ifndef DEV_BSIM3 #define DEV_BSIM3 -#include "bsim3ext.h" - -extern IFparm BSIM3pTable[ ]; -extern IFparm BSIM3mPTable[ ]; -extern char *BSIM3names[ ]; -extern int BSIM3pTSize; -extern int BSIM3mPTSize; -extern int BSIM3nSize; -extern int BSIM3iSize; -extern int BSIM3mSize; - -SPICEdev BSIM3info = { - { "BSIM3", - "Berkeley Short Channel IGFET Model Version-3", - - &BSIM3nSize, - &BSIM3nSize, - BSIM3names, - - &BSIM3pTSize, - BSIM3pTable, - - &BSIM3mPTSize, - BSIM3mPTable, - DEV_DEFAULT - }, - - BSIM3param, - BSIM3mParam, - BSIM3load, - BSIM3setup, - BSIM3unsetup, - BSIM3setup, - BSIM3temp, - BSIM3trunc, - NULL, - BSIM3acLoad, - NULL, - BSIM3destroy, -#ifdef DELETES - BSIM3mDelete, - BSIM3delete, -#else /* DELETES */ - NULL, - NULL, -#endif /* DELETES */ - BSIM3getic, - BSIM3ask, - BSIM3mAsk, -#ifdef AN_pz - BSIM3pzLoad, -#else /* AN_pz */ - NULL, -#endif /* AN_pz */ -#ifdef NEWCONV - BSIM3convTest, -#else /* NEWCONV */ - NULL, -#endif /* NEWCONV */ - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - -#ifdef AN_noise - BSIM3noise, -#else /* AN_noise */ - NULL, -#endif /* AN_noise */ - - &BSIM3iSize, - &BSIM3mSize - -}; +SPICEdev *get_bsim3_info(void); #endif -#endif diff --git a/src/spicelib/devices/bsim3v1/Makefile.am b/src/spicelib/devices/bsim3v1/Makefile.am index b491d87ea..256fbd07b 100644 --- a/src/spicelib/devices/bsim3v1/Makefile.am +++ b/src/spicelib/devices/bsim3v1/Makefile.am @@ -3,27 +3,29 @@ pkglib_LTLIBRARIES = libbsim3v1.la libbsim3v1_la_SOURCES = \ - b3v1.c \ - b3v1acld.c \ - b3v1ask.c \ - b3v1check.c \ - b3v1cvtest.c \ - b3v1del.c \ - b3v1dest.c \ - b3v1getic.c \ - b3v1ld.c \ - b3v1mask.c \ - b3v1mdel.c \ - b3v1mpar.c \ - b3v1noi.c \ - b3v1par.c \ - b3v1pzld.c \ - b3v1set.c \ - b3v1temp.c \ - b3v1trunc.c \ - bsim3v1def.h \ - bsim3v1ext.h \ - bsim3v1itf.h + b3v1.c \ + b3v1acld.c \ + b3v1ask.c \ + b3v1check.c \ + b3v1cvtest.c \ + b3v1del.c \ + b3v1dest.c \ + b3v1getic.c \ + b3v1ld.c \ + b3v1mask.c \ + b3v1mdel.c \ + b3v1mpar.c \ + b3v1noi.c \ + b3v1par.c \ + b3v1pzld.c \ + b3v1set.c \ + b3v1temp.c \ + b3v1trunc.c \ + bsim3v1def.h \ + bsim3v1ext.h \ + bsim3v1init.c \ + bsim3v1init.h \ + bsim3v1itf.h diff --git a/src/spicelib/devices/bsim3v1/bsim3v1init.c b/src/spicelib/devices/bsim3v1/bsim3v1init.c new file mode 100644 index 000000000..5adacdfea --- /dev/null +++ b/src/spicelib/devices/bsim3v1/bsim3v1init.c @@ -0,0 +1,66 @@ +#include + +#include + +#include "bsim3v1itf.h" +#include "bsim3v1ext.h" +#include "bsim3v1init.h" + + +SPICEdev BSIM3V1info = { + { + "BSIM3V1", + "Berkeley Short Channel IGFET Model Version-3 (3v3.1)", + + &BSIM3V1nSize, + &BSIM3V1nSize, + BSIM3V1names, + + &BSIM3V1pTSize, + BSIM3V1pTable, + + &BSIM3V1mPTSize, + BSIM3V1mPTable, + DEV_DEFAULT, + + }, + + DEVparam : BSIM3V1param, + DEVmodParam : BSIM3V1mParam, + DEVload : BSIM3V1load, + DEVsetup : BSIM3V1setup, + DEVunsetup : NULL, + DEVpzSetup : BSIM3V1setup, + DEVtemperature: BSIM3V1temp, + DEVtrunc : BSIM3V1trunc, + DEVfindBranch : NULL, + DEVacLoad : BSIM3V1acLoad, + DEVaccept : NULL, + DEVdestroy : BSIM3V1destroy, + DEVmodDelete : BSIM3V1mDelete, + DEVdelete : BSIM3V1delete, + DEVsetic : BSIM3V1getic, + DEVask : BSIM3V1ask, + DEVmodAsk : BSIM3V1mAsk, + DEVpzLoad : BSIM3V1pzLoad, + DEVconvTest : BSIM3V1convTest, + DEVsenSetup : NULL, + DEVsenLoad : NULL, + DEVsenUpdate : NULL, + DEVsenAcLoad : NULL, + DEVsenPrint : NULL, + DEVsenTrunc : NULL, + DEVdisto : NULL, + DEVnoise : BSIM3V1noise, + + DEVinstSize : &BSIM3V1iSize, + DEVmodSize : &BSIM3V1mSize + +}; + + +SPICEdev * +get_bsim3v1_info(void) +{ + return &BSIM3V1info; +} diff --git a/src/spicelib/devices/bsim3v1/bsim3v1init.h b/src/spicelib/devices/bsim3v1/bsim3v1init.h new file mode 100644 index 000000000..7c8ae9b3c --- /dev/null +++ b/src/spicelib/devices/bsim3v1/bsim3v1init.h @@ -0,0 +1,13 @@ +#ifndef _BSIM3V1INIT_H +#define _BSIM3V1INIT_H + +extern IFparm BSIM3V1pTable[ ]; +extern IFparm BSIM3V1mPTable[ ]; +extern char *BSIM3V1names[ ]; +extern int BSIM3V1pTSize; +extern int BSIM3V1mPTSize; +extern int BSIM3V1nSize; +extern int BSIM3V1iSize; +extern int BSIM3V1mSize; + +#endif diff --git a/src/spicelib/devices/bsim3v1/bsim3v1itf.h b/src/spicelib/devices/bsim3v1/bsim3v1itf.h index 2c1d50386..c0c84feb8 100644 --- a/src/spicelib/devices/bsim3v1/bsim3v1itf.h +++ b/src/spicelib/devices/bsim3v1/bsim3v1itf.h @@ -3,90 +3,9 @@ Copyright 1990 Regents of the University of California. All rights reserved. Author: 1991 JianHui Huang and Min-Chie Jeng. File: bsim3v1itf.h **********/ -#ifdef DEV_bsim3v1 - #ifndef DEV_BSIM3V1 #define DEV_BSIM3V1 -#include "bsim3v1ext.h" - -extern IFparm BSIM3V1pTable[ ]; -extern IFparm BSIM3V1mPTable[ ]; -extern char *BSIM3V1names[ ]; -extern int BSIM3V1pTSize; -extern int BSIM3V1mPTSize; -extern int BSIM3V1nSize; -extern int BSIM3V1iSize; -extern int BSIM3V1mSize; - -SPICEdev BSIM3V1info = { - { "BSIM3V1", - "Berkeley Short Channel IGFET Model Version-3 (3v3.1)", - - &BSIM3V1nSize, - &BSIM3V1nSize, - BSIM3V1names, - - &BSIM3V1pTSize, - BSIM3V1pTable, - - &BSIM3V1mPTSize, - BSIM3V1mPTable, - DEV_DEFAULT, - - }, - - BSIM3V1param, - BSIM3V1mParam, - BSIM3V1load, - BSIM3V1setup, - NULL, - BSIM3V1setup, - BSIM3V1temp, - BSIM3V1trunc, - NULL, - BSIM3V1acLoad, - NULL, - BSIM3V1destroy, -#ifdef DELETES - BSIM3V1mDelete, - BSIM3V1delete, -#else /* DELETES */ - NULL, - NULL, -#endif /* DELETES */ - BSIM3V1getic, - BSIM3V1ask, - BSIM3V1mAsk, -#ifdef AN_pz - BSIM3V1pzLoad, -#else /* AN_pz */ - NULL, -#endif /* AN_pz */ -#ifdef NEWCONV - BSIM3V1convTest, -#else /* NEWCONV */ - NULL, -#endif /* NEWCONV */ - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - -#ifdef AN_noise - BSIM3V1noise, -#else /* AN_noise */ - NULL, -#endif /* AN_noise */ - - &BSIM3V1iSize, - &BSIM3V1mSize - -}; +SPICEdev *get_bsim3v1_info(void); #endif -#endif - diff --git a/src/spicelib/devices/bsim3v2/Makefile.am b/src/spicelib/devices/bsim3v2/Makefile.am index 539e76857..19ef09e8a 100644 --- a/src/spicelib/devices/bsim3v2/Makefile.am +++ b/src/spicelib/devices/bsim3v2/Makefile.am @@ -3,27 +3,29 @@ pkglib_LTLIBRARIES = libbsim3v2.la libbsim3v2_la_SOURCES = \ - b3v2.c \ - b3v2acld.c \ - b3v2ask.c \ - b3v2check.c \ - b3v2cvtest.c \ - b3v2del.c \ - b3v2dest.c \ - b3v2getic.c \ - b3v2ld.c \ - b3v2mask.c \ - b3v2mdel.c \ - b3v2mpar.c \ - b3v2noi.c \ - b3v2par.c \ - b3v2pzld.c \ - b3v2set.c \ - b3v2temp.c \ - b3v2trunc.c \ - bsim3v2def.h \ - bsim3v2ext.h \ - bsim3v2itf.h + b3v2.c \ + b3v2acld.c \ + b3v2ask.c \ + b3v2check.c \ + b3v2cvtest.c \ + b3v2del.c \ + b3v2dest.c \ + b3v2getic.c \ + b3v2ld.c \ + b3v2mask.c \ + b3v2mdel.c \ + b3v2mpar.c \ + b3v2noi.c \ + b3v2par.c \ + b3v2pzld.c \ + b3v2set.c \ + b3v2temp.c \ + b3v2trunc.c \ + bsim3v2def.h \ + bsim3v2ext.h \ + bsim3v2init.c \ + bsim3v2init.h \ + bsim3v2itf.h diff --git a/src/spicelib/devices/bsim3v2/bsim3v2init.c b/src/spicelib/devices/bsim3v2/bsim3v2init.c new file mode 100644 index 000000000..4a82a3901 --- /dev/null +++ b/src/spicelib/devices/bsim3v2/bsim3v2init.c @@ -0,0 +1,64 @@ +#include + +#include + +#include "bsim3v2itf.h" +#include "bsim3v2ext.h" +#include "bsim3v2init.h" + + +SPICEdev BSIM3V2info = { + { "BSIM3V2", + "Berkeley Short Channel IGFET Model Version-3 (3v3.2)", + + &BSIM3V2nSize, + &BSIM3V2nSize, + BSIM3V2names, + + &BSIM3V2pTSize, + BSIM3V2pTable, + + &BSIM3V2mPTSize, + BSIM3V2mPTable, + DEV_DEFAULT + }, + + DEVparam : BSIM3V2param, + DEVmodParam : BSIM3V2mParam, + DEVload : BSIM3V2load, + DEVsetup : BSIM3V2setup, + DEVunsetup : BSIM3V2unsetup, + DEVpzSetup : BSIM3V2setup, + DEVtemperature: BSIM3V2temp, + DEVtrunc : BSIM3V2trunc, + DEVfindBranch : NULL, + DEVacLoad : BSIM3V2acLoad, + DEVaccept : NULL, + DEVdestroy : BSIM3V2destroy, + DEVmodDelete : BSIM3V2mDelete, + DEVdelete : BSIM3V2delete, + DEVsetic : BSIM3V2getic, + DEVask : BSIM3V2ask, + DEVmodAsk : BSIM3V2mAsk, + DEVpzLoad : BSIM3V2pzLoad, + DEVconvTest : BSIM3V2convTest, + DEVsenSetup : NULL, + DEVsenLoad : NULL, + DEVsenUpdate : NULL, + DEVsenAcLoad : NULL, + DEVsenPrint : NULL, + DEVsenTrunc : NULL, + DEVdisto : NULL, + DEVnoise : BSIM3V2noise, + + DEVinstSize : &BSIM3V2iSize, + DEVmodSize : &BSIM3V2mSize + +}; + + +SPICEdev * +get_bsim3v2_info(void) +{ + return &BSIM3V2info; +} diff --git a/src/spicelib/devices/bsim3v2/bsim3v2init.h b/src/spicelib/devices/bsim3v2/bsim3v2init.h new file mode 100644 index 000000000..3ac12cfc5 --- /dev/null +++ b/src/spicelib/devices/bsim3v2/bsim3v2init.h @@ -0,0 +1,13 @@ +#ifndef _BSIM3V2INIT_H +#define _BSIM3V2INIT_H + +extern IFparm BSIM3V2pTable[ ]; +extern IFparm BSIM3V2mPTable[ ]; +extern char *BSIM3V2names[ ]; +extern int BSIM3V2pTSize; +extern int BSIM3V2mPTSize; +extern int BSIM3V2nSize; +extern int BSIM3V2iSize; +extern int BSIM3V2mSize; + +#endif diff --git a/src/spicelib/devices/bsim3v2/bsim3v2itf.h b/src/spicelib/devices/bsim3v2/bsim3v2itf.h index df8fcbd47..666329678 100644 --- a/src/spicelib/devices/bsim3v2/bsim3v2itf.h +++ b/src/spicelib/devices/bsim3v2/bsim3v2itf.h @@ -3,89 +3,9 @@ Copyright 1990 Regents of the University of California. All rights reserved. Author: 1991 JianHui Huang and Min-Chie Jeng. File: bsim3v2itf.h **********/ -#ifdef DEV_bsim3v2 - #ifndef DEV_BSIM3V2 #define DEV_BSIM3V2 -#include "bsim3v2ext.h" - -extern IFparm BSIM3V2pTable[ ]; -extern IFparm BSIM3V2mPTable[ ]; -extern char *BSIM3V2names[ ]; -extern int BSIM3V2pTSize; -extern int BSIM3V2mPTSize; -extern int BSIM3V2nSize; -extern int BSIM3V2iSize; -extern int BSIM3V2mSize; - -SPICEdev BSIM3V2info = { - { "BSIM3V2", - "Berkeley Short Channel IGFET Model Version-3 (3v3.2)", - - &BSIM3V2nSize, - &BSIM3V2nSize, - BSIM3V2names, - - &BSIM3V2pTSize, - BSIM3V2pTable, - - &BSIM3V2mPTSize, - BSIM3V2mPTable, - DEV_DEFAULT - }, - - BSIM3V2param, - BSIM3V2mParam, - BSIM3V2load, - BSIM3V2setup, - BSIM3V2unsetup, - BSIM3V2setup, - BSIM3V2temp, - BSIM3V2trunc, - NULL, - BSIM3V2acLoad, - NULL, - BSIM3V2destroy, -#ifdef DELETES - BSIM3V2mDelete, - BSIM3V2delete, -#else /* DELETES */ - NULL, - NULL, -#endif /* DELETES */ - BSIM3V2getic, - BSIM3V2ask, - BSIM3V2mAsk, -#ifdef AN_pz - BSIM3V2pzLoad, -#else /* AN_pz */ - NULL, -#endif /* AN_pz */ -#ifdef NEWCONV - BSIM3V2convTest, -#else /* NEWCONV */ - NULL, -#endif /* NEWCONV */ - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - -#ifdef AN_noise - BSIM3V2noise, -#else /* AN_noise */ - NULL, -#endif /* AN_noise */ - - &BSIM3V2iSize, - &BSIM3V2mSize - -}; +SPICEdev *get_bsim3v2_info(void); #endif -#endif - diff --git a/src/spicelib/devices/bsim4/Makefile.am b/src/spicelib/devices/bsim4/Makefile.am index dc5028300..f5e3b51ee 100644 --- a/src/spicelib/devices/bsim4/Makefile.am +++ b/src/spicelib/devices/bsim4/Makefile.am @@ -2,29 +2,31 @@ pkglib_LTLIBRARIES = libbsim4.la -libbsim4_la_SOURCES = \ - b4.c \ - b4acld.c \ - b4ask.c \ - b4check.c \ - b4cvtest.c \ - b4del.c \ - b4dest.c \ - b4geo.c \ - b4getic.c \ - b4ld.c \ - b4mask.c \ - b4mdel.c \ - b4mpar.c \ - b4noi.c \ - b4par.c \ - b4pzld.c \ - b4set.c \ - b4temp.c \ - b4trunc.c \ - bsim4def.h \ - bsim4ext.h \ - bsim4itf.h +libbsim4_la_SOURCES = \ + b4.c \ + b4acld.c \ + b4ask.c \ + b4check.c \ + b4cvtest.c \ + b4del.c \ + b4dest.c \ + b4geo.c \ + b4getic.c \ + b4ld.c \ + b4mask.c \ + b4mdel.c \ + b4mpar.c \ + b4noi.c \ + b4par.c \ + b4pzld.c \ + b4set.c \ + b4temp.c \ + b4trunc.c \ + bsim4def.h \ + bsim4ext.h \ + bsim4init.c \ + bsim4init.h \ + bsim4itf.h diff --git a/src/spicelib/devices/bsim4/bsim4init.c b/src/spicelib/devices/bsim4/bsim4init.c new file mode 100644 index 000000000..6d906ef90 --- /dev/null +++ b/src/spicelib/devices/bsim4/bsim4init.c @@ -0,0 +1,64 @@ +#include + +#include + +#include "bsim4itf.h" +#include "bsim4ext.h" +#include "bsim4init.h" + + +SPICEdev BSIM4info = { + { + "BSIM4", + "Berkeley Short Channel IGFET Model-4", + + &BSIM4nSize, + &BSIM4nSize, + BSIM4names, + + &BSIM4pTSize, + BSIM4pTable, + + &BSIM4mPTSize, + BSIM4mPTable, + DEV_DEFAULT + }, + + DEVparam : BSIM4param, + DEVmodParam : BSIM4mParam, + DEVload : BSIM4load, + DEVsetup : BSIM4setup, + DEVunsetup : BSIM4unsetup, + DEVpzSetup : BSIM4setup, + DEVtemperature: BSIM4temp, + DEVtrunc : BSIM4trunc, + DEVfindBranch : NULL, + DEVacLoad : BSIM4acLoad, + DEVaccept : NULL, + DEVdestroy : BSIM4destroy, + DEVmodDelete : BSIM4mDelete, + DEVdelete : BSIM4delete, + DEVsetic : BSIM4getic, + DEVask : BSIM4ask, + DEVmodAsk : BSIM4mAsk, + DEVpzLoad : BSIM4pzLoad, + DEVconvTest : BSIM4convTest, + DEVsenSetup : NULL, + DEVsenLoad : NULL, + DEVsenUpdate : NULL, + DEVsenAcLoad : NULL, + DEVsenPrint : NULL, + DEVsenTrunc : NULL, + DEVdisto : NULL, + DEVnoise : BSIM4noise, + + DEVinstSize : &BSIM4iSize, + DEVmodSize : &BSIM4mSize +}; + + +SPICEdev * +get_bsim4_info(void) +{ + return &BSIM4info; +} diff --git a/src/spicelib/devices/bsim4/bsim4init.h b/src/spicelib/devices/bsim4/bsim4init.h new file mode 100644 index 000000000..11faee141 --- /dev/null +++ b/src/spicelib/devices/bsim4/bsim4init.h @@ -0,0 +1,13 @@ +#ifndef _BSIM4INIT_H +#define _BSIM4INIT_H + +extern IFparm BSIM4pTable[ ]; +extern IFparm BSIM4mPTable[ ]; +extern char *BSIM4names[ ]; +extern int BSIM4pTSize; +extern int BSIM4mPTSize; +extern int BSIM4nSize; +extern int BSIM4iSize; +extern int BSIM4mSize; + +#endif diff --git a/src/spicelib/devices/bsim4/bsim4itf.h b/src/spicelib/devices/bsim4/bsim4itf.h index 403f05c8b..9b010ec42 100644 --- a/src/spicelib/devices/bsim4/bsim4itf.h +++ b/src/spicelib/devices/bsim4/bsim4itf.h @@ -3,86 +3,9 @@ Copyright 2000 Regents of the University of California. All rights reserved. Author: 2000 Weidong Liu. File: bsim4itf.h **********/ -#ifdef DEV_bsim4 - #ifndef DEV_BSIM4 #define DEV_BSIM4 -#include "bsim4ext.h" - -extern IFparm BSIM4pTable[ ]; -extern IFparm BSIM4mPTable[ ]; -extern char *BSIM4names[ ]; -extern int BSIM4pTSize; -extern int BSIM4mPTSize; -extern int BSIM4nSize; -extern int BSIM4iSize; -extern int BSIM4mSize; - -SPICEdev B4info = { - { "BSIM4", - "Berkeley Short Channel IGFET Model-4", - - &BSIM4nSize, - &BSIM4nSize, - BSIM4names, - - &BSIM4pTSize, - BSIM4pTable, - - &BSIM4mPTSize, - BSIM4mPTable, - DEV_DEFAULT - }, - BSIM4param, - BSIM4mParam, - BSIM4load, - BSIM4setup, - BSIM4unsetup, - BSIM4setup, - BSIM4temp, - BSIM4trunc, - NULL, - BSIM4acLoad, - NULL, - BSIM4destroy, -#ifdef DELETES - BSIM4mDelete, - BSIM4delete, -#else /* DELETES */ - NULL, - NULL, -#endif /* DELETES */ - BSIM4getic, - BSIM4ask, - BSIM4mAsk, -#ifdef AN_pz - BSIM4pzLoad, -#else /* AN_pz */ - NULL, -#endif /* AN_pz */ -#ifdef NEWCONV - BSIM4convTest, -#else /* NEWCONV */ - NULL, -#endif /* NEWCONV */ - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - -#ifdef AN_noise - BSIM4noise, -#else /* AN_noise */ - NULL, -#endif /* AN_noise */ - - &BSIM4iSize, - &BSIM4mSize -}; +SPICEdev *get_bsim4_info(void); #endif -#endif diff --git a/src/spicelib/devices/cap/Makefile.am b/src/spicelib/devices/cap/Makefile.am index f24c04913..79545d4c4 100644 --- a/src/spicelib/devices/cap/Makefile.am +++ b/src/spicelib/devices/cap/Makefile.am @@ -2,30 +2,32 @@ pkglib_LTLIBRARIES = libcap.la -libcap_la_SOURCES = \ - cap.c \ - capacld.c \ - capask.c \ - capdefs.h \ - capdel.c \ - capdest.c \ - capext.h \ - capgetic.c \ - capitf.h \ - capload.c \ - capmask.c \ - capmdel.c \ - capmpar.c \ - capparam.c \ - cappzld.c \ - capsacl.c \ - capsetup.c \ - capsload.c \ - capsprt.c \ - capsset.c \ - capsupd.c \ - captemp.c \ - captrunc.c +libcap_la_SOURCES = \ + cap.c \ + capacld.c \ + capask.c \ + capdefs.h \ + capdel.c \ + capdest.c \ + capext.h \ + capgetic.c \ + capinit.c \ + capinit.h \ + capitf.h \ + capload.c \ + capmask.c \ + capmdel.c \ + capmpar.c \ + capparam.c \ + cappzld.c \ + capsacl.c \ + capsetup.c \ + capsload.c \ + capsprt.c \ + capsset.c \ + capsupd.c \ + captemp.c \ + captrunc.c diff --git a/src/spicelib/devices/cap/capinit.c b/src/spicelib/devices/cap/capinit.c new file mode 100644 index 000000000..4954d563b --- /dev/null +++ b/src/spicelib/devices/cap/capinit.c @@ -0,0 +1,63 @@ +#include + +#include + +#include "capitf.h" +#include "capext.h" +#include "capinit.h" + + +SPICEdev CAPinfo = { + { "Capacitor", + "Fixed capacitor", + + &CAPnSize, + &CAPnSize, + CAPnames, + + &CAPpTSize, + CAPpTable, + + &CAPmPTSize, + CAPmPTable, + 0 + }, + + DEVparam : CAPparam, + DEVmodParam : CAPmParam, + DEVload : CAPload, + DEVsetup : CAPsetup, + DEVunsetup : NULL, + DEVpzSetup : CAPsetup, + DEVtemperature: CAPtemp, + DEVtrunc : CAPtrunc, + DEVfindBranch : NULL, + DEVacLoad : CAPacLoad, + DEVaccept : NULL, + DEVdestroy : CAPdestroy, + DEVmodDelete : CAPmDelete, + DEVdelete : CAPdelete, + DEVsetic : CAPgetic, + DEVask : CAPask, + DEVmodAsk : CAPmAsk, + DEVpzLoad : CAPpzLoad, + DEVconvTest : NULL, + DEVsenSetup : CAPsSetup, + DEVsenLoad : CAPsLoad, + DEVsenUpdate : CAPsUpdate, + DEVsenAcLoad : CAPsAcLoad, + DEVsenPrint : CAPsPrint, + DEVsenTrunc : NULL, + DEVdisto : NULL, /* DISTO */ + DEVnoise : NULL, /* NOISE */ + + DEVinstSize : &CAPiSize, + DEVmodSize : &CAPmSize +}; + + +SPICEdev * +get_cap_info(void) +{ + return &CAPinfo; +} diff --git a/src/spicelib/devices/cap/capitf.h b/src/spicelib/devices/cap/capitf.h index 5ce8503cb..04c8266e8 100644 --- a/src/spicelib/devices/cap/capitf.h +++ b/src/spicelib/devices/cap/capitf.h @@ -1,88 +1,9 @@ /********** Copyright 1990 Regents of the University of California. All rights reserved. **********/ -#ifdef DEV_cap - #ifndef DEV_CAP #define DEV_CAP -#include "capext.h" -extern IFparm CAPpTable[ ]; -extern IFparm CAPmPTable[ ]; -extern char *CAPnames[ ]; -extern int CAPpTSize; -extern int CAPmPTSize; -extern int CAPnSize; -extern int CAPiSize; -extern int CAPmSize; - -SPICEdev CAPinfo = { - { "Capacitor", - "Fixed capacitor", - - &CAPnSize, - &CAPnSize, - CAPnames, - - &CAPpTSize, - CAPpTable, - - &CAPmPTSize, - CAPmPTable, - 0 - }, - - CAPparam, - CAPmParam, - CAPload, - CAPsetup, - NULL, - CAPsetup, - CAPtemp, - CAPtrunc, - NULL, - CAPacLoad, - NULL, - CAPdestroy, -#ifdef DELETES - CAPmDelete, - CAPdelete, -#else /* DELETES */ - NULL, - NULL, -#endif /* DELETES */ - CAPgetic, - CAPask, - CAPmAsk, -#ifdef AN_pz - CAPpzLoad, -#else /* AN_pz */ - NULL, -#endif /* AN_pz */ - NULL, -#ifdef AN_sense2 - CAPsSetup, - CAPsLoad, - CAPsUpdate, - CAPsAcLoad, - CAPsPrint, -#else /* AN_sense2 */ - NULL, - NULL, - NULL, - NULL, - NULL, -#endif /* AN_sense2 */ - NULL, - NULL, /* DISTO */ - NULL, /* NOISE */ - - &CAPiSize, - &CAPmSize - - -}; - +SPICEdev *get_cap_info(void); #endif -#endif diff --git a/src/spicelib/devices/cccs/Makefile.am b/src/spicelib/devices/cccs/Makefile.am index c909f2ace..97ad77d9e 100644 --- a/src/spicelib/devices/cccs/Makefile.am +++ b/src/spicelib/devices/cccs/Makefile.am @@ -3,22 +3,24 @@ pkglib_LTLIBRARIES = libcccs.la libcccs_la_SOURCES = \ - cccs.c \ - cccsask.c \ - cccsdefs.h \ - cccsdel.c \ - cccsdest.c \ - cccsext.h \ - cccsitf.h \ - cccsload.c \ - cccsmdel.c \ - cccspar.c \ - cccspzld.c \ - cccssacl.c \ - cccsset.c \ - cccssld.c \ - cccssprt.c \ - cccssset.c + cccs.c \ + cccsask.c \ + cccsdefs.h \ + cccsdel.c \ + cccsdest.c \ + cccsext.h \ + cccsinit.c \ + cccsinit.h \ + cccsitf.h \ + cccsload.c \ + cccsmdel.c \ + cccspar.c \ + cccspzld.c \ + cccssacl.c \ + cccsset.c \ + cccssld.c \ + cccssprt.c \ + cccssset.c diff --git a/src/spicelib/devices/cccs/cccsinit.c b/src/spicelib/devices/cccs/cccsinit.c new file mode 100644 index 000000000..f061a39f2 --- /dev/null +++ b/src/spicelib/devices/cccs/cccsinit.c @@ -0,0 +1,64 @@ +#include + +#include + +#include "cccsitf.h" +#include "cccsext.h" +#include "cccsinit.h" + + +SPICEdev CCCSinfo = { + { "CCCS", + "Current controlled current source", + + &CCCSnSize, + &CCCSnSize, + CCCSnames, + + &CCCSpTSize, + CCCSpTable, + + 0, + NULL, + DEV_DEFAULT + }, + + DEVparam : CCCSparam, + DEVmodParam : NULL, + DEVload : CCCSload, + DEVsetup : CCCSsetup, + DEVunsetup : NULL, + DEVpzSetup : CCCSsetup, + DEVtemperature: NULL, + DEVtrunc : NULL, + DEVfindBranch : NULL, + DEVacLoad : CCCSload, + DEVaccept : NULL, + DEVdestroy : CCCSdestroy, + DEVmodDelete : CCCSmDelete, + DEVdelete : CCCSdelete, + DEVsetic : NULL, + DEVask : CCCSask, + DEVmodAsk : NULL, + DEVpzLoad : CCCSpzLoad, + DEVconvTest : NULL, + DEVsenSetup : CCCSsSetup, + DEVsenLoad : CCCSsLoad, + DEVsenUpdate : NULL, + DEVsenAcLoad : CCCSsAcLoad, + DEVsenPrint : CCCSsPrint, + DEVsenTrunc : NULL, + DEVdisto : NULL, /* DISTO */ + DEVnoise : NULL, /* NOISE */ + + DEVinstSize : &CCCSiSize, + DEVmodSize : &CCCSmSize + +}; + + +SPICEdev * +get_cccs_info(void) +{ + return &CCCSinfo; +} diff --git a/src/spicelib/devices/cccs/cccsitf.h b/src/spicelib/devices/cccs/cccsitf.h index 4a0eabf2a..ce4f23661 100644 --- a/src/spicelib/devices/cccs/cccsitf.h +++ b/src/spicelib/devices/cccs/cccsitf.h @@ -1,85 +1,9 @@ /********** Copyright 1990 Regents of the University of California. All rights reserved. **********/ -#ifdef DEV_cccs - #ifndef DEV_CCCS #define DEV_CCCS -#include "cccsext.h" -extern IFparm CCCSpTable[ ]; -extern char *CCCSnames[ ]; -extern int CCCSpTSize; -extern int CCCSnSize; -extern int CCCSiSize; -extern int CCCSmSize; - -SPICEdev CCCSinfo = { - { "CCCS", - "Current controlled current source", - - &CCCSnSize, - &CCCSnSize, - CCCSnames, - - &CCCSpTSize, - CCCSpTable, - - 0, - NULL, - DEV_DEFAULT - }, - - CCCSparam, - NULL, - CCCSload, - CCCSsetup, - NULL, - CCCSsetup, - NULL, - NULL, - NULL, - CCCSload, - NULL, - CCCSdestroy, -#ifdef DELETES - CCCSmDelete, - CCCSdelete, -#else /* DELETES */ - NULL, - NULL, -#endif /* DELETES */ - NULL, - CCCSask, - NULL, -#ifdef AN_pz - CCCSpzLoad, -#else /* AN_pz */ - NULL, -#endif /* AN_pz */ - NULL, -#ifdef AN_sense2 - CCCSsSetup, - CCCSsLoad, - NULL, - CCCSsAcLoad, - CCCSsPrint, - NULL, -#else /* AN_sense2 */ - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, -#endif /* AN_sense2 */ - NULL, /* DISTO */ - NULL, /* NOISE */ - - &CCCSiSize, - &CCCSmSize - -}; +SPICEdev *get_cccs_info(void); #endif -#endif diff --git a/src/spicelib/devices/ccvs/Makefile.am b/src/spicelib/devices/ccvs/Makefile.am index 580d2f186..276650832 100644 --- a/src/spicelib/devices/ccvs/Makefile.am +++ b/src/spicelib/devices/ccvs/Makefile.am @@ -3,23 +3,25 @@ pkglib_LTLIBRARIES = libccvs.la libccvs_la_SOURCES = \ - ccvs.c \ - ccvsask.c \ - ccvsdefs.h \ - ccvsdel.c \ - ccvsdest.c \ - ccvsext.h \ - ccvsfbr.c \ - ccvsitf.h \ - ccvsload.c \ - ccvsmdel.c \ - ccvspar.c \ - ccvspzld.c \ - ccvssacl.c \ - ccvsset.c \ - ccvssld.c \ - ccvssprt.c \ - ccvssset.c + ccvs.c \ + ccvsask.c \ + ccvsdefs.h \ + ccvsdel.c \ + ccvsdest.c \ + ccvsext.h \ + ccvsfbr.c \ + ccvsinit.c \ + ccvsinit.h \ + ccvsitf.h \ + ccvsload.c \ + ccvsmdel.c \ + ccvspar.c \ + ccvspzld.c \ + ccvssacl.c \ + ccvsset.c \ + ccvssld.c \ + ccvssprt.c \ + ccvssset.c diff --git a/src/spicelib/devices/ccvs/ccvsinit.c b/src/spicelib/devices/ccvs/ccvsinit.c new file mode 100644 index 000000000..1df05d896 --- /dev/null +++ b/src/spicelib/devices/ccvs/ccvsinit.c @@ -0,0 +1,65 @@ +#include + +#include + +#include "ccvsitf.h" +#include "ccvsext.h" +#include "ccvsinit.h" + + +SPICEdev CCVSinfo = { + { + "CCVS", + "Linear current controlled current source", + + &CCVSnSize, + &CCVSnSize, + CCVSnames, + + &CCVSpTSize, + CCVSpTable, + + 0, + NULL, + DEV_DEFAULT + }, + + DEVparam : CCVSparam, + DEVmodParam : NULL, + DEVload : CCVSload, + DEVsetup : CCVSsetup, + DEVunsetup : CCVSunsetup, + DEVpzSetup : CCVSsetup, + DEVtemperature: NULL, + DEVtrunc : NULL, + DEVfindBranch : CCVSfindBr, + DEVacLoad : CCVSload, /* ac and normal load functions identical */ + DEVaccept : NULL, + DEVdestroy : CCVSdestroy, + DEVmodDelete : CCVSmDelete, + DEVdelete : CCVSdelete, + DEVsetic : NULL, + DEVask : CCVSask, + DEVmodAsk : NULL, + DEVpzLoad : CCVSpzLoad, + DEVconvTest : NULL, + DEVsenSetup : CCVSsSetup, + DEVsenLoad : CCVSsLoad, + DEVsenUpdate : NULL, + DEVsenAcLoad : CCVSsAcLoad, + DEVsenPrint : CCVSsPrint, + DEVsenTrunc : NULL, + DEVdisto : NULL, /* DISTO */ + DEVnoise : NULL, /* NOISE */ + + DEVinstSize : &CCVSiSize, + DEVmodSize : &CCVSmSize + +}; + + +SPICEdev * +get_ccvs_info(void) +{ + return &CCVSinfo; +} diff --git a/src/spicelib/devices/ccvs/ccvsitf.h b/src/spicelib/devices/ccvs/ccvsitf.h index 869c0e541..e9b77d387 100644 --- a/src/spicelib/devices/ccvs/ccvsitf.h +++ b/src/spicelib/devices/ccvs/ccvsitf.h @@ -1,86 +1,9 @@ /********** Copyright 1990 Regents of the University of California. All rights reserved. **********/ -#ifdef DEV_ccvs - #ifndef DEV_CCVS #define DEV_CCVS -#include "ccvsext.h" -extern IFparm CCVSpTable[ ]; -extern char *CCVSnames[ ]; -extern int CCVSpTSize; -extern int CCVSnSize; -extern int CCVSiSize; -extern int CCVSmSize; - -SPICEdev CCVSinfo = { - { - "CCVS", - "Linear current controlled current source", - - &CCVSnSize, - &CCVSnSize, - CCVSnames, - - &CCVSpTSize, - CCVSpTable, - - 0, - NULL, - DEV_DEFAULT - }, - - CCVSparam, - NULL, - CCVSload, - CCVSsetup, - CCVSunsetup, - CCVSsetup, - NULL, - NULL, - CCVSfindBr, - CCVSload, /* ac and normal load functions identical */ - NULL, - CCVSdestroy, -#ifdef DELETES - CCVSmDelete, - CCVSdelete, -#else /* DELETES */ - NULL, - NULL, -#endif /* DELETES */ - NULL, - CCVSask, - NULL, -#ifdef AN_pz - CCVSpzLoad, -#else /* AN_pz */ - NULL, -#endif /* AN_pz */ - NULL, -#ifdef AN_sense2 - CCVSsSetup, - CCVSsLoad, - NULL, - CCVSsAcLoad, - CCVSsPrint, - NULL, -#else /* NOSENS */ - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, -#endif /* NOSENS */ - NULL, /* DISTO */ - NULL, /* NOISE */ - - &CCVSiSize, - &CCVSmSize - -}; +SPICEdev *get_ccvs_info(void); #endif -#endif diff --git a/src/spicelib/devices/csw/Makefile.am b/src/spicelib/devices/csw/Makefile.am index aea784875..4445d8e42 100644 --- a/src/spicelib/devices/csw/Makefile.am +++ b/src/spicelib/devices/csw/Makefile.am @@ -3,22 +3,24 @@ pkglib_LTLIBRARIES = libcsw.la libcsw_la_SOURCES = \ - csw.c \ - cswacld.c \ - cswask.c \ - cswdefs.h \ - cswdel.c \ - cswdest.c \ - cswext.h \ - cswitf.h \ - cswload.c \ - cswmask.c \ - cswmdel.c \ - cswmpar.c \ - cswnoise.c \ - cswparam.c \ - cswpzld.c \ - cswsetup.c + csw.c \ + cswacld.c \ + cswask.c \ + cswdefs.h \ + cswdel.c \ + cswdest.c \ + cswext.h \ + cswinit.c \ + cswinit.h \ + cswitf.h \ + cswload.c \ + cswmask.c \ + cswmdel.c \ + cswmpar.c \ + cswnoise.c \ + cswparam.c \ + cswpzld.c \ + cswsetup.c diff --git a/src/spicelib/devices/csw/cswinit.c b/src/spicelib/devices/csw/cswinit.c new file mode 100644 index 000000000..595ab865b --- /dev/null +++ b/src/spicelib/devices/csw/cswinit.c @@ -0,0 +1,65 @@ +#include + +#include + +#include "cswitf.h" +#include "cswext.h" +#include "cswinit.h" + + +SPICEdev CSWinfo = { + { + "CSwitch", + "Current controlled ideal switch", + + &CSWnSize, + &CSWnSize, + CSWnames, + + &CSWpTSize, + CSWpTable, + + &CSWmPTSize, + CSWmPTable, + 0 + }, + + DEVparam : CSWparam, + DEVmodParam : CSWmParam, + DEVload : CSWload, + DEVsetup : CSWsetup, + DEVunsetup : NULL, + DEVpzSetup : CSWsetup, + DEVtemperature: NULL, + DEVtrunc : NULL, + DEVfindBranch : NULL, + DEVacLoad : CSWacLoad, + DEVaccept : NULL, + DEVdestroy : CSWdestroy, + DEVmodDelete : CSWmDelete, + DEVdelete : CSWdelete, + DEVsetic : NULL, + DEVask : CSWask, + DEVmodAsk : CSWmAsk, + DEVpzLoad : CSWpzLoad, + DEVconvTest : NULL, + DEVsenSetup : NULL, + DEVsenLoad : NULL, + DEVsenUpdate : NULL, + DEVsenAcLoad : NULL, + DEVsenPrint : NULL, + DEVsenTrunc : NULL, + DEVdisto : NULL, /* DISTO */ + DEVnoise : CSWnoise, + + DEVinstSize : &CSWiSize, + DEVmodSize : &CSWmSize + +}; + + +SPICEdev * +get_csw_info(void) +{ + return &CSWinfo; +} diff --git a/src/spicelib/devices/csw/cswitf.h b/src/spicelib/devices/csw/cswitf.h index 83e40397c..b8a6960ff 100644 --- a/src/spicelib/devices/csw/cswitf.h +++ b/src/spicelib/devices/csw/cswitf.h @@ -1,83 +1,9 @@ /********** Copyright 1990 Regents of the University of California. All rights reserved. **********/ -#ifdef DEV_csw - #ifndef DEV_CSW #define DEV_CSW -#include "cswext.h" -extern IFparm CSWpTable[ ]; -extern IFparm CSWmPTable[ ]; -extern char *CSWnames[ ]; -extern int CSWpTSize; -extern int CSWmPTSize; -extern int CSWnSize; -extern int CSWiSize; -extern int CSWmSize; - -SPICEdev CSWinfo = { - { "CSwitch", - "Current controlled ideal switch", - - &CSWnSize, - &CSWnSize, - CSWnames, - - &CSWpTSize, - CSWpTable, - - &CSWmPTSize, - CSWmPTable, - 0 - }, - - CSWparam, - CSWmParam, - CSWload, - CSWsetup, - NULL, - CSWsetup, - NULL, - NULL, - NULL, - CSWacLoad, - NULL, - CSWdestroy, -#ifdef DELETES - CSWmDelete, - CSWdelete, -#else /* DELETES */ - NULL, - NULL, -#endif /* DELETES */ - NULL, - CSWask, - CSWmAsk, -#ifdef AN_pz - CSWpzLoad, -#else /* AN_pz */ - NULL, -#endif /* AN_pz */ - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, /* DISTO */ -#ifdef AN_noise - CSWnoise, -#else /* AN_noise */ - NULL, -#endif /* AN_noise */ - - &CSWiSize, - &CSWmSize - -}; - +extern SPICEdev *get_csw_info(void); #endif -#endif diff --git a/src/spicelib/devices/dev.c b/src/spicelib/devices/dev.c index 028443b97..36f941e58 100644 --- a/src/spicelib/devices/dev.c +++ b/src/spicelib/devices/dev.c @@ -28,44 +28,13 @@ * ENHANCEMENTS, OR MODIFICATIONS. */ #include +#include #include #include #include "dev.h" -/* Enable the following devices */ -#define DEV_asrc -#define DEV_bjt -#define DEV_bsim1 -#define DEV_bsim2 -#define DEV_bsim3 -#define DEV_bsim4 -#define DEV_bsim3v1 -#define DEV_bsim3v2 -#define DEV_cap -#define DEV_cccs -#define DEV_ccvs -#define DEV_csw -#define DEV_dio -#define DEV_ind -#define DEV_isrc -#define DEV_jfet -#define DEV_jfet2 -#define DEV_ltra -#define DEV_mes -#define DEV_mos1 -#define DEV_mos2 -#define DEV_mos3 -#define DEV_mos6 -#define DEV_res -#define DEV_sw -#define DEV_tra -#define DEV_urc -#define DEV_vccs -#define DEV_vcvs -#define DEV_vsrc - #define DEVICES_USED "asrc bjt bsim1 bsim2 bsim3 bsim3v2 bsim3v1 cap cccs ccvs csw dio ind isrc jfet ltra mes mos1 mos2 mos3 mos6 res sw tra urc vccs vcvs vsrc" /* @@ -86,6 +55,12 @@ #include "asrc/asrcitf.h" #include "bjt/bjtitf.h" +#include "bsim1/bsim1itf.h" +#include "bsim2/bsim2itf.h" +#include "bsim3/bsim3itf.h" +#include "bsim3v1/bsim3v1itf.h" +#include "bsim3v2/bsim3v2itf.h" +#include "bsim4/bsim4itf.h" #include "cap/capitf.h" #include "cccs/cccsitf.h" #include "ccvs/ccvsitf.h" @@ -93,69 +68,71 @@ #include "dio/dioitf.h" #include "ind/inditf.h" #include "isrc/isrcitf.h" +#include "jfet/jfetitf.h" +#include "jfet2/jfet2itf.h" +#include "ltra/ltraitf.h" +#include "mes/mesitf.h" #include "mos1/mos1itf.h" +#include "mos2/mos2itf.h" +#include "mos3/mos3itf.h" #include "mos6/mos6itf.h" #include "res/resitf.h" #include "sw/switf.h" +#include "tra/traitf.h" +#include "urc/urcitf.h" #include "vccs/vccsitf.h" #include "vcvs/vcvsitf.h" #include "vsrc/vsrcitf.h" -#include "bsim1/bsim1itf.h" -#include "bsim2/bsim2itf.h" -#include "bsim3/bsim3itf.h" -#include "bsim4/bsim4itf.h" -#include "bsim3v1/bsim3v1itf.h" -#include "bsim3v2/bsim3v2itf.h" -#include "mos2/mos2itf.h" -#include "mos3/mos3itf.h" -#include "jfet/jfetitf.h" -#include "jfet2/jfet2itf.h" -#include "mes/mesitf.h" -#include "ltra/ltraitf.h" -#include "tra/traitf.h" -#include "urc/urcitf.h" -SPICEdev *DEVices[] = { - /* URC must appear before the resistor, capacitor, and diode */ - &URCinfo, - &ASRCinfo, - &BJTinfo, - &B1info, - &B2info, - &BSIM3info, - &B4info, - &BSIM3V2info, - &BSIM3V1info, - &CAPinfo, - &CCCSinfo, - &CCVSinfo, - &CSWinfo, - &DIOinfo, - &INDinfo, - &MUTinfo, - &ISRCinfo, - &JFETinfo, - &JFET2info, - <RAinfo, - &MESinfo, - &MOS1info, - &MOS2info, - &MOS3info, - &MOS6info, - &RESinfo, - &SWinfo, - &TRAinfo, - &VCCSinfo, - &VCVSinfo, - &VSRCinfo, -}; +#define DEVNUM 31 + +SPICEdev *DEVices[DEVNUM]; + + +void +spice_init_devices(void) +{ + /* URC device MUST precede both resistors and capacitors */ + DEVices[ 0] = get_urc_info(); + DEVices[ 1] = get_asrc_info(); + DEVices[ 2] = get_bjt_info(); + DEVices[ 3] = get_bsim1_info(); + DEVices[ 4] = get_bsim2_info(); + DEVices[ 5] = get_bsim3_info(); + DEVices[ 6] = get_bsim3v1_info(); + DEVices[ 7] = get_bsim3v2_info(); + DEVices[ 8] = get_bsim4_info(); + DEVices[ 9] = get_cap_info(); + DEVices[10] = get_cccs_info(); + DEVices[11] = get_ccvs_info(); + DEVices[12] = get_csw_info(); + DEVices[13] = get_dio_info(); + DEVices[14] = get_ind_info(); + DEVices[15] = get_mut_info(); + DEVices[16] = get_isrc_info(); + DEVices[17] = get_jfet_info(); + DEVices[18] = get_jfet2_info(); + DEVices[19] = get_ltra_info(); + DEVices[20] = get_mes_info(); + DEVices[21] = get_mos1_info(); + DEVices[22] = get_mos2_info(); + DEVices[23] = get_mos3_info(); + DEVices[24] = get_mos6_info(); + DEVices[25] = get_res_info(); + DEVices[26] = get_sw_info(); + DEVices[27] = get_tra_info(); + DEVices[28] = get_vccs_info(); + DEVices[29] = get_vcvs_info(); + DEVices[30] = get_vsrc_info(); + assert(31 == DEVNUM); +} int num_devices(void) { - return sizeof(DEVices)/sizeof(SPICEdev *); + return DEVNUM; } @@ -171,5 +148,3 @@ devices(void) { return DEVices; } - - diff --git a/src/spicelib/devices/dev.h b/src/spicelib/devices/dev.h index cb1ee02ec..295f437cc 100644 --- a/src/spicelib/devices/dev.h +++ b/src/spicelib/devices/dev.h @@ -2,6 +2,7 @@ #define _DEV_H +void spice_init_devices(void); int num_devices(void); IFdevice **devices_ptr(void); SPICEdev **devices(void); diff --git a/src/spicelib/devices/dio/Makefile.am b/src/spicelib/devices/dio/Makefile.am index 600e63d84..6d96b7935 100644 --- a/src/spicelib/devices/dio/Makefile.am +++ b/src/spicelib/devices/dio/Makefile.am @@ -2,34 +2,36 @@ pkglib_LTLIBRARIES = libdio.la -libdio_la_SOURCES = \ - dio.c \ - dioacld.c \ - dioask.c \ - dioconv.c \ - diodefs.h \ - diodel.c \ - diodest.c \ - diodisto.c \ - diodset.c \ - dioext.h \ - diogetic.c \ - dioitf.h \ - dioload.c \ - diomask.c \ - diomdel.c \ - diompar.c \ - dionoise.c \ - dioparam.c \ - diopzld.c \ - diosacl.c \ - diosetup.c \ - diosload.c \ - diosprt.c \ - diosset.c \ - diosupd.c \ - diotemp.c \ - diotrunc.c +libdio_la_SOURCES = \ + dio.c \ + dioacld.c \ + dioask.c \ + dioconv.c \ + diodefs.h \ + diodel.c \ + diodest.c \ + diodisto.c \ + diodset.c \ + dioext.h \ + diogetic.c \ + dioinit.c \ + dioinit.h \ + dioitf.h \ + dioload.c \ + diomask.c \ + diomdel.c \ + diompar.c \ + dionoise.c \ + dioparam.c \ + diopzld.c \ + diosacl.c \ + diosetup.c \ + diosload.c \ + diosprt.c \ + diosset.c \ + diosupd.c \ + diotemp.c \ + diotrunc.c INCLUDES = -I$(top_srcdir)/src/include diff --git a/src/spicelib/devices/dio/dioinit.c b/src/spicelib/devices/dio/dioinit.c new file mode 100644 index 000000000..6da96e4c4 --- /dev/null +++ b/src/spicelib/devices/dio/dioinit.c @@ -0,0 +1,64 @@ +#include + +#include + +#include "dioitf.h" +#include "dioext.h" +#include "dioinit.h" + + +SPICEdev DIOinfo = { + { + "Diode", + "Junction Diode model", + + &DIOnSize, + &DIOnSize, + DIOnames, + + &DIOpTSize, + DIOpTable, + + &DIOmPTSize, + DIOmPTable, + DEV_DEFAULT + }, + + DEVparam : DIOparam, + DEVmodParam : DIOmParam, + DEVload : DIOload, + DEVsetup : DIOsetup, + DEVunsetup : DIOunsetup, + DEVpzSetup : DIOsetup, + DEVtemperature: DIOtemp, + DEVtrunc : DIOtrunc, + DEVfindBranch : NULL, + DEVacLoad : DIOacLoad, + DEVaccept : NULL, + DEVdestroy : DIOdestroy, + DEVmodDelete : DIOmDelete, + DEVdelete : DIOdelete, + DEVsetic : DIOgetic, + DEVask : DIOask, + DEVmodAsk : DIOmAsk, + DEVpzLoad : DIOpzLoad, + DEVconvTest : DIOconvTest, + DEVsenSetup : DIOsSetup, + DEVsenLoad : DIOsLoad, + DEVsenUpdate : DIOsUpdate, + DEVsenAcLoad : DIOsAcLoad, + DEVsenPrint : DIOsPrint, + DEVsenTrunc : NULL, + DEVdisto : DIOdisto, + DEVnoise : DIOnoise, + + DEVinstSize : &DIOiSize, + DEVmodSize : &DIOmSize +}; + + +SPICEdev * +get_dio_info(void) +{ + return &DIOinfo; +} diff --git a/src/spicelib/devices/dio/dioitf.h b/src/spicelib/devices/dio/dioitf.h index b3f083ff2..be0e69139 100644 --- a/src/spicelib/devices/dio/dioitf.h +++ b/src/spicelib/devices/dio/dioitf.h @@ -1,103 +1,9 @@ /********** Copyright 1990 Regents of the University of California. All rights reserved. **********/ -#ifdef DEV_dio - #ifndef DEV_DIO #define DEV_DIO -#include "dioext.h" -extern IFparm DIOpTable[ ]; -extern IFparm DIOmPTable[ ]; -extern char *DIOnames[ ]; -extern int DIOpTSize; -extern int DIOmPTSize; -extern int DIOnSize; -extern int DIOiSize; -extern int DIOmSize; - -SPICEdev DIOinfo = { - { - "Diode", - "Junction Diode model", - - &DIOnSize, - &DIOnSize, - DIOnames, - - &DIOpTSize, - DIOpTable, - - &DIOmPTSize, - DIOmPTable, - DEV_DEFAULT - }, - - DIOparam, - DIOmParam, - DIOload, - DIOsetup, - DIOunsetup, - DIOsetup, - DIOtemp, - DIOtrunc, - NULL, - DIOacLoad, - NULL, - DIOdestroy, -#ifdef DELETES - DIOmDelete, - DIOdelete, -#else /* DELETES */ - NULL, - NULL, -#endif /* DELETES */ - DIOgetic, - DIOask, - DIOmAsk, -#ifdef AN_pz - DIOpzLoad, -#else /* AN_pz */ - NULL, -#endif /* AN_pz */ -#ifdef NEWCONV - DIOconvTest, -#else /* NEWCONV */ - NULL, -#endif /* NEWCONV */ - -#ifdef AN_sense2 - DIOsSetup, - DIOsLoad, - DIOsUpdate, - DIOsAcLoad, - DIOsPrint, - NULL, -#else /* AN_sense */ - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, -#endif /* AN_sense */ -#ifdef AN_disto - DIOdisto, -#else /* AN_disto */ - NULL, -#endif /* AN_disto */ -#ifdef AN_noise - DIOnoise, -#else /* AN_noise */ - NULL, -#endif /* AN_noise */ - - &DIOiSize, - &DIOmSize - - -}; - +extern SPICEdev *get_dio_info(void); #endif -#endif diff --git a/src/spicelib/devices/ind/Makefile.am b/src/spicelib/devices/ind/Makefile.am index 322388b18..e864492c2 100644 --- a/src/spicelib/devices/ind/Makefile.am +++ b/src/spicelib/devices/ind/Makefile.am @@ -2,36 +2,38 @@ pkglib_LTLIBRARIES = libind.la -libind_la_SOURCES = \ - ind.c \ - indacld.c \ - indask.c \ - inddefs.h \ - inddel.c \ - inddest.c \ - indext.h \ - inditf.h \ - indload.c \ - indmdel.c \ - indparam.c \ - indpzld.c \ - indsacl.c \ - indsetup.c \ - indsload.c \ - indsprt.c \ - indsset.c \ - indsupd.c \ - indtrunc.c \ - mutacld.c \ - mutask.c \ - mutdel.c \ - mutdest.c \ - mutmdel.c \ - mutparam.c \ - mutpzld.c \ - mutsetup.c \ - mutsprt.c \ - mutsset.c +libind_la_SOURCES = \ + ind.c \ + indacld.c \ + indask.c \ + inddefs.h \ + inddel.c \ + inddest.c \ + indext.h \ + indinit.c \ + indinit.h \ + inditf.h \ + indload.c \ + indmdel.c \ + indparam.c \ + indpzld.c \ + indsacl.c \ + indsetup.c \ + indsload.c \ + indsprt.c \ + indsset.c \ + indsupd.c \ + indtrunc.c \ + mutacld.c \ + mutask.c \ + mutdel.c \ + mutdest.c \ + mutmdel.c \ + mutparam.c \ + mutpzld.c \ + mutsetup.c \ + mutsprt.c \ + mutsset.c diff --git a/src/spicelib/devices/ind/indext.h b/src/spicelib/devices/ind/indext.h index 02687490a..2c08067de 100644 --- a/src/spicelib/devices/ind/indext.h +++ b/src/spicelib/devices/ind/indext.h @@ -2,8 +2,9 @@ Copyright 1990 Regents of the University of California. All rights reserved. Author: 1985 Thomas L. Quarles **********/ +#ifndef _INDEXT_H +#define _INDEXT_H -#ifdef __STDC__ extern int INDacLoad(GENmodel*,CKTcircuit*); extern int INDask(CKTcircuit*,GENinstance*,int,IFvalue*,IFvalue*); extern int INDdelete(GENmodel*,IFuid,GENinstance**); @@ -20,28 +21,7 @@ extern int INDsUpdate(GENmodel*,CKTcircuit*); extern int INDsetup(SMPmatrix*,GENmodel*,CKTcircuit*,int*); extern int INDunsetup(GENmodel*,CKTcircuit*); extern int INDtrunc(GENmodel*,CKTcircuit*,double*); -#else /* stdc */ -extern int INDacLoad(); -extern int INDask(); -extern int INDdelete(); -extern void INDdestroy(); -extern int INDload(); -extern int INDmDelete(); -extern int INDparam(); -extern int INDpzLoad(); -extern int INDsAcLoad(); -extern int INDsLoad(); -extern void INDsPrint(); -extern int INDsSetup(); -extern int INDsUpdate(); -extern int INDsetup(); -extern int INDunsetup(); -extern int INDtrunc(); -#endif /* stdc */ -#ifdef MUTUAL - -#ifdef __STDC__ extern int MUTacLoad(GENmodel*,CKTcircuit*); extern int MUTask(CKTcircuit*,GENinstance*,int,IFvalue*,IFvalue*); extern int MUTdelete(GENmodel*,IFuid,GENinstance**); @@ -52,17 +32,5 @@ extern int MUTpzLoad(GENmodel*,CKTcircuit*,SPcomplex*); extern void MUTsPrint(GENmodel*,CKTcircuit*); extern int MUTsSetup(SENstruct*,GENmodel*); extern int MUTsetup(SMPmatrix*,GENmodel*,CKTcircuit*,int*); -#else /* stdc */ -extern int MUTacLoad(); -extern int MUTask(); -extern int MUTdelete(); -extern void MUTdestroy(); -extern int MUTmDelete(); -extern int MUTparam(); -extern int MUTpzLoad(); -extern void MUTsPrint(); -extern int MUTsSetup(); -extern int MUTsetup(); -#endif /* stdc */ #endif diff --git a/src/spicelib/devices/ind/indinit.c b/src/spicelib/devices/ind/indinit.c new file mode 100644 index 000000000..7847de3e5 --- /dev/null +++ b/src/spicelib/devices/ind/indinit.c @@ -0,0 +1,122 @@ +#include + +#include + +#include "inditf.h" +#include "indext.h" +#include "indinit.h" + + +SPICEdev INDinfo = { + { + "Inductor", + "Inductors", + + &INDnSize, + &INDnSize, + INDnames, + + &INDpTSize, + INDpTable, + + 0, + NULL, + 0 + }, + + DEVparam : INDparam, + DEVmodParam : NULL, + DEVload : INDload, + DEVsetup : INDsetup, + DEVunsetup : INDunsetup, + DEVpzSetup : INDsetup, + DEVtemperature: NULL, + DEVtrunc : INDtrunc, + DEVfindBranch : NULL, + DEVacLoad : INDacLoad, + DEVaccept : NULL, + DEVdestroy : INDdestroy, + DEVmodDelete : INDmDelete, + DEVdelete : INDdelete, + DEVsetic : NULL, + DEVask : INDask, + DEVmodAsk : NULL, + DEVpzLoad : INDpzLoad, + DEVconvTest : NULL, + DEVsenSetup : INDsSetup, + DEVsenLoad : INDsLoad, + DEVsenUpdate : INDsUpdate, + DEVsenAcLoad : INDsAcLoad, + DEVsenPrint : INDsPrint, + DEVsenTrunc : NULL, + DEVdisto : NULL, /* DISTO */ + DEVnoise : NULL, /* NOISE */ + + DEVinstSize : &INDiSize, + DEVmodSize : &INDmSize + +}; + + +SPICEdev MUTinfo = { + { + "mutual", + "Mutual inductors", + 0, /* term count */ + 0, /* term count */ + NULL, + + &MUTpTSize, + MUTpTable, + + 0, + NULL, + 0 + }, + + MUTparam, + NULL, + NULL,/* load handled by INDload */ + MUTsetup, + NULL, + MUTsetup, + NULL, + NULL, + NULL, + MUTacLoad, + NULL, + MUTdestroy, + MUTmDelete, + MUTdelete, + NULL, + MUTask, + NULL, + MUTpzLoad, + NULL, + MUTsSetup, + NULL, + NULL, + NULL, + MUTsPrint, + NULL, + NULL, /* DISTO */ + NULL, /* NOISE */ + + &MUTiSize, + &MUTmSize + +}; + + +SPICEdev * +get_ind_info(void) +{ + return &INDinfo; +} + + +SPICEdev * +get_mut_info(void) +{ + return &MUTinfo; +} diff --git a/src/spicelib/devices/ind/inditf.h b/src/spicelib/devices/ind/inditf.h index faeaae5df..6bde9842d 100644 --- a/src/spicelib/devices/ind/inditf.h +++ b/src/spicelib/devices/ind/inditf.h @@ -1,163 +1,10 @@ /********** Copyright 1990 Regents of the University of California. All rights reserved. **********/ -#ifdef DEV_ind - #ifndef DEV_IND #define DEV_IND -#define MUTUAL - -#include "indext.h" -extern IFparm INDpTable[ ]; -extern char *INDnames[ ]; -extern int INDpTSize; -extern int INDnSize; -extern int INDiSize; -extern int INDmSize; - -SPICEdev INDinfo = { - { - "Inductor", - "Inductors", - - &INDnSize, - &INDnSize, - INDnames, - - &INDpTSize, - INDpTable, - - 0, - NULL, - 0 - }, - - INDparam, - NULL, - INDload, - INDsetup, - INDunsetup, - INDsetup, - NULL, - INDtrunc, - NULL, - INDacLoad, - NULL, - INDdestroy, -#ifdef DELETES - INDmDelete, - INDdelete, -#else /* DELETES */ - NULL, - NULL, -#endif /* DELETES */ - NULL, - INDask, - NULL, -#ifdef AN_pz - INDpzLoad, -#else /* AN_pz */ - NULL, -#endif /* AN_pz */ - NULL, -#ifdef AN_sense2 - INDsSetup, - INDsLoad, - INDsUpdate, - INDsAcLoad, - INDsPrint, - NULL, -#else /* AN_sense2 */ - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, -#endif /* AN_sense */ - NULL, /* DISTO */ - NULL, /* NOISE */ - - &INDiSize, - &INDmSize - -}; - -#ifdef MUTUAL -extern IFparm MUTpTable[ ]; -extern int MUTpTSize; -extern int MUTiSize; -extern int MUTmSize; - -SPICEdev MUTinfo = { - { - "mutual", - "Mutual inductors", - 0, /* term count */ - 0, /* term count */ - NULL, - - &MUTpTSize, - MUTpTable, - - 0, - NULL, - 0 - }, - - MUTparam, - NULL, - NULL,/* load handled by INDload */ - MUTsetup, - NULL, - MUTsetup, - NULL, - NULL, - NULL, - MUTacLoad, - NULL, - MUTdestroy, -#ifdef DELETES - MUTmDelete, - MUTdelete, -#else /* DELETES */ - NULL, - NULL, -#endif /* DELETES */ - NULL, - MUTask, - NULL, -#ifdef AN_pz - MUTpzLoad, -#else /* AN_pz */ - NULL, -#endif /* AN_pz */ - NULL, -#ifdef AN_sense - MUTsSetup, - NULL, - NULL, - NULL, - MUTsPrint, - NULL, -#else /* AN_sense */ - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, -#endif /* AN_sense */ - NULL, /* DISTO */ - NULL, /* NOISE */ - - &MUTiSize, - &MUTmSize - -}; - -#endif /*MUTUAL*/ +SPICEdev *get_ind_info(void); +SPICEdev *get_mut_info(void); #endif -#endif diff --git a/src/spicelib/devices/isrc/Makefile.am b/src/spicelib/devices/isrc/Makefile.am index 0c691535b..19a4882f1 100644 --- a/src/spicelib/devices/isrc/Makefile.am +++ b/src/spicelib/devices/isrc/Makefile.am @@ -2,20 +2,22 @@ pkglib_LTLIBRARIES = libisrc.la -libisrc_la_SOURCES = \ - isrc.c \ - isrcacct.c \ - isrcacld.c \ - isrcask.c \ - isrcdefs.h \ - isrcdel.c \ - isrcdest.c \ - isrcext.h \ - isrcitf.h \ - isrcload.c \ - isrcmdel.c \ - isrcpar.c \ - isrctemp.c +libisrc_la_SOURCES = \ + isrc.c \ + isrcacct.c \ + isrcacld.c \ + isrcask.c \ + isrcdefs.h \ + isrcdel.c \ + isrcdest.c \ + isrcext.h \ + isrcinit.c \ + isrcinit.h \ + isrcitf.h \ + isrcload.c \ + isrcmdel.c \ + isrcpar.c \ + isrctemp.c diff --git a/src/spicelib/devices/isrc/isrcinit.c b/src/spicelib/devices/isrc/isrcinit.c new file mode 100644 index 000000000..903288a80 --- /dev/null +++ b/src/spicelib/devices/isrc/isrcinit.c @@ -0,0 +1,64 @@ +#include + +#include + +#include "isrcitf.h" +#include "isrcext.h" +#include "isrcinit.h" + + +SPICEdev ISRCinfo = { + { + "Isource", + "Independent current source", + + &ISRCnSize, + &ISRCnSize, + ISRCnames, + + &ISRCpTSize, + ISRCpTable, + + 0, + NULL, + DEV_DEFAULT + }, + + DEVparam : ISRCparam, + DEVmodParam : NULL, + DEVload : ISRCload, + DEVsetup : NULL, + DEVunsetup : NULL, + DEVpzSetup : NULL, + DEVtemperature: ISRCtemp, + DEVtrunc : NULL, + DEVfindBranch : NULL, + DEVacLoad : ISRCacLoad, + DEVaccept : ISRCaccept, + DEVdestroy : ISRCdestroy, + DEVmodDelete : ISRCmDelete, + DEVdelete : ISRCdelete, + DEVsetic : NULL, + DEVask : ISRCask, + DEVmodAsk : NULL, + DEVpzLoad : NULL, + DEVconvTest : NULL, + DEVsenSetup : NULL, + DEVsenLoad : NULL, + DEVsenUpdate : NULL, + DEVsenAcLoad : NULL, + DEVsenPrint : NULL, + DEVsenTrunc : NULL, + DEVdisto : NULL, /* DISTO */ + DEVnoise : NULL, /* NOISE */ + + DEVinstSize : &ISRCiSize, + DEVmodSize : &ISRCmSize +}; + + +SPICEdev * +get_isrc_info(void) +{ + return &ISRCinfo; +} diff --git a/src/spicelib/devices/isrc/isrcitf.h b/src/spicelib/devices/isrc/isrcitf.h index da46bc780..c33e117c9 100644 --- a/src/spicelib/devices/isrc/isrcitf.h +++ b/src/spicelib/devices/isrc/isrcitf.h @@ -1,73 +1,9 @@ /********** Copyright 1990 Regents of the University of California. All rights reserved. **********/ -#ifdef DEV_isrc - #ifndef DEV_ISRC #define DEV_ISRC -#include "isrcext.h" -extern IFparm ISRCpTable[ ]; -extern char *ISRCnames[ ]; -extern int ISRCpTSize; -extern int ISRCnSize; -extern int ISRCiSize; -extern int ISRCmSize; - -SPICEdev ISRCinfo = { - { - "Isource", - "Independent current source", - - &ISRCnSize, - &ISRCnSize, - ISRCnames, - - &ISRCpTSize, - ISRCpTable, - - 0, - NULL, - DEV_DEFAULT - }, - - ISRCparam, - NULL, - ISRCload, - NULL, - NULL, - NULL, - ISRCtemp, - NULL, - NULL, - ISRCacLoad, - ISRCaccept, - ISRCdestroy, -#ifdef DELETES - ISRCmDelete, - ISRCdelete, -#else /* DELETES */ - NULL, - NULL, -#endif /* DELETES */ - NULL, - ISRCask, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, /* DISTO */ - NULL, /* NOISE */ - - &ISRCiSize, - &ISRCmSize -}; - +extern SPICEdev *get_isrc_info(void); #endif -#endif diff --git a/src/spicelib/devices/jfet/Makefile.am b/src/spicelib/devices/jfet/Makefile.am index 5f5129403..fb69c4940 100644 --- a/src/spicelib/devices/jfet/Makefile.am +++ b/src/spicelib/devices/jfet/Makefile.am @@ -2,28 +2,30 @@ pkglib_LTLIBRARIES = libjfet.la -libjfet_la_SOURCES = \ - jfet.c \ - jfetacld.c \ - jfetask.c \ - jfetdefs.h \ - jfetdel.c \ - jfetdest.c \ - jfetdist.c \ - jfetdset.c \ - jfetext.h \ - jfetic.c \ - jfetitf.h \ - jfetload.c \ - jfetmask.c \ - jfetmdel.c \ - jfetmpar.c \ - jfetnoi.c \ - jfetpar.c \ - jfetpzld.c \ - jfetset.c \ - jfettemp.c \ - jfettrun.c +libjfet_la_SOURCES = \ + jfet.c \ + jfetacld.c \ + jfetask.c \ + jfetdefs.h \ + jfetdel.c \ + jfetdest.c \ + jfetdist.c \ + jfetdset.c \ + jfetext.h \ + jfetic.c \ + jfetinit.c \ + jfetinit.h \ + jfetitf.h \ + jfetload.c \ + jfetmask.c \ + jfetmdel.c \ + jfetmpar.c \ + jfetnoi.c \ + jfetpar.c \ + jfetpzld.c \ + jfetset.c \ + jfettemp.c \ + jfettrun.c diff --git a/src/spicelib/devices/jfet/jfetinit.c b/src/spicelib/devices/jfet/jfetinit.c new file mode 100644 index 000000000..77d169a56 --- /dev/null +++ b/src/spicelib/devices/jfet/jfetinit.c @@ -0,0 +1,65 @@ +#include + +#include + +#include "jfetitf.h" +#include "jfetext.h" +#include "jfetinit.h" + + +SPICEdev JFETinfo = { + { + "JFET", + "Junction Field effect transistor", + + &JFETnSize, + &JFETnSize, + JFETnames, + + &JFETpTSize, + JFETpTable, + + &JFETmPTSize, + JFETmPTable, + DEV_DEFAULT + }, + + DEVparam : JFETparam, + DEVmodParam : JFETmParam, + DEVload : JFETload, + DEVsetup : JFETsetup, + DEVunsetup : JFETunsetup, + DEVpzSetup : JFETsetup, + DEVtemperature: JFETtemp, + DEVtrunc : JFETtrunc, + DEVfindBranch : NULL, + DEVacLoad : JFETacLoad, + DEVaccept : NULL, + DEVdestroy : JFETdestroy, + DEVmodDelete : JFETmDelete, + DEVdelete : JFETdelete, + DEVsetic : JFETgetic, + DEVask : JFETask, + DEVmodAsk : JFETmAsk, + DEVpzLoad : JFETpzLoad, + DEVconvTest : NULL, + DEVsenSetup : NULL, + DEVsenLoad : NULL, + DEVsenUpdate : NULL, + DEVsenAcLoad : NULL, + DEVsenPrint : NULL, + DEVsenTrunc : NULL, + DEVdisto : JFETdisto, + DEVnoise : JFETnoise, + + DEVinstSize : &JFETiSize, + DEVmodSize : &JFETmSize + +}; + + +SPICEdev * +get_jfet_info(void) +{ + return &JFETinfo; +} diff --git a/src/spicelib/devices/jfet/jfetitf.h b/src/spicelib/devices/jfet/jfetitf.h index 1ac351fff..19da888b2 100644 --- a/src/spicelib/devices/jfet/jfetitf.h +++ b/src/spicelib/devices/jfet/jfetitf.h @@ -1,88 +1,9 @@ /********** Copyright 1990 Regents of the University of California. All rights reserved. **********/ -#ifdef DEV_jfet - #ifndef DEV_JFET #define DEV_JFET -#include "jfetext.h" -extern IFparm JFETpTable[ ]; -extern IFparm JFETmPTable[ ]; -extern char *JFETnames[ ]; -extern int JFETpTSize; -extern int JFETmPTSize; -extern int JFETnSize; -extern int JFETiSize; -extern int JFETmSize; - -SPICEdev JFETinfo = { - { - "JFET", - "Junction Field effect transistor", - - &JFETnSize, - &JFETnSize, - JFETnames, - - &JFETpTSize, - JFETpTable, - - &JFETmPTSize, - JFETmPTable, - DEV_DEFAULT - }, - - JFETparam, - JFETmParam, - JFETload, - JFETsetup, - JFETunsetup, - JFETsetup, - JFETtemp, - JFETtrunc, - NULL, - JFETacLoad, - NULL, - JFETdestroy, -#ifdef DELETES - JFETmDelete, - JFETdelete, -#else /* DELETES */ - NULL, - NULL, -#endif /* DELETES */ - JFETgetic, - JFETask, - JFETmAsk, -#ifdef AN_pz - JFETpzLoad, -#else /* AN_pz */ - NULL, -#endif /* AN_pz */ - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, -#ifdef AN_disto - JFETdisto, -#else /* AN_disto */ - NULL, -#endif /* AN_disto */ -#ifdef AN_noise - JFETnoise, -#else /* AN_noise */ - NULL, -#endif /* AN_noise */ - - &JFETiSize, - &JFETmSize - -}; - +SPICEdev *get_jfet_info(void); #endif -#endif diff --git a/src/spicelib/devices/jfet2/Makefile.am b/src/spicelib/devices/jfet2/Makefile.am index 03b175bbc..73beb344e 100644 --- a/src/spicelib/devices/jfet2/Makefile.am +++ b/src/spicelib/devices/jfet2/Makefile.am @@ -2,28 +2,30 @@ pkglib_LTLIBRARIES = libjfet2.la -libjfet2_la_SOURCES = \ - jfet2.c \ - jfet2acld.c \ - jfet2ask.c \ - jfet2defs.h \ - jfet2del.c \ - jfet2dest.c \ - jfet2ext.h \ - jfet2ic.c \ - jfet2itf.h \ - jfet2load.c \ - jfet2mask.c \ - jfet2mdel.c \ - jfet2mpar.c \ - jfet2noi.c \ - jfet2par.c \ - jfet2parm.h \ - jfet2set.c \ - jfet2temp.c \ - jfet2trun.c \ - psmodel.c \ - psmodel.h +libjfet2_la_SOURCES = \ + jfet2.c \ + jfet2acld.c \ + jfet2ask.c \ + jfet2defs.h \ + jfet2del.c \ + jfet2dest.c \ + jfet2ext.h \ + jfet2ic.c \ + jfet2init.c \ + jfet2init.h \ + jfet2itf.h \ + jfet2load.c \ + jfet2mask.c \ + jfet2mdel.c \ + jfet2mpar.c \ + jfet2noi.c \ + jfet2par.c \ + jfet2parm.h \ + jfet2set.c \ + jfet2temp.c \ + jfet2trun.c \ + psmodel.c \ + psmodel.h diff --git a/src/spicelib/devices/jfet2/jfet2init.c b/src/spicelib/devices/jfet2/jfet2init.c new file mode 100644 index 000000000..0b4f1ee84 --- /dev/null +++ b/src/spicelib/devices/jfet2/jfet2init.c @@ -0,0 +1,65 @@ +#include + +#include + +#include "jfet2itf.h" +#include "jfet2ext.h" +#include "jfet2init.h" + + +SPICEdev JFET2info = { + { + "JFET2", + "Short channel field effect transistor", + + &JFET2nSize, + &JFET2nSize, + JFET2names, + + &JFET2pTSize, + JFET2pTable, + + &JFET2mPTSize, + JFET2mPTable, + DEV_DEFAULT + }, + + DEVparam : JFET2param, + DEVmodParam : JFET2mParam, + DEVload : JFET2load, + DEVsetup : JFET2setup, + DEVunsetup : JFET2unsetup, + DEVpzSetup : JFET2setup, + DEVtemperature: JFET2temp, + DEVtrunc : JFET2trunc, + DEVfindBranch : NULL, + DEVacLoad : JFET2acLoad, + DEVaccept : NULL, + DEVdestroy : JFET2destroy, + DEVmodDelete : JFET2mDelete, + DEVdelete : JFET2delete, + DEVsetic : JFET2getic, + DEVask : JFET2ask, + DEVmodAsk : JFET2mAsk, + DEVpzLoad : NULL, /* AN_pz */ + DEVconvTest : NULL, + DEVsenSetup : NULL, + DEVsenLoad : NULL, + DEVsenUpdate : NULL, + DEVsenAcLoad : NULL, + DEVsenPrint : NULL, + DEVsenTrunc : NULL, + DEVdisto : NULL, /* AN_disto */ + DEVnoise : JFET2noise, + + DEVinstSize : &JFET2iSize, + DEVmodSize : &JFET2mSize + +}; + + +SPICEdev * +get_jfet2_info(void) +{ + return &JFET2info; +} diff --git a/src/spicelib/devices/jfet2/jfet2itf.h b/src/spicelib/devices/jfet2/jfet2itf.h index cef2de662..600c37967 100644 --- a/src/spicelib/devices/jfet2/jfet2itf.h +++ b/src/spicelib/devices/jfet2/jfet2itf.h @@ -6,80 +6,9 @@ Modified to add PS model and new parameter definitions ( Anthony E. Parker ) Copyright 1994 Macquarie University, Sydney Australia. pz and disto not supported **********/ -#ifdef DEV_jfet2 - #ifndef DEV_JFET2 #define DEV_JFET2 -#include "jfet2ext.h" -extern IFparm JFET2pTable[ ]; -extern IFparm JFET2mPTable[ ]; -extern char *JFET2names[ ]; -extern int JFET2pTSize; -extern int JFET2mPTSize; -extern int JFET2nSize; -extern int JFET2iSize; -extern int JFET2mSize; - -SPICEdev JFET2info = { - { - "JFET2", - "Short channel field effect transistor", - - &JFET2nSize, - &JFET2nSize, - JFET2names, - - &JFET2pTSize, - JFET2pTable, - - &JFET2mPTSize, - JFET2mPTable, - DEV_DEFAULT - }, - - JFET2param, - JFET2mParam, - JFET2load, - JFET2setup, - JFET2unsetup, - JFET2setup, - JFET2temp, - JFET2trunc, - NULL, - JFET2acLoad, - NULL, - JFET2destroy, -#ifdef DELETES - JFET2mDelete, - JFET2delete, -#else /* DELETES */ - NULL, - NULL, -#endif /* DELETES */ - JFET2getic, - JFET2ask, - JFET2mAsk, - NULL, /* AN_pz */ - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, /* AN_disto */ -#ifdef AN_noise - JFET2noise, -#else /* AN_noise */ - NULL, -#endif /* AN_noise */ - - &JFET2iSize, - &JFET2mSize - -}; - +SPICEdev *get_jfet2_info(void); #endif -#endif diff --git a/src/spicelib/devices/ltra/Makefile.am b/src/spicelib/devices/ltra/Makefile.am index a9c725ef1..fcd8ad18a 100644 --- a/src/spicelib/devices/ltra/Makefile.am +++ b/src/spicelib/devices/ltra/Makefile.am @@ -3,24 +3,26 @@ pkglib_LTLIBRARIES = libltra.la libltra_la_SOURCES = \ - ltra.c \ - ltraacct.c \ - ltraacld.c \ - ltraask.c \ - ltradefs.h \ - ltradel.c \ - ltradest.c \ - ltraext.h \ - ltraitf.h \ - ltraload.c \ - ltramask.c \ - ltramdel.c \ - ltramisc.c \ - ltrampar.c \ - ltrapar.c \ - ltraset.c \ - ltratemp.c \ - ltratrun.c + ltra.c \ + ltraacct.c \ + ltraacld.c \ + ltraask.c \ + ltradefs.h \ + ltradel.c \ + ltradest.c \ + ltraext.h \ + ltrainit.c \ + ltrainit.h \ + ltraitf.h \ + ltraload.c \ + ltramask.c \ + ltramdel.c \ + ltramisc.c \ + ltrampar.c \ + ltrapar.c \ + ltraset.c \ + ltratemp.c \ + ltratrun.c diff --git a/src/spicelib/devices/ltra/ltrainit.c b/src/spicelib/devices/ltra/ltrainit.c new file mode 100644 index 000000000..5c62e3573 --- /dev/null +++ b/src/spicelib/devices/ltra/ltrainit.c @@ -0,0 +1,65 @@ +#include + +#include + +#include "ltraitf.h" +#include "ltraext.h" +#include "ltrainit.h" + + +SPICEdev LTRAinfo = { + { + "LTRA", + "Lossy transmission line", + + <RAnSize, + <RAnSize, + LTRAnames, + + <RApTSize, + LTRApTable, + + <RAmPTSize, + LTRAmPTable, + 0 + }, + + DEVparam : LTRAparam, + DEVmodParam : LTRAmParam, + DEVload : LTRAload, + DEVsetup : LTRAsetup, + DEVunsetup : LTRAunsetup, + DEVpzSetup : LTRAsetup, + DEVtemperature: LTRAtemp, + DEVtrunc : LTRAtrunc, + DEVfindBranch : NULL, + DEVacLoad : LTRAacLoad /*LTRAacLoad*/, + DEVaccept : LTRAaccept, + DEVdestroy : LTRAdestroy, + DEVmodDelete : LTRAmDelete, + DEVdelete : LTRAdelete, + DEVsetic : NULL, /* getic */ + DEVask : LTRAask, + DEVmodAsk : LTRAmAsk, /* */ + DEVpzLoad : NULL, /* pzLoad */ + DEVconvTest : NULL, /* convTest */ + DEVsenSetup : NULL, /* sSetup */ + DEVsenLoad : NULL, /* sLoad */ + DEVsenUpdate : NULL, /* sUpdate */ + DEVsenAcLoad : NULL, /* sAcLoad */ + DEVsenPrint : NULL, /* sPrint */ + DEVsenTrunc : NULL, /* */ + DEVdisto : NULL, /* disto */ + DEVnoise : NULL, /* noise */ + + DEVinstSize : <RAiSize, + DEVmodSize : <RAmSize + +}; + + +SPICEdev * +get_ltra_info(void) +{ + return <RAinfo; +} diff --git a/src/spicelib/devices/ltra/ltraitf.h b/src/spicelib/devices/ltra/ltraitf.h index 4e1259d98..b96c16a7d 100644 --- a/src/spicelib/devices/ltra/ltraitf.h +++ b/src/spicelib/devices/ltra/ltraitf.h @@ -3,75 +3,9 @@ Copyright 1990 Regents of the University of California. All rights reserved. Author: 1990 Jaijeet S. Roychowdhury **********/ -#ifdef DEV_ltra - #ifndef DEV_LTRA #define DEV_LTRA -#include "ltraext.h" -extern IFparm LTRApTable[ ]; -extern IFparm LTRAmPTable[ ]; -extern char *LTRAnames[ ]; -extern int LTRApTSize; -extern int LTRAmPTSize; -extern int LTRAnSize; -extern int LTRAiSize; -extern int LTRAmSize; - -SPICEdev LTRAinfo = { - { "LTRA", - "Lossy transmission line", - - <RAnSize, - <RAnSize, - LTRAnames, - - <RApTSize, - LTRApTable, - - <RAmPTSize, - LTRAmPTable, - 0 - }, - - LTRAparam, - LTRAmParam, - LTRAload, - LTRAsetup, - LTRAunsetup, - LTRAsetup, - LTRAtemp, - LTRAtrunc, - NULL, - LTRAacLoad /*LTRAacLoad*/, - LTRAaccept, - LTRAdestroy, -#ifdef DELETES - LTRAmDelete, - LTRAdelete, -#else /* DELETES */ - NULL, - NULL, -#endif /* DELETES */ - NULL, /* getic */ - LTRAask, - LTRAmAsk, /* */ - NULL, /* pzLoad */ - NULL, /* convTest */ - NULL, /* sSetup */ - NULL, /* sLoad */ - NULL, /* sUpdate */ - NULL, /* sAcLoad */ - NULL, /* sPrint */ - NULL, /* */ - NULL, /* disto */ - NULL, /* noise */ - - <RAiSize, - <RAmSize - -}; - -#endif +SPICEdev *get_ltra_info(void); #endif diff --git a/src/spicelib/devices/mes/Makefile.am b/src/spicelib/devices/mes/Makefile.am index 515f2a4fb..bb2bcf82d 100644 --- a/src/spicelib/devices/mes/Makefile.am +++ b/src/spicelib/devices/mes/Makefile.am @@ -2,28 +2,30 @@ pkglib_LTLIBRARIES = libmes.la -libmes_la_SOURCES = \ - mes.c \ - mesacl.c \ - mesask.c \ - mesdefs.h \ - mesdel.c \ - mesdest.c \ - mesdisto.c \ - mesdset.c \ - mesext.h \ - mesgetic.c \ - mesitf.h \ - mesload.c \ - mesmask.c \ - mesmdel.c \ - mesmpar.c \ - mesnoise.c \ - mesparam.c \ - mespzld.c \ - messetup.c \ - mestemp.c \ - mestrunc.c +libmes_la_SOURCES = \ + mes.c \ + mesacl.c \ + mesask.c \ + mesdefs.h \ + mesdel.c \ + mesdest.c \ + mesdisto.c \ + mesdset.c \ + mesext.h \ + mesgetic.c \ + mesinit.c \ + mesinit.h \ + mesitf.h \ + mesload.c \ + mesmask.c \ + mesmdel.c \ + mesmpar.c \ + mesnoise.c \ + mesparam.c \ + mespzld.c \ + messetup.c \ + mestemp.c \ + mestrunc.c diff --git a/src/spicelib/devices/mes/mesinit.c b/src/spicelib/devices/mes/mesinit.c new file mode 100644 index 000000000..18abd8deb --- /dev/null +++ b/src/spicelib/devices/mes/mesinit.c @@ -0,0 +1,65 @@ +#include + +#include + +#include "mesitf.h" +#include "mesext.h" +#include "mesinit.h" + + +SPICEdev MESinfo = { + { + "MES", + "GaAs MESFET model", + + &MESnSize, + &MESnSize, + MESnames, + + &MESpTSize, + MESpTable, + + &MESmPTSize, + MESmPTable, + DEV_DEFAULT + }, + + DEVparam : MESparam, + DEVmodParam : MESmParam, + DEVload : MESload, + DEVsetup : MESsetup, + DEVunsetup : MESunsetup, + DEVpzSetup : MESsetup, + DEVtemperature: MEStemp, + DEVtrunc : MEStrunc, + DEVfindBranch : NULL, + DEVacLoad : MESacLoad, + DEVaccept : NULL, + DEVdestroy : MESdestroy, + DEVmodDelete : MESmDelete, + DEVdelete : MESdelete, + DEVsetic : MESgetic, + DEVask : MESask, + DEVmodAsk : MESmAsk, + DEVpzLoad : MESpzLoad, + DEVconvTest : NULL, + DEVsenSetup : NULL, + DEVsenLoad : NULL, + DEVsenUpdate : NULL, + DEVsenAcLoad : NULL, + DEVsenPrint : NULL, + DEVsenTrunc : NULL, + DEVdisto : MESdisto, + DEVnoise : MESnoise, + + DEVinstSize : &MESiSize, + DEVmodSize : &MESmSize + +}; + + +SPICEdev * +get_mes_info(void) +{ + return &MESinfo; +} diff --git a/src/spicelib/devices/mes/mesitf.h b/src/spicelib/devices/mes/mesitf.h index e4f18bc62..6f9593f08 100644 --- a/src/spicelib/devices/mes/mesitf.h +++ b/src/spicelib/devices/mes/mesitf.h @@ -1,87 +1,9 @@ /********** Copyright 1990 Regents of the University of California. All rights reserved. **********/ -#ifdef DEV_mes - #ifndef DEV_MES #define DEV_MES -#include "mesext.h" -extern IFparm MESpTable[ ]; -extern IFparm MESmPTable[ ]; -extern char *MESnames[ ]; -extern int MESpTSize; -extern int MESmPTSize; -extern int MESnSize; -extern int MESiSize; -extern int MESmSize; - -SPICEdev MESinfo = { - { - "MES", - "GaAs MESFET model", - - &MESnSize, - &MESnSize, - MESnames, - - &MESpTSize, - MESpTable, - - &MESmPTSize, - MESmPTable, - DEV_DEFAULT - }, - - MESparam, - MESmParam, - MESload, - MESsetup, - MESunsetup, - MESsetup, - MEStemp, - MEStrunc, - NULL, - MESacLoad, - NULL, - MESdestroy, -#ifdef DELETES - MESmDelete, - MESdelete, -#else /* DELETES */ - NULL, - NULL, -#endif /* DELETES */ - MESgetic, - MESask, - MESmAsk, -#ifdef AN_pz - MESpzLoad, -#else /* AN_pz */ - NULL, -#endif /* AN_pz */ - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, -#ifdef AN_disto - MESdisto, -#else /* AN_disto */ - NULL, -#endif /* AN_disto */ -#ifdef AN_noise - MESnoise, -#else /* AN_noise */ - NULL, -#endif /* AN_noise */ - - &MESiSize, - &MESmSize - -}; +SPICEdev *get_mes_info(void); #endif -#endif diff --git a/src/spicelib/devices/mos1/Makefile.am b/src/spicelib/devices/mos1/Makefile.am index 075322152..0bda56f8d 100644 --- a/src/spicelib/devices/mos1/Makefile.am +++ b/src/spicelib/devices/mos1/Makefile.am @@ -3,33 +3,35 @@ pkglib_LTLIBRARIES = libmos1.la libmos1_la_SOURCES = \ - mos1.c \ - mos1acld.c \ - mos1ask.c \ - mos1conv.c \ - mos1defs.h \ - mos1del.c \ - mos1dest.c \ - mos1dist.c \ - mos1dset.c \ - mos1ext.h \ - mos1ic.c \ - mos1itf.h \ - mos1load.c \ - mos1mask.c \ - mos1mdel.c \ - mos1mpar.c \ - mos1noi.c \ - mos1par.c \ - mos1pzld.c \ - mos1sacl.c \ - mos1set.c \ - mos1sld.c \ - mos1sprt.c \ - mos1sset.c \ - mos1supd.c \ - mos1temp.c \ - mos1trun.c + mos1.c \ + mos1acld.c \ + mos1ask.c \ + mos1conv.c \ + mos1defs.h \ + mos1del.c \ + mos1dest.c \ + mos1dist.c \ + mos1dset.c \ + mos1ext.h \ + mos1ic.c \ + mos1init.c \ + mos1init.h \ + mos1itf.h \ + mos1load.c \ + mos1mask.c \ + mos1mdel.c \ + mos1mpar.c \ + mos1noi.c \ + mos1par.c \ + mos1pzld.c \ + mos1sacl.c \ + mos1set.c \ + mos1sld.c \ + mos1sprt.c \ + mos1sset.c \ + mos1supd.c \ + mos1temp.c \ + mos1trun.c diff --git a/src/spicelib/devices/mos1/mos1init.c b/src/spicelib/devices/mos1/mos1init.c new file mode 100644 index 000000000..915b65af0 --- /dev/null +++ b/src/spicelib/devices/mos1/mos1init.c @@ -0,0 +1,64 @@ +#include + +#include + +#include "mos1itf.h" +#include "mos1ext.h" +#include "mos1init.h" + + +SPICEdev MOS1info = { + { + "Mos1", + "Level 1 MOSfet model with Meyer capacitance model", + + &MOS1nSize, + &MOS1nSize, + MOS1names, + + &MOS1pTSize, + MOS1pTable, + + &MOS1mPTSize, + MOS1mPTable, + DEV_DEFAULT + }, + + DEVparam : MOS1param, + DEVmodParam : MOS1mParam, + DEVload : MOS1load, + DEVsetup : MOS1setup, + DEVunsetup : MOS1unsetup, + DEVpzSetup : MOS1setup, + DEVtemperature: MOS1temp, + DEVtrunc : MOS1trunc, + DEVfindBranch : NULL, + DEVacLoad : MOS1acLoad, + DEVaccept : NULL, + DEVdestroy : MOS1destroy, + DEVmodDelete : MOS1mDelete, + DEVdelete : MOS1delete, + DEVsetic : MOS1getic, + DEVask : MOS1ask, + DEVmodAsk : MOS1mAsk, + DEVpzLoad : MOS1pzLoad, + DEVconvTest : MOS1convTest, + DEVsenSetup : MOS1sSetup, + DEVsenLoad : MOS1sLoad, + DEVsenUpdate : MOS1sUpdate, + DEVsenAcLoad : MOS1sAcLoad, + DEVsenPrint : MOS1sPrint, + DEVsenTrunc : NULL, + DEVdisto : MOS1disto, + DEVnoise : MOS1noise, + + DEVinstSize : &MOS1iSize, + DEVmodSize : &MOS1mSize +}; + + +SPICEdev * +get_mos1_info(void) +{ + return &MOS1info; +} diff --git a/src/spicelib/devices/mos1/mos1itf.h b/src/spicelib/devices/mos1/mos1itf.h index 38ad3361c..18491393e 100644 --- a/src/spicelib/devices/mos1/mos1itf.h +++ b/src/spicelib/devices/mos1/mos1itf.h @@ -1,101 +1,9 @@ /********** Copyright 1990 Regents of the University of California. All rights reserved. **********/ -#ifdef DEV_mos1 - #ifndef DEV_MOS1 #define DEV_MOS1 -#include "mos1ext.h" -extern IFparm MOS1pTable[ ]; -extern IFparm MOS1mPTable[ ]; -extern char *MOS1names[ ]; -extern int MOS1pTSize; -extern int MOS1mPTSize; -extern int MOS1nSize; -extern int MOS1iSize; -extern int MOS1mSize; - -SPICEdev MOS1info = { - { - "Mos1", - "Level 1 MOSfet model with Meyer capacitance model", - - &MOS1nSize, - &MOS1nSize, - MOS1names, - - &MOS1pTSize, - MOS1pTable, - - &MOS1mPTSize, - MOS1mPTable, - DEV_DEFAULT - }, - - MOS1param, - MOS1mParam, - MOS1load, - MOS1setup, - MOS1unsetup, - MOS1setup, - MOS1temp, - MOS1trunc, - NULL, - MOS1acLoad, - NULL, - MOS1destroy, -#ifdef DELETES - MOS1mDelete, - MOS1delete, -#else /* DELETES */ - NULL, - NULL, -#endif /* DELETES */ - MOS1getic, - MOS1ask, - MOS1mAsk, -#ifdef AN_pz - MOS1pzLoad, -#else /* AN_pz */ - NULL, -#endif /* AN_pz */ -#ifdef NEWCONV - MOS1convTest, -#else /* NEWCONV */ - NULL, -#endif /* NEWCONV */ - -#ifdef AN_sense2 - MOS1sSetup, - MOS1sLoad, - MOS1sUpdate, - MOS1sAcLoad, - MOS1sPrint, - NULL, -#else /* AN_sense2 */ - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, -#endif /* AN_sense2 */ -#ifdef AN_disto - MOS1disto, -#else /* AN_disto */ - NULL, -#endif /* AN_disto */ -#ifdef AN_noise - MOS1noise, -#else /* AN_noise */ - NULL, -#endif /* AN_noise */ - - &MOS1iSize, - &MOS1mSize -}; - +extern SPICEdev *get_mos1_info(void); #endif -#endif diff --git a/src/spicelib/devices/mos2/Makefile.am b/src/spicelib/devices/mos2/Makefile.am index 9d4ff7f62..e43de05a9 100644 --- a/src/spicelib/devices/mos2/Makefile.am +++ b/src/spicelib/devices/mos2/Makefile.am @@ -2,35 +2,36 @@ pkglib_LTLIBRARIES = libmos2.la -libmos2_la_SOURCES = \ - mos2.c \ - mos2acld.c \ - mos2ask.c \ - mos2conv.c \ - mos2defs.h \ - mos2del.c \ - mos2dest.c \ - mos2dist.c \ - mos2dset.c \ - mos2ext.h \ - mos2ic.c \ - mos2itf.h \ - mos2load.c \ - mos2mask.c \ - mos2mdel.c \ - mos2mpar.c \ - mos2noi.c \ - mos2par.c \ - mos2pzld.c \ - mos2sacl.c \ - mos2set.c \ - mos2sld.c \ - mos2sprt.c \ - mos2sset.c \ - mos2supd.c \ - mos2temp.c \ - mos2trun.c - +libmos2_la_SOURCES = \ + mos2.c \ + mos2acld.c \ + mos2ask.c \ + mos2conv.c \ + mos2defs.h \ + mos2del.c \ + mos2dest.c \ + mos2dist.c \ + mos2dset.c \ + mos2ext.h \ + mos2ic.c \ + mos2init.c \ + mos2init.h \ + mos2itf.h \ + mos2load.c \ + mos2mask.c \ + mos2mdel.c \ + mos2mpar.c \ + mos2noi.c \ + mos2par.c \ + mos2pzld.c \ + mos2sacl.c \ + mos2set.c \ + mos2sld.c \ + mos2sprt.c \ + mos2sset.c \ + mos2supd.c \ + mos2temp.c \ + mos2trun.c INCLUDES = -I$(top_srcdir)/src/include diff --git a/src/spicelib/devices/mos2/mos2init.c b/src/spicelib/devices/mos2/mos2init.c new file mode 100644 index 000000000..70fd535b0 --- /dev/null +++ b/src/spicelib/devices/mos2/mos2init.c @@ -0,0 +1,64 @@ +#include + +#include + +#include "mos2itf.h" +#include "mos2ext.h" +#include "mos2init.h" + + +SPICEdev MOS2info = { + { + "Mos2", + "Level 2 MOSfet model with Meyer capacitance model", + + &MOS2nSize, + &MOS2nSize, + MOS2names, + + &MOS2pTSize, + MOS2pTable, + + &MOS2mPTSize, + MOS2mPTable, + DEV_DEFAULT + }, + + DEVparam : MOS2param, + DEVmodParam : MOS2mParam, + DEVload : MOS2load, + DEVsetup : MOS2setup, + DEVunsetup : MOS2unsetup, + DEVpzSetup : MOS2setup, + DEVtemperature: MOS2temp, + DEVtrunc : MOS2trunc, + DEVfindBranch : NULL, + DEVacLoad : MOS2acLoad, + DEVaccept : NULL, + DEVdestroy : MOS2destroy, + DEVmodDelete : MOS2mDelete, + DEVdelete : MOS2delete, + DEVsetic : MOS2getic, + DEVask : MOS2ask, + DEVmodAsk : MOS2mAsk, + DEVpzLoad : MOS2pzLoad, + DEVconvTest : MOS2convTest, + DEVsenSetup : MOS2sSetup, + DEVsenLoad : MOS2sLoad, + DEVsenUpdate : MOS2sUpdate, + DEVsenAcLoad : MOS2sAcLoad, + DEVsenPrint : MOS2sPrint, + DEVsenTrunc : NULL, + DEVdisto : MOS2disto, + DEVnoise : MOS2noise, + + DEVinstSize : &MOS2iSize, + DEVmodSize : &MOS2mSize +}; + + +SPICEdev * +get_mos2_info(void) +{ + return &MOS2info; +} diff --git a/src/spicelib/devices/mos2/mos2itf.h b/src/spicelib/devices/mos2/mos2itf.h index 7a57d8332..2d51c4a7d 100644 --- a/src/spicelib/devices/mos2/mos2itf.h +++ b/src/spicelib/devices/mos2/mos2itf.h @@ -1,101 +1,9 @@ /********** Copyright 1990 Regents of the University of California. All rights reserved. **********/ -#ifdef DEV_mos2 - #ifndef DEV_MOS2 #define DEV_MOS2 -#include "mos2ext.h" -extern IFparm MOS2pTable[ ]; -extern IFparm MOS2mPTable[ ]; -extern char *MOS2names[ ]; -extern int MOS2pTSize; -extern int MOS2mPTSize; -extern int MOS2nSize; -extern int MOS2iSize; -extern int MOS2mSize; - -SPICEdev MOS2info = { - { - "Mos2", - "Level 2 MOSfet model with Meyer capacitance model", - - &MOS2nSize, - &MOS2nSize, - MOS2names, - - &MOS2pTSize, - MOS2pTable, - - &MOS2mPTSize, - MOS2mPTable, - DEV_DEFAULT - }, - - MOS2param, - MOS2mParam, - MOS2load, - MOS2setup, - MOS2unsetup, - MOS2setup, - MOS2temp, - MOS2trunc, - NULL, - MOS2acLoad, - NULL, - MOS2destroy, -#ifdef DELETES - MOS2mDelete, - MOS2delete, -#else /* DELETES */ - NULL, - NULL, -#endif /* DELETES */ - MOS2getic, - MOS2ask, - MOS2mAsk, -#ifdef AN_pz - MOS2pzLoad, -#else /* AN_pz */ - NULL, -#endif /* AN_pz */ -#ifdef NEWCONV - MOS2convTest, -#else /* NEWCONV */ - NULL, -#endif /* NEWCONV */ - -#ifdef AN_sense2 - MOS2sSetup, - MOS2sLoad, - MOS2sUpdate, - MOS2sAcLoad, - MOS2sPrint, - NULL, -#else /* AN_sense2 */ - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, -#endif /* AN_sense2 */ -#ifdef AN_disto - MOS2disto, -#else /* AN_disto */ - NULL, -#endif /* AN_disto */ -#ifdef AN_noise - MOS2noise, -#else /* AN_noise */ - NULL, -#endif /* AN_noise */ - - &MOS2iSize, - &MOS2mSize -}; - +SPICEdev *get_mos2_info(void); #endif -#endif diff --git a/src/spicelib/devices/mos3/Makefile.am b/src/spicelib/devices/mos3/Makefile.am index 0006ec791..ea4407ffa 100644 --- a/src/spicelib/devices/mos3/Makefile.am +++ b/src/spicelib/devices/mos3/Makefile.am @@ -2,35 +2,36 @@ pkglib_LTLIBRARIES = libmos3.la -libmos3_la_SOURCES = \ - mos3.c \ - mos3acld.c \ - mos3ask.c \ - mos3conv.c \ - mos3defs.h \ - mos3del.c \ - mos3dest.c \ - mos3dist.c \ - mos3dset.c \ - mos3ext.h \ - mos3ic.c \ - mos3itf.h \ - mos3load.c \ - mos3mask.c \ - mos3mdel.c \ - mos3mpar.c \ - mos3noi.c \ - mos3par.c \ - mos3pzld.c \ - mos3sacl.c \ - mos3set.c \ - mos3sld.c \ - mos3sprt.c \ - mos3sset.c \ - mos3supd.c \ - mos3temp.c \ - mos3trun.c - +libmos3_la_SOURCES = \ + mos3.c \ + mos3acld.c \ + mos3ask.c \ + mos3conv.c \ + mos3defs.h \ + mos3del.c \ + mos3dest.c \ + mos3dist.c \ + mos3dset.c \ + mos3ext.h \ + mos3ic.c \ + mos3init.c \ + mos3init.h \ + mos3itf.h \ + mos3load.c \ + mos3mask.c \ + mos3mdel.c \ + mos3mpar.c \ + mos3noi.c \ + mos3par.c \ + mos3pzld.c \ + mos3sacl.c \ + mos3set.c \ + mos3sld.c \ + mos3sprt.c \ + mos3sset.c \ + mos3supd.c \ + mos3temp.c \ + mos3trun.c INCLUDES = -I$(top_srcdir)/src/include diff --git a/src/spicelib/devices/mos3/mos3init.c b/src/spicelib/devices/mos3/mos3init.c new file mode 100644 index 000000000..4c847b5f5 --- /dev/null +++ b/src/spicelib/devices/mos3/mos3init.c @@ -0,0 +1,65 @@ +#include + +#include + +#include "mos3itf.h" +#include "mos3ext.h" +#include "mos3init.h" + + +SPICEdev MOS3info = { + { + "Mos3", + "Level 3 MOSfet model with Meyer capacitance model", + + &MOS3nSize, + &MOS3nSize, + MOS3names, + + &MOS3pTSize, + MOS3pTable, + + &MOS3mPTSize, + MOS3mPTable, + DEV_DEFAULT + }, + + DEVparam : MOS3param, + DEVmodParam : MOS3mParam, + DEVload : MOS3load, + DEVsetup : MOS3setup, + DEVunsetup : MOS3unsetup, + DEVpzSetup : MOS3setup, + DEVtemperature: MOS3temp, + DEVtrunc : MOS3trunc, + DEVfindBranch : NULL, + DEVacLoad : MOS3acLoad, + DEVaccept : NULL, + DEVdestroy : MOS3destroy, + DEVmodDelete : MOS3mDelete, + DEVdelete : MOS3delete, + DEVsetic : MOS3getic, + DEVask : MOS3ask, + DEVmodAsk : MOS3mAsk, + DEVpzLoad : MOS3pzLoad, + DEVconvTest : MOS3convTest, + DEVsenSetup : MOS3sSetup, + DEVsenLoad : MOS3sLoad, + DEVsenUpdate : MOS3sUpdate, + DEVsenAcLoad : MOS3sAcLoad, + DEVsenPrint : MOS3sPrint, + DEVsenTrunc : NULL, + DEVdisto : MOS3disto, + DEVnoise : MOS3noise, + + DEVinstSize : &MOS3iSize, + DEVmodSize : &MOS3mSize + +}; + + +SPICEdev * +get_mos3_info(void) +{ + return &MOS3info; +} diff --git a/src/spicelib/devices/mos3/mos3itf.h b/src/spicelib/devices/mos3/mos3itf.h index 27069b8fa..e7c301cd7 100644 --- a/src/spicelib/devices/mos3/mos3itf.h +++ b/src/spicelib/devices/mos3/mos3itf.h @@ -1,101 +1,9 @@ /********** Copyright 1990 Regents of the University of California. All rights reserved. **********/ -#ifdef DEV_mos3 - #ifndef DEV_MOS3 #define DEV_MOS3 -#include "mos3ext.h" -extern IFparm MOS3pTable[ ]; -extern IFparm MOS3mPTable[ ]; -extern char *MOS3names[ ]; -extern int MOS3pTSize; -extern int MOS3mPTSize; -extern int MOS3nSize; -extern int MOS3iSize; -extern int MOS3mSize; - -SPICEdev MOS3info = { - { - "Mos3", - "Level 3 MOSfet model with Meyer capacitance model", - - &MOS3nSize, - &MOS3nSize, - MOS3names, - - &MOS3pTSize, - MOS3pTable, - - &MOS3mPTSize, - MOS3mPTable, - DEV_DEFAULT - }, - - MOS3param, - MOS3mParam, - MOS3load, - MOS3setup, - MOS3unsetup, - MOS3setup, - MOS3temp, - MOS3trunc, - NULL, - MOS3acLoad, - NULL, - MOS3destroy, -#ifdef DELETES - MOS3mDelete, - MOS3delete, -#else /* DELETES */ - NULL, - NULL, -#endif /* DELETES */ - MOS3getic, - MOS3ask, - MOS3mAsk, -#ifdef AN_pz - MOS3pzLoad, -#else /* AN_pz */ - NULL, -#endif /* AN_pz */ -#ifdef NEWCONV - MOS3convTest, -#else /* NEWCONV */ - NULL, -#endif /* NEWCONV */ - -#ifdef AN_sense2 - MOS3sSetup, - MOS3sLoad, - MOS3sUpdate, - MOS3sAcLoad, - MOS3sPrint, - NULL, -#else /* AN_sense2 */ - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, -#endif /* AN_sense2 */ -#ifdef AN_disto - MOS3disto, -#else /* AN_disto */ - NULL, -#endif /* AN_disto */ -#ifdef AN_noise - MOS3noise, -#else /* AN_noise */ - NULL, -#endif /* AN_noise */ - - &MOS3iSize, - &MOS3mSize - -}; +SPICEdev *get_mos3_info(void); #endif -#endif diff --git a/src/spicelib/devices/mos6/Makefile.am b/src/spicelib/devices/mos6/Makefile.am index 8d59aa0df..beaf1e061 100644 --- a/src/spicelib/devices/mos6/Makefile.am +++ b/src/spicelib/devices/mos6/Makefile.am @@ -2,22 +2,24 @@ pkglib_LTLIBRARIES = libmos6.la -libmos6_la_SOURCES = \ - mos6.c \ - mos6ask.c \ - mos6conv.c \ - mos6defs.h \ - mos6dest.c \ - mos6ext.h \ - mos6ic.c \ - mos6itf.h \ - mos6load.c \ - mos6mask.c \ - mos6mpar.c \ - mos6par.c \ - mos6set.c \ - mos6temp.c \ - mos6trun.c +libmos6_la_SOURCES = \ + mos6.c \ + mos6ask.c \ + mos6conv.c \ + mos6defs.h \ + mos6dest.c \ + mos6ext.h \ + mos6ic.c \ + mos6init.c \ + mos6init.h \ + mos6itf.h \ + mos6load.c \ + mos6mask.c \ + mos6mpar.c \ + mos6par.c \ + mos6set.c \ + mos6temp.c \ + mos6trun.c diff --git a/src/spicelib/devices/mos6/mos6init.c b/src/spicelib/devices/mos6/mos6init.c new file mode 100644 index 000000000..06c6e908f --- /dev/null +++ b/src/spicelib/devices/mos6/mos6init.c @@ -0,0 +1,64 @@ +#include + +#include + +#include "mos6itf.h" +#include "mos6ext.h" +#include "mos6init.h" + + +SPICEdev MOS6info = { + { + "Mos6", + "Level 6 MOSfet model with Meyer capacitance model", + + &MOS6nSize, + &MOS6nSize, + MOS6names, + + &MOS6pTSize, + MOS6pTable, + + &MOS6mPTSize, + MOS6mPTable, + DEV_DEFAULT + }, + + DEVparam : MOS6param, + DEVmodParam : MOS6mParam, + DEVload : MOS6load, + DEVsetup : MOS6setup, + DEVunsetup : MOS6unsetup, + DEVpzSetup : NULL, /* PZsetup routine */ + DEVtemperature: MOS6temp, + DEVtrunc : MOS6trunc, + DEVfindBranch : NULL, + DEVacLoad : NULL, /* MOS6acLoad, XXX */ + DEVaccept : NULL, + DEVdestroy : MOS6destroy, + DEVmodDelete : NULL, + DEVdelete : NULL, + DEVsetic : MOS6getic, + DEVask : MOS6ask, + DEVmodAsk : MOS6mAsk, + DEVpzLoad : NULL, /*MOS6pzLoad, XXX */ + DEVconvTest : MOS6convTest, + DEVsenSetup : NULL /* MOS6sSetup */, + DEVsenLoad : NULL /* MOS6sLoad */, + DEVsenUpdate : NULL /* MOS6sUpdate */, + DEVsenAcLoad : NULL /* MOS6sAcLoad */, + DEVsenPrint : NULL /* MOS6sPrint */, + DEVsenTrunc : NULL, + DEVdisto : NULL, /* Distortion routine */ + DEVnoise : NULL, /* Noise routine */ + + DEVinstSize : &MOS6iSize, + DEVmodSize : &MOS6mSize +}; + + +SPICEdev * +get_mos6_info(void) +{ + return &MOS6info; +} diff --git a/src/spicelib/devices/mos6/mos6itf.h b/src/spicelib/devices/mos6/mos6itf.h index b4951e05d..7b7fa6951 100644 --- a/src/spicelib/devices/mos6/mos6itf.h +++ b/src/spicelib/devices/mos6/mos6itf.h @@ -3,75 +3,9 @@ Copyright 1990 Regents of the University of California. All rights reserved. Author: 1989 T. Sakurai Modified: 1999 Paolo Nenzi **********/ -#ifdef DEV_mos6 - #ifndef DEV_MOS6 #define DEV_MOS6 -#include "mos6ext.h" -extern IFparm MOS6pTable[ ]; -extern IFparm MOS6mPTable[ ]; -extern char *MOS6names[ ]; -extern int MOS6nSize; -extern int MOS6pTSize; -extern int MOS6mPTSize; -extern int MOS6iSize; -extern int MOS6mSize; - -SPICEdev MOS6info = { - { - "Mos6", - "Level 6 MOSfet model with Meyer capacitance model", - - &MOS6nSize, - &MOS6nSize, - MOS6names, - - &MOS6pTSize, - MOS6pTable, - - &MOS6mPTSize, - MOS6mPTable, - DEV_DEFAULT - }, - - MOS6param, - MOS6mParam, - MOS6load, - MOS6setup, - MOS6unsetup, - NULL, /* PZsetup routine */ - MOS6temp, - MOS6trunc, - NULL, - NULL, /* MOS6acLoad, XXX */ - NULL, - MOS6destroy, - NULL, /* DELETES */ - NULL,/* DELETES */ - MOS6getic, - MOS6ask, - MOS6mAsk, - NULL, /*MOS6pzLoad, XXX */ -#ifdef NEWCONV - MOS6convTest, -#else /* NEWCONV */ - NULL, -#endif /* NEWCONV */ - - NULL /* MOS6sSetup */, - NULL /* MOS6sLoad */, - NULL /* MOS6sUpdate */, - NULL /* MOS6sAcLoad */, - NULL /* MOS6sPrint */, - NULL, - NULL, /* Distortion routine */ - NULL, /* Noise routine */ - - - &MOS6iSize, - &MOS6mSize -}; +SPICEdev *get_mos6_info(void); #endif -#endif diff --git a/src/spicelib/devices/res/Makefile.am b/src/spicelib/devices/res/Makefile.am index bf50f74ad..1b6abeab7 100644 --- a/src/spicelib/devices/res/Makefile.am +++ b/src/spicelib/devices/res/Makefile.am @@ -3,26 +3,28 @@ pkglib_LTLIBRARIES = libres.la libres_la_SOURCES = \ - res.c \ - resask.c \ - resdefs.h \ - resdel.c \ - resdest.c \ - resext.h \ - resitf.h \ - resload.c \ - resmask.c \ - resmdel.c \ - resmpar.c \ - resnoise.c \ - resparam.c \ - respzld.c \ - ressacl.c \ - ressetup.c \ - ressload.c \ - ressprt.c \ - ressset.c \ - restemp.c + res.c \ + resask.c \ + resdefs.h \ + resdel.c \ + resdest.c \ + resext.h \ + resinit.c \ + resinit.h \ + resitf.h \ + resload.c \ + resmask.c \ + resmdel.c \ + resmpar.c \ + resnoise.c \ + resparam.c \ + respzld.c \ + ressacl.c \ + ressetup.c \ + ressload.c \ + ressprt.c \ + ressset.c \ + restemp.c diff --git a/src/spicelib/devices/res/resinit.c b/src/spicelib/devices/res/resinit.c new file mode 100644 index 000000000..d7780225e --- /dev/null +++ b/src/spicelib/devices/res/resinit.c @@ -0,0 +1,65 @@ +#include + +#include + +#include "resitf.h" +#include "resext.h" +#include "resinit.h" + + +SPICEdev RESinfo = { + { + "Resistor", + "Simple linear resistor", + + &RESnSize, + &RESnSize, + RESnames, + + &RESpTSize, + RESpTable, + + &RESmPTSize, + RESmPTable, + 0 + }, + + DEVparam : RESparam, + DEVmodParam : RESmParam, + DEVload : RESload, + DEVsetup : RESsetup, + DEVunsetup : NULL, + DEVpzSetup : RESsetup, + DEVtemperature: REStemp, + DEVtrunc : NULL, + DEVfindBranch : NULL, + DEVacLoad : RESacload, /* ac load and normal load are identical */ + DEVaccept : NULL, + DEVdestroy : RESdestroy, + DEVmodDelete : RESmDelete, + DEVdelete : RESdelete, + DEVsetic : NULL, + DEVask : RESask, + DEVmodAsk : RESmodAsk, + DEVpzLoad : RESpzLoad, + DEVconvTest : NULL, + DEVsenSetup : RESsSetup, + DEVsenLoad : RESsLoad, + DEVsenUpdate : NULL, + DEVsenAcLoad : RESsAcLoad, + DEVsenPrint : RESsPrint, + DEVsenTrunc : NULL, + DEVdisto : NULL, + DEVnoise : RESnoise, + + DEVinstSize : &RESiSize, + DEVmodSize : &RESmSize + +}; + + +SPICEdev * +get_res_info(void) +{ + return &RESinfo; +} diff --git a/src/spicelib/devices/res/resitf.h b/src/spicelib/devices/res/resitf.h index bfc6a7e8c..0d6d48a6c 100644 --- a/src/spicelib/devices/res/resitf.h +++ b/src/spicelib/devices/res/resitf.h @@ -1,93 +1,9 @@ /********** Copyright 1990 Regents of the University of California. All rights reserved. **********/ -#ifdef DEV_res - #ifndef DEV_RES #define DEV_RES -#include "resext.h" -extern IFparm RESpTable[ ]; -extern IFparm RESmPTable[ ]; -extern char *RESnames[ ]; -extern int RESpTSize; -extern int RESmPTSize; -extern int RESnSize; -extern int RESiSize; -extern int RESmSize; - -SPICEdev RESinfo = { - { - "Resistor", - "Simple linear resistor", - - &RESnSize, - &RESnSize, - RESnames, - - &RESpTSize, - RESpTable, - - &RESmPTSize, - RESmPTable, - 0 - }, - - RESparam, - RESmParam, - RESload, - RESsetup, - NULL, - RESsetup, - REStemp, - NULL, - NULL, -/* serban - added ac support */ - RESacload, /* ac load and normal load are identical */ - NULL, - RESdestroy, -#ifdef DELETES - RESmDelete, - RESdelete, -#else /* DELETES */ - NULL, - NULL, -#endif /* DELETES */ - NULL, - RESask, - RESmodAsk, -#ifdef AN_pz - RESpzLoad, -#else /* AN_pz */ - NULL, -#endif /* AN_pz */ - NULL, -#ifdef AN_sense2 - RESsSetup, - RESsLoad, - NULL, - RESsAcLoad, - RESsPrint, - NULL, -#else /* AN_sense2 */ - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, -#endif /* AN_sense2 */ - NULL, /* Disto */ -#ifdef AN_noise - RESnoise, -#else /* AN_noise */ - NULL, -#endif /* AN_noise */ - - &RESiSize, - &RESmSize - -}; +SPICEdev *get_res_info(void); #endif -#endif diff --git a/src/spicelib/devices/sw/Makefile.am b/src/spicelib/devices/sw/Makefile.am index cd450566c..0802f8cb6 100644 --- a/src/spicelib/devices/sw/Makefile.am +++ b/src/spicelib/devices/sw/Makefile.am @@ -2,23 +2,25 @@ pkglib_LTLIBRARIES = libsw.la -libsw_la_SOURCES = \ - sw.c \ - swacload.c \ - swask.c \ - swdefs.h \ - swdelete.c \ - swdest.c \ - swext.h \ - switf.h \ - swload.c \ - swmask.c \ - swmdel.c \ - swmparam.c \ - swnoise.c \ - swparam.c \ - swpzload.c \ - swsetup.c +libsw_la_SOURCES = \ + sw.c \ + swacload.c \ + swask.c \ + swdefs.h \ + swdelete.c \ + swdest.c \ + swext.h \ + swinit.c \ + swinit.h \ + switf.h \ + swload.c \ + swmask.c \ + swmdel.c \ + swmparam.c \ + swnoise.c \ + swparam.c \ + swpzload.c \ + swsetup.c diff --git a/src/spicelib/devices/sw/swinit.c b/src/spicelib/devices/sw/swinit.c new file mode 100644 index 000000000..8e3473f28 --- /dev/null +++ b/src/spicelib/devices/sw/swinit.c @@ -0,0 +1,65 @@ +#include + +#include + +#include "switf.h" +#include "swext.h" +#include "swinit.h" + + +SPICEdev SWinfo = { + { + "Switch", + "Ideal voltage controlled switch", + + &SWnSize, + &SWnSize, + SWnames, + + &SWpTSize, + SWpTable, + + &SWmPTSize, + SWmPTable, + 0 + }, + + DEVparam : SWparam, + DEVmodParam : SWmParam, + DEVload : SWload, + DEVsetup : SWsetup, + DEVunsetup : NULL, + DEVpzSetup : SWsetup, + DEVtemperature: NULL, + DEVtrunc : NULL, + DEVfindBranch : NULL, + DEVacLoad : SWacLoad, + DEVaccept : NULL, + DEVdestroy : SWdestroy, + DEVmodDelete : SWmDelete, + DEVdelete : SWdelete, + DEVsetic : NULL, + DEVask : SWask, + DEVmodAsk : SWmAsk, + DEVpzLoad : SWpzLoad, + DEVconvTest : NULL, + DEVsenSetup : NULL, + DEVsenLoad : NULL, + DEVsenUpdate : NULL, + DEVsenAcLoad : NULL, + DEVsenPrint : NULL, + DEVsenTrunc : NULL, + DEVdisto : NULL, /* DISTO */ + DEVnoise : SWnoise, + + DEVinstSize : &SWiSize, + DEVmodSize : &SWmSize + +}; + + +SPICEdev * +get_sw_info(void) +{ + return &SWinfo; +} diff --git a/src/spicelib/devices/sw/switf.h b/src/spicelib/devices/sw/switf.h index eb292972f..0aee8110c 100644 --- a/src/spicelib/devices/sw/switf.h +++ b/src/spicelib/devices/sw/switf.h @@ -1,83 +1,9 @@ /********** Copyright 1990 Regents of the University of California. All rights reserved. **********/ -#ifdef DEV_sw - #ifndef DEV_SW #define DEV_SW -#include "swext.h" -extern IFparm SWpTable[ ]; -extern IFparm SWmPTable[ ]; -extern char *SWnames[ ]; -extern int SWpTSize; -extern int SWmPTSize; -extern int SWnSize; -extern int SWiSize; -extern int SWmSize; - -SPICEdev SWinfo = { - { - "Switch", - "Ideal voltage controlled switch", - - &SWnSize, - &SWnSize, - SWnames, - - &SWpTSize, - SWpTable, - - &SWmPTSize, - SWmPTable, - 0 - }, - - SWparam, - SWmParam, - SWload, - SWsetup, - NULL, - SWsetup, - NULL, - NULL, - NULL, - SWacLoad, - NULL, - SWdestroy, -#ifdef DELETES - SWmDelete, - SWdelete, -#else /* DELETES */ - NULL, - NULL, -#endif /* DELETES */ - NULL, - SWask, - SWmAsk, -#ifdef AN_pz - SWpzLoad, -#else /* AN_pz */ - NULL, -#endif /* AN_pz */ - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, /* DISTO */ -#ifdef AN_noise - SWnoise, -#else /* AN_noise */ - NULL, -#endif /* AN_noise */ - - &SWiSize, - &SWmSize - -}; +extern SPICEdev *get_sw_info(void); #endif -#endif diff --git a/src/spicelib/devices/tra/Makefile.am b/src/spicelib/devices/tra/Makefile.am index 669b84e84..8eed1f73d 100644 --- a/src/spicelib/devices/tra/Makefile.am +++ b/src/spicelib/devices/tra/Makefile.am @@ -2,23 +2,24 @@ pkglib_LTLIBRARIES = libtra.la -libtra_la_SOURCES = \ - tra.c \ - traacct.c \ - traacld.c \ - traask.c \ - tradefs.h \ - tradel.c \ - tradest.c \ - traext.h \ - traitf.h \ - traload.c \ - tramdel.c \ - traparam.c \ - trasetup.c \ - tratemp.c \ - tratrunc.c - +libtra_la_SOURCES = \ + tra.c \ + traacct.c \ + traacld.c \ + traask.c \ + tradefs.h \ + tradel.c \ + tradest.c \ + traext.h \ + trainit.c \ + trainit.h \ + traitf.h \ + traload.c \ + tramdel.c \ + traparam.c \ + trasetup.c \ + tratemp.c \ + tratrunc.c INCLUDES = -I$(top_srcdir)/src/include diff --git a/src/spicelib/devices/tra/trainit.c b/src/spicelib/devices/tra/trainit.c new file mode 100644 index 000000000..4346fc871 --- /dev/null +++ b/src/spicelib/devices/tra/trainit.c @@ -0,0 +1,64 @@ +#include + +#include + +#include "traitf.h" +#include "traext.h" + + +SPICEdev TRAinfo = { + { + "Tranline", + "Lossless transmission line", + + &TRAnSize, + &TRAnSize, + TRAnames, + + &TRApTSize, + TRApTable, + + 0, + NULL, + 0 + }, + + DEVparam : TRAparam, + DEVmodParam : NULL, + DEVload : TRAload, + DEVsetup : TRAsetup, + DEVunsetup : TRAunsetup, + DEVpzSetup : TRAsetup, + DEVtemperature: TRAtemp, + DEVtrunc : TRAtrunc, + DEVfindBranch : NULL, + DEVacLoad : TRAacLoad, + DEVaccept : TRAaccept, + DEVdestroy : TRAdestroy, + DEVmodDelete : TRAmDelete, + DEVdelete : TRAdelete, + DEVsetic : NULL, + DEVask : TRAask, + DEVmodAsk : NULL, + DEVpzLoad : NULL, + DEVconvTest : NULL, + DEVsenSetup : NULL, + DEVsenLoad : NULL, + DEVsenUpdate : NULL, + DEVsenAcLoad : NULL, + DEVsenPrint : NULL, + DEVsenTrunc : NULL, + DEVdisto : NULL, /* DISTO */ + DEVnoise : NULL, /* NOISE */ + + DEVinstSize : &TRAiSize, + DEVmodSize : &TRAmSize + +}; + + +SPICEdev * +get_tra_info(void) +{ + return &TRAinfo; +} diff --git a/src/spicelib/devices/tra/traitf.h b/src/spicelib/devices/tra/traitf.h index 9e515a84f..0ba2a2ef8 100644 --- a/src/spicelib/devices/tra/traitf.h +++ b/src/spicelib/devices/tra/traitf.h @@ -1,74 +1,9 @@ /********** Copyright 1990 Regents of the University of California. All rights reserved. **********/ -#ifdef DEV_tra - #ifndef DEV_TRA #define DEV_TRA -#include "traext.h" -extern IFparm TRApTable[ ]; -extern char *TRAnames[ ]; -extern int TRApTSize; -extern int TRAnSize; -extern int TRAiSize; -extern int TRAmSize; - -SPICEdev TRAinfo = { - { - "Tranline", - "Lossless transmission line", - - &TRAnSize, - &TRAnSize, - TRAnames, - - &TRApTSize, - TRApTable, - - 0, - NULL, - 0 - }, - - TRAparam, - NULL, - TRAload, - TRAsetup, - TRAunsetup, - TRAsetup, - TRAtemp, - TRAtrunc, - NULL, - TRAacLoad, - TRAaccept, - TRAdestroy, -#ifdef DELETES - TRAmDelete, - TRAdelete, -#else /* DELETES */ - NULL, - NULL, -#endif /* DELETES */ - NULL, - TRAask, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, /* DISTO */ - NULL, /* NOISE */ - - &TRAiSize, - &TRAmSize - -}; - +SPICEdev *get_tra_info(void); #endif -#endif diff --git a/src/spicelib/devices/urc/Makefile.am b/src/spicelib/devices/urc/Makefile.am index bee09e353..b5de9045c 100644 --- a/src/spicelib/devices/urc/Makefile.am +++ b/src/spicelib/devices/urc/Makefile.am @@ -2,19 +2,21 @@ pkglib_LTLIBRARIES = liburc.la -liburc_la_SOURCES = \ - urc.c \ - urcask.c \ - urcdefs.h \ - urcdel.c \ - urcdest.c \ - urcext.h \ - urcitf.h \ - urcmask.c \ - urcmdel.c \ - urcmpar.c \ - urcparam.c \ - urcsetup.c +liburc_la_SOURCES = \ + urc.c \ + urcask.c \ + urcdefs.h \ + urcdel.c \ + urcdest.c \ + urcext.h \ + urcinit.c \ + urcinit.h \ + urcitf.h \ + urcmask.c \ + urcmdel.c \ + urcmpar.c \ + urcparam.c \ + urcsetup.c diff --git a/src/spicelib/devices/urc/urcext.h b/src/spicelib/devices/urc/urcext.h index 0b58b9ade..4cfe4172c 100644 --- a/src/spicelib/devices/urc/urcext.h +++ b/src/spicelib/devices/urc/urcext.h @@ -2,8 +2,9 @@ Copyright 1990 Regents of the University of California. All rights reserved. Author: 1985 Thomas L. Quarles **********/ +#ifndef _URCEXT_H +#define _URCEXT_H -#ifdef __STDC__ extern int URCask(CKTcircuit*,GENinstance*,int,IFvalue*,IFvalue*); extern int URCdelete(GENmodel*,IFuid,GENinstance**); extern void URCdestroy(GENmodel**); @@ -13,14 +14,5 @@ extern int URCmParam(int,IFvalue*,GENmodel*); extern int URCparam(int,IFvalue*,GENinstance*,IFvalue*); extern int URCsetup(SMPmatrix*,GENmodel*,CKTcircuit*,int*); extern int URCunsetup(GENmodel*,CKTcircuit*); -#else /* stdc */ -extern int URCask(); -extern int URCdelete(); -extern void URCdestroy(); -extern int URCmAsk(); -extern int URCmDelete(); -extern int URCmParam(); -extern int URCparam(); -extern int URCsetup(); -extern int URCunsetup(); -#endif /* stdc */ + +#endif diff --git a/src/spicelib/devices/urc/urcinit.c b/src/spicelib/devices/urc/urcinit.c new file mode 100644 index 000000000..b28c413db --- /dev/null +++ b/src/spicelib/devices/urc/urcinit.c @@ -0,0 +1,65 @@ +#include + +#include + +#include "urcitf.h" +#include "urcext.h" +#include "urcinit.h" + + +SPICEdev URCinfo = { + { + "URC", /* MUST precede both resistors and capacitors */ + "Uniform R.C. line", + + &URCnSize, + &URCnSize, + URCnames, + + &URCpTSize, + URCpTable, + + &URCmPTSize, + URCmPTable, + 0 + }, + + DEVparam : URCparam, + DEVmodParam : URCmParam, + DEVload : NULL, + DEVsetup : URCsetup, + DEVunsetup : URCunsetup, + DEVpzSetup : URCsetup, + DEVtemperature: NULL, + DEVtrunc : NULL, + DEVfindBranch : NULL, + DEVacLoad : NULL, + DEVaccept : NULL, + DEVdestroy : URCdestroy, + DEVmodDelete : URCmDelete, + DEVdelete : URCdelete, + DEVsetic : NULL, + DEVask : URCask, + DEVmodAsk : URCmAsk, + DEVpzLoad : NULL, + DEVconvTest : NULL, + DEVsenSetup : NULL, + DEVsenLoad : NULL, + DEVsenUpdate : NULL, + DEVsenAcLoad : NULL, + DEVsenPrint : NULL, + DEVsenTrunc : NULL, + DEVdisto : NULL, /* DISTO */ + DEVnoise : NULL, /* NOISE */ + + DEVinstSize : &URCiSize, + DEVmodSize : &URCmSize + +}; + + +SPICEdev * +get_urc_info(void) +{ + return &URCinfo; +} diff --git a/src/spicelib/devices/urc/urcitf.h b/src/spicelib/devices/urc/urcitf.h index ce9cefeb6..8cd534c75 100644 --- a/src/spicelib/devices/urc/urcitf.h +++ b/src/spicelib/devices/urc/urcitf.h @@ -1,76 +1,9 @@ /********** Copyright 1990 Regents of the University of California. All rights reserved. **********/ -#ifdef DEV_urc - #ifndef DEV_URC #define DEV_URC -#include "urcext.h" -extern IFparm URCpTable[ ]; -extern IFparm URCmPTable[ ]; -extern char *URCnames[ ]; -extern int URCpTSize; -extern int URCmPTSize; -extern int URCnSize; -extern int URCiSize; -extern int URCmSize; - -SPICEdev URCinfo = { - { - "URC", /* MUST precede both resistors and capacitors */ - "Uniform R.C. line", - - &URCnSize, - &URCnSize, - URCnames, - - &URCpTSize, - URCpTable, - - &URCmPTSize, - URCmPTable, - 0 - }, - - URCparam, - URCmParam, - NULL, - URCsetup, - URCunsetup, - URCsetup, - NULL, - NULL, - NULL, - NULL, - NULL, - URCdestroy, -#ifdef DELETES - URCmDelete, - URCdelete, -#else /* DELETES */ - NULL, - NULL, -#endif /* DELETES */ - NULL, - URCask, - URCmAsk, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, /* DISTO */ - NULL, /* NOISE */ - - &URCiSize, - &URCmSize - -}; - +extern SPICEdev *get_urc_info(void); #endif -#endif diff --git a/src/spicelib/devices/vccs/Makefile.am b/src/spicelib/devices/vccs/Makefile.am index 96dd6506e..34a64e6ef 100644 --- a/src/spicelib/devices/vccs/Makefile.am +++ b/src/spicelib/devices/vccs/Makefile.am @@ -2,23 +2,25 @@ pkglib_LTLIBRARIES = libvccs.la -libvccs_la_SOURCES = \ - vccs.c \ - vccsask.c \ - vccsdefs.h \ - vccsdel.c \ - vccsdest.c \ - vccsext.h \ - vccsitf.h \ - vccsload.c \ - vccsmdel.c \ - vccspar.c \ - vccspzld.c \ - vccssacl.c \ - vccsset.c \ - vccssld.c \ - vccssprt.c \ - vccssset.c +libvccs_la_SOURCES = \ + vccs.c \ + vccsask.c \ + vccsdefs.h \ + vccsdel.c \ + vccsdest.c \ + vccsext.h \ + vccsinit.c \ + vccsinit.h \ + vccsitf.h \ + vccsload.c \ + vccsmdel.c \ + vccspar.c \ + vccspzld.c \ + vccssacl.c \ + vccsset.c \ + vccssld.c \ + vccssprt.c \ + vccssset.c diff --git a/src/spicelib/devices/vccs/vccsinit.c b/src/spicelib/devices/vccs/vccsinit.c new file mode 100644 index 000000000..65b5504ac --- /dev/null +++ b/src/spicelib/devices/vccs/vccsinit.c @@ -0,0 +1,66 @@ +#include + +#include + +#include "vccsitf.h" +#include "vccsext.h" +#include "vccsinit.h" + + +SPICEdev VCCSinfo = { + { + "VCCS", + "Voltage controlled current source", + + &VCCSnSize, + &VCCSnSize, + VCCSnames, + + &VCCSpTSize, + VCCSpTable, + + 0, + NULL, + DEV_DEFAULT + }, + + DEVparam : VCCSparam, + DEVmodParam : NULL, + DEVload : VCCSload, + DEVsetup : VCCSsetup, + DEVunsetup : NULL, + DEVpzSetup : VCCSsetup, + DEVtemperature: NULL, + DEVtrunc : NULL, + DEVfindBranch : NULL, + DEVacLoad : VCCSload, /* ac and normal loads are identical */ + DEVaccept : NULL, + DEVdestroy : VCCSdestroy, + DEVmodDelete : VCCSmDelete, + DEVdelete : VCCSdelete, + DEVsetic : NULL, + DEVask : VCCSask, + DEVmodAsk : NULL, + DEVpzLoad : VCCSpzLoad, + DEVconvTest : NULL, + DEVsenSetup : VCCSsSetup, + DEVsenLoad : VCCSsLoad, + DEVsenUpdate : NULL, + DEVsenAcLoad : VCCSsAcLoad, + DEVsenPrint : VCCSsPrint, + DEVsenTrunc : NULL, + DEVdisto : NULL, /* DISTO */ + DEVnoise : NULL, /* NOISE */ + + DEVinstSize : &VCCSiSize, + DEVmodSize : &VCCSmSize + + +}; + + +SPICEdev * +get_vccs_info(void) +{ + return &VCCSinfo; +} diff --git a/src/spicelib/devices/vccs/vccsitf.h b/src/spicelib/devices/vccs/vccsitf.h index 2850a8846..2427acb4d 100644 --- a/src/spicelib/devices/vccs/vccsitf.h +++ b/src/spicelib/devices/vccs/vccsitf.h @@ -1,88 +1,9 @@ /********** Copyright 1990 Regents of the University of California. All rights reserved. **********/ -#ifdef DEV_vccs - #ifndef DEV_VCCS #define DEV_VCCS -#include "vccsext.h" -extern IFparm VCCSpTable[ ]; -extern char *VCCSnames[ ]; -extern int VCCSpTSize; -extern int VCCSnSize; -extern int VCCSiSize; -extern int VCCSmSize; - -SPICEdev VCCSinfo = { - { - "VCCS", - "Voltage controlled current source", - - &VCCSnSize, - &VCCSnSize, - VCCSnames, - - &VCCSpTSize, - VCCSpTable, - - 0, - NULL, - DEV_DEFAULT - }, - - VCCSparam, - NULL, - VCCSload, - VCCSsetup, - NULL, - VCCSsetup, - NULL, - NULL, - NULL, - VCCSload, /* ac and normal loads are identical */ - NULL, - VCCSdestroy, -#ifdef DELETES - VCCSmDelete, - VCCSdelete, -#else /* DELETES */ - NULL, - NULL, -#endif /* DELETES */ - NULL, - VCCSask, - NULL, -#ifdef AN_pz - VCCSpzLoad, -#else /* AN_pz */ - NULL, -#endif /* AN_pz */ - NULL, -#ifdef AN_sense2 - VCCSsSetup, - VCCSsLoad, - NULL, - VCCSsAcLoad, - VCCSsPrint, - NULL, -#else /* AN_sense2 */ - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, -#endif /* AN_sense2 */ - NULL, /* DISTO */ - NULL, /* NOISE */ - - &VCCSiSize, - &VCCSmSize - - -}; - +extern SPICEdev *get_vccs_info(void); #endif -#endif diff --git a/src/spicelib/devices/vcvs/Makefile.am b/src/spicelib/devices/vcvs/Makefile.am index 50f021cd2..caff738c7 100644 --- a/src/spicelib/devices/vcvs/Makefile.am +++ b/src/spicelib/devices/vcvs/Makefile.am @@ -2,24 +2,26 @@ pkglib_LTLIBRARIES = libvcvs.la -libvcvs_la_SOURCES = \ - vcvs.c \ - vcvsask.c \ - vcvsdefs.h \ - vcvsdel.c \ - vcvsdest.c \ - vcvsext.h \ - vcvsfbr.c \ - vcvsitf.h \ - vcvsload.c \ - vcvsmdel.c \ - vcvspar.c \ - vcvspzld.c \ - vcvssacl.c \ - vcvsset.c \ - vcvssld.c \ - vcvssprt.c \ - vcvssset.c +libvcvs_la_SOURCES = \ + vcvs.c \ + vcvsask.c \ + vcvsdefs.h \ + vcvsdel.c \ + vcvsdest.c \ + vcvsext.h \ + vcvsfbr.c \ + vcvsinit.c \ + vcvsinit.h \ + vcvsitf.h \ + vcvsload.c \ + vcvsmdel.c \ + vcvspar.c \ + vcvspzld.c \ + vcvssacl.c \ + vcvsset.c \ + vcvssld.c \ + vcvssprt.c \ + vcvssset.c diff --git a/src/spicelib/devices/vcvs/vcvsinit.c b/src/spicelib/devices/vcvs/vcvsinit.c new file mode 100644 index 000000000..6d3e29dae --- /dev/null +++ b/src/spicelib/devices/vcvs/vcvsinit.c @@ -0,0 +1,65 @@ +#include + +#include + +#include "vcvsitf.h" +#include "vcvsext.h" +#include "vcvsinit.h" + + +SPICEdev VCVSinfo = { + { + "VCVS", + "Voltage controlled voltage source", + + &VCVSnSize, + &VCVSnSize, + VCVSnames, + + &VCVSpTSize, + VCVSpTable, + + 0, + NULL, + DEV_DEFAULT + }, + + DEVparam : VCVSparam, + DEVmodParam : NULL, + DEVload : VCVSload, + DEVsetup : VCVSsetup, + DEVunsetup : VCVSunsetup, + DEVpzSetup : VCVSsetup, + DEVtemperature: NULL, + DEVtrunc : NULL, + DEVfindBranch : VCVSfindBr, + DEVacLoad : VCVSload, /* AC and normal loads are identical */ + DEVaccept : NULL, + DEVdestroy : VCVSdestroy, + DEVmodDelete : VCVSmDelete, + DEVdelete : VCVSdelete, + DEVsetic : NULL, + DEVask : VCVSask, + DEVmodAsk : NULL, + DEVpzLoad : VCVSpzLoad, + DEVconvTest : NULL, + DEVsenSetup : VCVSsSetup, + DEVsenLoad : VCVSsLoad, + DEVsenUpdate : NULL, + DEVsenAcLoad : VCVSsAcLoad, + DEVsenPrint : VCVSsPrint, + DEVsenTrunc : NULL, + DEVdisto : NULL, /* DISTO */ + DEVnoise : NULL, /* NOISE */ + + DEVinstSize : &VCVSiSize, + DEVmodSize : &VCVSmSize + +}; + + +SPICEdev * +get_vcvs_info(void) +{ + return &VCVSinfo; +} diff --git a/src/spicelib/devices/vcvs/vcvsitf.h b/src/spicelib/devices/vcvs/vcvsitf.h index 14475dc8b..d812d482e 100644 --- a/src/spicelib/devices/vcvs/vcvsitf.h +++ b/src/spicelib/devices/vcvs/vcvsitf.h @@ -1,87 +1,9 @@ /********** Copyright 1990 Regents of the University of California. All rights reserved. **********/ -#ifdef DEV_vcvs - #ifndef DEV_VCVS #define DEV_VCVS -#include "vcvsext.h" -extern IFparm VCVSpTable[ ]; -extern char *VCVSnames[ ]; -extern int VCVSpTSize; -extern int VCVSnSize; -extern int VCVSiSize; -extern int VCVSmSize; - -SPICEdev VCVSinfo = { - { - "VCVS", - "Voltage controlled voltage source", - - &VCVSnSize, - &VCVSnSize, - VCVSnames, - - &VCVSpTSize, - VCVSpTable, - - 0, - NULL, - DEV_DEFAULT - }, - - VCVSparam, - NULL, - VCVSload, - VCVSsetup, - VCVSunsetup, - VCVSsetup, - NULL, - NULL, - VCVSfindBr, - VCVSload, /* AC and normal loads are identical */ - NULL, - VCVSdestroy, -#ifdef DELETES - VCVSmDelete, - VCVSdelete, -#else /* DELETES */ - NULL, - NULL, -#endif /* DELETES */ - NULL, - VCVSask, - NULL, -#ifdef AN_pz - VCVSpzLoad, -#else /* AN_pz */ - NULL, -#endif /* AN_pz */ - NULL, -#ifdef AN_sense2 - VCVSsSetup, - VCVSsLoad, - NULL, - VCVSsAcLoad, - VCVSsPrint, - NULL, -#else /* AN_sense2 */ - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, -#endif /* AN_sense2 */ - NULL, /* DISTO */ - NULL, /* NOISE */ - - &VCVSiSize, - &VCVSmSize - -}; - +SPICEdev *get_vcvs_info(void); #endif -#endif diff --git a/src/spicelib/devices/vsrc/Makefile.am b/src/spicelib/devices/vsrc/Makefile.am index e3eb3a318..246577fc0 100644 --- a/src/spicelib/devices/vsrc/Makefile.am +++ b/src/spicelib/devices/vsrc/Makefile.am @@ -2,24 +2,26 @@ pkglib_LTLIBRARIES = libvsrc.la -libvsrc_la_SOURCES = \ - vsrc.c \ - vsrcacct.c \ - vsrcacld.c \ - vsrcask.c \ - vsrcdefs.h \ - vsrcdel.c \ - vsrcdest.c \ - vsrcext.h \ - vsrcfbr.c \ - vsrcitf.h \ - vsrcload.c \ - vsrcmdel.c \ - vsrcpar.c \ - vsrcpzld.c \ - vsrcpzs.c \ - vsrcset.c \ - vsrctemp.c +libvsrc_la_SOURCES = \ + vsrc.c \ + vsrcacct.c \ + vsrcacld.c \ + vsrcask.c \ + vsrcdefs.h \ + vsrcdel.c \ + vsrcdest.c \ + vsrcext.h \ + vsrcfbr.c \ + vsrcinit.c \ + vsrcinit.h \ + vsrcitf.h \ + vsrcload.c \ + vsrcmdel.c \ + vsrcpar.c \ + vsrcpzld.c \ + vsrcpzs.c \ + vsrcset.c \ + vsrctemp.c diff --git a/src/spicelib/devices/vsrc/vsrcinit.c b/src/spicelib/devices/vsrc/vsrcinit.c new file mode 100644 index 000000000..672ce4baa --- /dev/null +++ b/src/spicelib/devices/vsrc/vsrcinit.c @@ -0,0 +1,64 @@ +#include + +#include + +#include "vsrcitf.h" +#include "vsrcext.h" +#include "vsrcinit.h" + + +SPICEdev VSRCinfo = { + { + "Vsource", + "Independent voltage source", + + &VSRCnSize, + &VSRCnSize, + VSRCnames, + + &VSRCpTSize, + VSRCpTable, + + 0, + NULL, + DEV_DEFAULT + }, + + DEVparam : VSRCparam, + DEVmodParam : NULL, + DEVload : VSRCload, + DEVsetup : VSRCsetup, + DEVunsetup : VSRCunsetup, + DEVpzSetup : VSRCpzSetup, + DEVtemperature: VSRCtemp, + DEVtrunc : NULL, + DEVfindBranch : VSRCfindBr, + DEVacLoad : VSRCacLoad, + DEVaccept : VSRCaccept, + DEVdestroy : VSRCdestroy, + DEVmodDelete : VSRCmDelete, + DEVdelete : VSRCdelete, + DEVsetic : NULL, + DEVask : VSRCask, + DEVmodAsk : NULL, + DEVpzLoad : VSRCpzLoad, + DEVconvTest : NULL, + DEVsenSetup : NULL, + DEVsenLoad : NULL, + DEVsenUpdate : NULL, + DEVsenAcLoad : NULL, + DEVsenPrint : NULL, + DEVsenTrunc : NULL, + DEVdisto : NULL, /* DISTO */ + DEVnoise : NULL, /* NOISE */ + + DEVinstSize : &VSRCiSize, + DEVmodSize : &VSRCmSize +}; + + +SPICEdev * +get_vsrc_info(void) +{ + return &VSRCinfo; +} diff --git a/src/spicelib/devices/vsrc/vsrcitf.h b/src/spicelib/devices/vsrc/vsrcitf.h index 4aeda0056..6792ee39d 100644 --- a/src/spicelib/devices/vsrc/vsrcitf.h +++ b/src/spicelib/devices/vsrc/vsrcitf.h @@ -1,77 +1,9 @@ /********** Copyright 1990 Regents of the University of California. All rights reserved. **********/ -#ifdef DEV_vsrc - #ifndef DEV_VSRC #define DEV_VSRC -#include "vsrcext.h" -extern IFparm VSRCpTable[ ]; -extern char *VSRCnames[ ]; -extern int VSRCpTSize; -extern int VSRCnSize; -extern int VSRCiSize; -extern int VSRCmSize; - -SPICEdev VSRCinfo = { - { - "Vsource", - "Independent voltage source", - - &VSRCnSize, - &VSRCnSize, - VSRCnames, - - &VSRCpTSize, - VSRCpTable, - - 0, - NULL, - DEV_DEFAULT - }, - - VSRCparam, - NULL, - VSRCload, - VSRCsetup, - VSRCunsetup, -#ifdef AN_pz - VSRCpzSetup, -#else /* AN_pz */ - NULL, -#endif /* AN_pz */ - VSRCtemp, - NULL, - VSRCfindBr, - VSRCacLoad, - VSRCaccept, - VSRCdestroy, -#ifdef DELETES - VSRCmDelete, - VSRCdelete, -#else /* DELETES */ - NULL, - NULL, -#endif /* DELETES */ - NULL, - VSRCask, - NULL, - VSRCpzLoad, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, /* DISTO */ - NULL, /* NOISE */ - - &VSRCiSize, - &VSRCmSize -}; - +SPICEdev *get_vsrc_info(void); #endif -#endif