checks for BSIM3, BSIM4 modofied

This commit is contained in:
h_vogt 2008-12-22 12:42:07 +00:00
parent b9d267c05e
commit f345bb62d7
2 changed files with 16 additions and 19 deletions

View File

@ -1,3 +1,7 @@
2008-12-22 Holger Vogt
* /spicelib/parser/inpdomod.c: checks for BSIM3 and BSIM4 look for
major versions 3.2, 3.3, 4.2 - 4.6
2008-12-22 Dietmar Warning
* adms/admst/ngspiceMakefile.am.xml: switch to libtool (unfortunately!)

View File

@ -287,18 +287,16 @@ char *INPdomodel(void *ckt, card * image, INPtables * tab)
if ( strcmp(ver, "3.1a") == 0 ) {
type = INPtypelook("BSIM3v1A");
}
if ( (strstr(ver, "3.2.2")) || (strstr(ver, "3.22")) ||
(strstr(ver, "3.2.3")) || (strstr(ver, "3.23")) ||
(strstr(ver, "3.2.4")) || (strstr(ver, "3.24")) ||
(strstr("3.2", ver)) || (strstr(ver, "3.20"))) {
if ( prefix("3.2", ver)) { /* version string ver has to start with 3.2 */
type = INPtypelook("BSIM3v32");
}
if ( (strstr(ver, "default"))
|| (strstr(ver, "3.3")) || (strstr(ver, "3.3.0")) || (strstr(ver, "3.30")) ) {
|| (prefix("3.3", ver)) ) {
type = INPtypelook("BSIM3");
}
if (type < 0) {
err = INPmkTemp("Device type BSIM3 not available in this binary\n");
err = (char *) tmalloc(sizeof(char) * (60 + strlen(ver)));
sprintf(err,"Device type BSIM3 version %s not available in this binary\n",ver);
}
break;
case 9:
@ -309,31 +307,26 @@ char *INPdomodel(void *ckt, card * image, INPtables * tab)
}
break;
case 14: case 54:
err = INPfindVer(line, ver); /* mapping of minor versions are only placeholder */
if ( (strstr(ver, "4.2")) || (strstr(ver, "4.2.0")) || (strstr(ver, "4.20"))
|| (strstr(ver, "4.2.1")) || (strstr(ver, "4.21")) ) {
err = INPfindVer(line, ver); /* mapping of minor versions are included */
if (prefix("4.2", ver)) {
type = INPtypelook("BSIM4v2");
}
if ( (strstr(ver, "4.3")) || (strstr(ver, "4.3.0")) || (strstr(ver, "4.30")) ) {
if (prefix("4.3", ver)) {
type = INPtypelook("BSIM4v3");
}
if ( (strstr(ver, "4.4")) || (strstr(ver, "4.4.0")) || (strstr(ver, "4.40")) ) {
if (prefix("4.4", ver)) {
type = INPtypelook("BSIM4v4");
}
if ( (strstr(ver, "4.5")) || (strstr(ver, "4.5.0")) || (strstr(ver, "4.50")) ) {
if (prefix("4.5", ver)) {
type = INPtypelook("BSIM4v5");
}
if ( (strstr(ver, "default"))
|| (strstr(ver, "4.6")) || (strstr(ver, "4.6.0")) || (strstr(ver, "4.60"))
|| (strstr(ver, "4.6.1")) || (strstr(ver, "4.61"))
|| (strstr(ver, "4.6.2")) || (strstr(ver, "4.62"))
|| (strstr(ver, "4.6.3")) || (strstr(ver, "4.63")) ) {
|| (prefix("4.6", ver)) ) {
type = INPtypelook("BSIM4");
}
if (type < 0) {
err =
INPmkTemp
("Device type BSIM4 not available in this binary\n");
err = (char *) tmalloc(sizeof(char) * (60 + strlen(ver)));
sprintf(err,"Device type BSIM4 version %s not available in this binary\n",ver);
}
break;
case 15: