From 0133e20412d4d6e5f85cd646bb964ca38336a1b1 Mon Sep 17 00:00:00 2001 From: dwarning Date: Wed, 14 Nov 2007 10:39:54 +0000 Subject: [PATCH] til now only bsim4 has version processing --- ChangeLog | 1 + src/spicelib/parser/inpdomod.c | 12 +++++++++--- 2 files changed, 10 insertions(+), 3 deletions(-) diff --git a/ChangeLog b/ChangeLog index 4e49dec56..2be0af43d 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,6 +1,7 @@ 2007-11-14 Dietmar Warning * src/frontend/inp.c: No title message to stderr - stdout is enough * src/frontend/spiceif.c: reenable INPkillMods after deck processing + * src/spicelib/parser/inpdomod.c: til now only bsim4 has version processing 2007-11-13 Paolo Nenzi * src/spicelib/devices/dev.c: As suggested by Alberto Lucchini and diff --git a/src/spicelib/parser/inpdomod.c b/src/spicelib/parser/inpdomod.c index 70a38b54a..e2290fea6 100644 --- a/src/spicelib/parser/inpdomod.c +++ b/src/spicelib/parser/inpdomod.c @@ -214,7 +214,6 @@ char *INPdomodel(void *ckt, card * image, INPtables * tab) || (strcmp(typename, "nsoi") == 0) || (strcmp(typename, "psoi") == 0)) { err = INPfindLev(line, &lev); - err = INPfindVer(line, ver); switch (lev) { case 0: case 1: @@ -275,6 +274,7 @@ char *INPdomodel(void *ckt, card * image, INPtables * tab) break; case 8: type = INPtypelook("BSIM3"); + err = INPfindVer(line, ver); if (type < 0) { err = INPmkTemp @@ -289,8 +289,9 @@ char *INPdomodel(void *ckt, card * image, INPtables * tab) } break; case 14: - type = INPtypelook("BSIM4"); - if ( (strstr(ver, "4.2")) || (strstr(ver, "4.2.1")) || (strstr(ver, "4.21")) ) { + 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")) ) { type = INPtypelook("BSIM4v2"); } if ( (strstr(ver, "4.3")) || (strstr(ver, "4.3.0")) || (strstr(ver, "4.30")) ) { @@ -302,6 +303,11 @@ char *INPdomodel(void *ckt, card * image, INPtables * tab) if ( (strstr(ver, "4.5")) || (strstr(ver, "4.5.0")) || (strstr(ver, "4.50")) ) { 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")) ) { + type = INPtypelook("BSIM4"); + } if (type < 0) { err = INPmkTemp