From b13da5c8130dd79403dea405a6586316d0c40d4c Mon Sep 17 00:00:00 2001 From: dwarning Date: Sat, 17 Mar 2018 13:09:48 +0100 Subject: [PATCH] update mos level schema referring the new va models --- src/spicelib/parser/inp2m.c | 2 ++ src/spicelib/parser/inpdomod.c | 11 +++++++---- 2 files changed, 9 insertions(+), 4 deletions(-) diff --git a/src/spicelib/parser/inp2m.c b/src/spicelib/parser/inp2m.c index c566c5488..47cc460a2 100644 --- a/src/spicelib/parser/inp2m.c +++ b/src/spicelib/parser/inp2m.c @@ -31,11 +31,13 @@ model_numnodes(int type) return 6; } +#ifdef ADMS if (type == INPtypelook("BSIM6") || /* bsim6.va with __THERMAL_NODE__ */ type == INPtypelook("BSIMCMG")) /* bsimcmg.va */ { return 5; } +#endif return 4; } diff --git a/src/spicelib/parser/inpdomod.c b/src/spicelib/parser/inpdomod.c index dbe344932..01a29d9e7 100644 --- a/src/spicelib/parser/inpdomod.c +++ b/src/spicelib/parser/inpdomod.c @@ -328,7 +328,9 @@ char *INPdomodel(CKTcircuit *ckt, card * image, INPtables * tab) ("Device type BSIM5 not available in this binary\n"); } break; +#ifdef ADMS case 16: + case 77: type = INPtypelook("BSIM6"); if (type < 0) { err = @@ -336,13 +338,13 @@ char *INPdomodel(CKTcircuit *ckt, card * image, INPtables * tab) ("Device type BSIM6 not available in this binary\n");} break; case 17: + case 72: type = INPtypelook("BSIMCMG"); if (type < 0) { err = INPmkTemp ("Device type BSIMCMG not available in this binary\n");} break; -#ifdef ADMS case 44: type = INPtypelook("ekv"); if (type < 0) { @@ -352,6 +354,7 @@ char *INPdomodel(CKTcircuit *ckt, card * image, INPtables * tab) } break; case 45: + case 69: type = INPtypelook("psp102"); if (type < 0) { err = @@ -384,7 +387,7 @@ char *INPdomodel(CKTcircuit *ckt, card * image, INPtables * tab) ("Placeholder: Device type B3SOIPD not available in this binary\n"); } break; - case 10: case 58: + case 10: case 70: type = INPtypelook("B4SOI"); if (type < 0) { err = @@ -423,10 +426,10 @@ char *INPdomodel(CKTcircuit *ckt, card * image, INPtables * tab) default: /* placeholder; use level xxx for the next model */ #ifdef ADMS err = INPmkTemp - ("Only MOS device levels 1-6,8-10,14,44,45,49,54-58,60,68,73 are supported in this binary\n"); + ("Only MOS device levels 1-6,8-10,14,16,17,44,45,49,54-57,60,68,69,70,72,73,77 are supported in this binary\n"); #else err = INPmkTemp - ("Only MOS device levels 1-6,8-10,14,49,54-58,60,68,73 are supported in this binary\n"); + ("Only MOS device levels 1-6,8-10,14,49,54-57,60,68,70,73 are supported in this binary\n"); #endif break; }