From 010174ec2a87c513e8ba2f0f2645002efa1c9b6f Mon Sep 17 00:00:00 2001 From: dwarning Date: Mon, 19 May 2014 23:23:55 +0200 Subject: [PATCH] devices/bsim4v7, add to build infrastructure --- configure.ac | 1 + src/Makefile.am | 1 + src/spicelib/devices/Makefile.am | 2 + src/spicelib/devices/dev.c | 6 +- src/spicelib/parser/inp2m.c | 1 + src/spicelib/parser/inpdomod.c | 5 +- src/spicelib/parser/inpgmod.c | 1 + visualc-shared/sharedspice.vcproj | 100 +++++++++++++++++++++++++++++ visualc/vngspice.vcproj | 100 +++++++++++++++++++++++++++++ visualc/vngspice.vcxproj | 25 ++++++++ visualc/vngspice_fftw.vcproj | 100 +++++++++++++++++++++++++++++ visualc/vngspice_fftw_vc10.vcxproj | 25 ++++++++ 12 files changed, 364 insertions(+), 3 deletions(-) diff --git a/configure.ac b/configure.ac index 344e72cba..c3c4a4898 100644 --- a/configure.ac +++ b/configure.ac @@ -1080,6 +1080,7 @@ AC_CONFIG_FILES([Makefile src/spicelib/devices/bsim4/Makefile src/spicelib/devices/bsim4v5/Makefile src/spicelib/devices/bsim4v6/Makefile + src/spicelib/devices/bsim4v7/Makefile src/spicelib/devices/bsim3soi_pd/Makefile src/spicelib/devices/bsim3soi_fd/Makefile src/spicelib/devices/bsim3soi_dd/Makefile diff --git a/src/Makefile.am b/src/Makefile.am index 67f429c75..c64cc8b84 100644 --- a/src/Makefile.am +++ b/src/Makefile.am @@ -55,6 +55,7 @@ DYNAMIC_DEVICELIBS = \ spicelib/devices/bsim4/libbsim4.la \ spicelib/devices/bsim4v5/libbsim4v5.la \ spicelib/devices/bsim4v6/libbsim4v6.la \ + spicelib/devices/bsim4v7/libbsim4v7.la \ spicelib/devices/cap/libcap.la \ spicelib/devices/bsim3soi_pd/libbsim3soipd.la \ spicelib/devices/bsim3soi_fd/libbsim3soifd.la \ diff --git a/src/spicelib/devices/Makefile.am b/src/spicelib/devices/Makefile.am index 027ee8a2d..4a3caa7a0 100644 --- a/src/spicelib/devices/Makefile.am +++ b/src/spicelib/devices/Makefile.am @@ -10,6 +10,7 @@ SUBDIRS = \ bsim4 \ bsim4v5 \ bsim4v6 \ + bsim4v7 \ bsim3v0 \ bsim3v1 \ bsim3v32 \ @@ -69,6 +70,7 @@ DIST_SUBDIRS = \ bsim4 \ bsim4v5 \ bsim4v6 \ + bsim4v7 \ bsim3v0 \ bsim3v1 \ bsim3v32 \ diff --git a/src/spicelib/devices/dev.c b/src/spicelib/devices/dev.c index 0fed660b0..acdb09f2b 100644 --- a/src/spicelib/devices/dev.c +++ b/src/spicelib/devices/dev.c @@ -81,6 +81,7 @@ int add_udn(int,Evt_Udn_Info_t **); #include "bsim4/bsim4itf.h" #include "bsim4v5/bsim4v5itf.h" #include "bsim4v6/bsim4v6itf.h" +#include "bsim4v7/bsim4v7itf.h" #include "bsim3soi_pd/b3soipditf.h" #include "bsim3soi_fd/b3soifditf.h" #include "bsim3soi_dd/b3soidditf.h" @@ -151,6 +152,7 @@ static SPICEdev *(*static_devices[])(void) = { get_bsim4_info, get_bsim4v5_info, get_bsim4v6_info, + get_bsim4v7_info, get_b3soipd_info, get_b3soifd_info, get_b3soidd_info, @@ -282,12 +284,12 @@ SPICEdev ** devices(void) /*not yet usable*/ #ifdef ADMS -#define DEVICES_USED {"asrc", "bjt", "vbic", "bsim1", "bsim2", "bsim3", "bsim3v32", "bsim3v2", "bsim3v1", "bsim4", "bsim4v5", "bsim4v6", \ +#define DEVICES_USED {"asrc", "bjt", "vbic", "bsim1", "bsim2", "bsim3", "bsim3v32", "bsim3v2", "bsim3v1", "bsim4", "bsim4v5", "bsim4v6", "bsim4v7", \ "bsim4soi", "bsim3soipd", "bsim3soifd", "bsim3soidd", "hisim2", "hisimhv1", \ "cap", "cccs", "ccvs", "csw", "dio", "hfet", "hfet2", "ind", "isrc", "jfet", "ltra", "mes", "mesa" ,"mos1", "mos2", "mos3", \ "mos6", "mos9", "res", "soi3", "sw", "tra", "urc", "vccs", "vcvs", "vsrc", "hicum0", "hicum2", "bjt504t", "ekv", "psp102"} #else -#define DEVICES_USED {"asrc", "bjt", "vbic", "bsim1", "bsim2", "bsim3", "bsim3v32", "bsim3v2", "bsim3v1", "bsim4", "bsim4v5", "bsim4v6", \ +#define DEVICES_USED {"asrc", "bjt", "vbic", "bsim1", "bsim2", "bsim3", "bsim3v32", "bsim3v2", "bsim3v1", "bsim4", "bsim4v5", "bsim4v6", "bsim4v7", \ "bsim4soi", "bsim3soipd", "bsim3soifd", "bsim3soidd", "hisim2", "hisimhv1", \ "cap", "cccs", "ccvs", "csw", "dio", "hfet", "hfet2", "ind", "isrc", "jfet", "ltra", "mes", "mesa" ,"mos1", "mos2", "mos3", \ "mos6", "mos9", "res", "soi3", "sw", "tra", "urc", "vccs", "vcvs", "vsrc"} diff --git a/src/spicelib/parser/inp2m.c b/src/spicelib/parser/inp2m.c index 85505077e..0208360fd 100644 --- a/src/spicelib/parser/inp2m.c +++ b/src/spicelib/parser/inp2m.c @@ -225,6 +225,7 @@ INP2M (CKTcircuit *ckt, INPtables * tab, card * current) && thismodel->INPmodType != INPtypelook ("BSIM4") && thismodel->INPmodType != INPtypelook ("BSIM4v5") && thismodel->INPmodType != INPtypelook ("BSIM4v6") + && thismodel->INPmodType != INPtypelook ("BSIM4v7") && thismodel->INPmodType != INPtypelook ("BSIM3v0") && thismodel->INPmodType != INPtypelook ("BSIM3v1") && thismodel->INPmodType != INPtypelook ("SOI3") diff --git a/src/spicelib/parser/inpdomod.c b/src/spicelib/parser/inpdomod.c index 6e96416eb..da3a49b42 100644 --- a/src/spicelib/parser/inpdomod.c +++ b/src/spicelib/parser/inpdomod.c @@ -310,7 +310,10 @@ char *INPdomodel(CKTcircuit *ckt, card * image, INPtables * tab) if (prefix("4.6", ver)) { type = INPtypelook("BSIM4v6"); } - if ( (strstr(ver, "default")) || (prefix("4.7", ver)) ) { + if (prefix("4.7", ver)) { + type = INPtypelook("BSIM4v7"); + } + if ( (strstr(ver, "default")) || (prefix("4.8", ver)) ) { type = INPtypelook("BSIM4"); } if (type < 0) { diff --git a/src/spicelib/parser/inpgmod.c b/src/spicelib/parser/inpgmod.c index 7d8eb69c3..2cb17d347 100644 --- a/src/spicelib/parser/inpgmod.c +++ b/src/spicelib/parser/inpgmod.c @@ -220,6 +220,7 @@ INPgetModBin( CKTcircuit* ckt, char* name, INPmodel** model, INPtables* tab, cha && modtmp->INPmodType != INPtypelook ("BSIM4") && modtmp->INPmodType != INPtypelook ("BSIM4v5") && modtmp->INPmodType != INPtypelook ("BSIM4v6") + && modtmp->INPmodType != INPtypelook ("BSIM4v7") && modtmp->INPmodType != INPtypelook ("HiSIM2") && modtmp->INPmodType != INPtypelook ("HiSIMHV") ) continue; /* We left the loop if the model is not in the list */ diff --git a/visualc-shared/sharedspice.vcproj b/visualc-shared/sharedspice.vcproj index 892e8252f..cef4435d0 100644 --- a/visualc-shared/sharedspice.vcproj +++ b/visualc-shared/sharedspice.vcproj @@ -596,6 +596,22 @@ RelativePath="..\src\spicelib\devices\bsim4v6\bsim4v6itf.h" > + + + + + + + + @@ -3384,6 +3400,86 @@ RelativePath="..\src\spicelib\devices\bsim4v6\b4v6trunc.c" > + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -3548,6 +3644,10 @@ RelativePath="..\src\spicelib\devices\bsim4v6\bsim4v6init.c" > + + diff --git a/visualc/vngspice.vcproj b/visualc/vngspice.vcproj index 0157213c2..983e64412 100644 --- a/visualc/vngspice.vcproj +++ b/visualc/vngspice.vcproj @@ -1392,6 +1392,22 @@ RelativePath="..\src\spicelib\devices\bsim4v6\bsim4v6itf.h" > + + + + + + + + @@ -4164,6 +4180,86 @@ RelativePath="..\src\spicelib\devices\bsim4v6\b4v6trunc.c" > + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -4328,6 +4424,10 @@ RelativePath="..\src\spicelib\devices\bsim4v6\bsim4v6init.c" > + + diff --git a/visualc/vngspice.vcxproj b/visualc/vngspice.vcxproj index 716f1c984..a138ad47b 100644 --- a/visualc/vngspice.vcxproj +++ b/visualc/vngspice.vcxproj @@ -892,6 +892,10 @@ + + + + @@ -1586,6 +1590,26 @@ + + + + + + + + + + + + + + + + + + + + @@ -1627,6 +1651,7 @@ + diff --git a/visualc/vngspice_fftw.vcproj b/visualc/vngspice_fftw.vcproj index 8b6c20405..bd43abb64 100644 --- a/visualc/vngspice_fftw.vcproj +++ b/visualc/vngspice_fftw.vcproj @@ -1423,6 +1423,22 @@ RelativePath="..\src\spicelib\devices\bsim4v6\bsim4v6itf.h" > + + + + + + + + @@ -4195,6 +4211,86 @@ RelativePath="..\src\spicelib\devices\bsim4v6\b4v6trunc.c" > + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -4359,6 +4455,10 @@ RelativePath="..\src\spicelib\devices\bsim4v6\bsim4v6init.c" > + + diff --git a/visualc/vngspice_fftw_vc10.vcxproj b/visualc/vngspice_fftw_vc10.vcxproj index f599e24e8..33d65ccb8 100644 --- a/visualc/vngspice_fftw_vc10.vcxproj +++ b/visualc/vngspice_fftw_vc10.vcxproj @@ -875,6 +875,10 @@ + + + + @@ -1569,6 +1573,26 @@ + + + + + + + + + + + + + + + + + + + + @@ -1610,6 +1634,7 @@ +