diff --git a/src/spicelib/parser/inp2m.c b/src/spicelib/parser/inp2m.c index 75554b834..330fce353 100644 --- a/src/spicelib/parser/inp2m.c +++ b/src/spicelib/parser/inp2m.c @@ -137,7 +137,8 @@ INP2M(CKTcircuit *ckt, INPtables *tab, struct card *current) thismodel->INPmodType != INPtypelook("HiSIM2") && thismodel->INPmodType != INPtypelook("HiSIMHV1") && thismodel->INPmodType != INPtypelook("HiSIMHV2") && - thismodel->INPmodType != INPtypelook("VDMOS")) + thismodel->INPmodType != INPtypelook("VDMOS") && + thismodel->INPmodType != INPtypelook("bsimbulk")) { LITERR ("incorrect model type"); return; diff --git a/src/spicelib/parser/inpdomod.c b/src/spicelib/parser/inpdomod.c index 2b8bb6c77..8a0c50848 100644 --- a/src/spicelib/parser/inpdomod.c +++ b/src/spicelib/parser/inpdomod.c @@ -380,9 +380,16 @@ char *INPdomodel(CKTcircuit *ckt, struct card *image, INPtables * tab) err = tprintf("Device type HiSIMHV version %s not available in this binary\n", ver); } break; + case 77: /* BSIM-BULK (OSDI) */ + type = INPtypelook("bsimbulk"); + if (type < 0) { + err = INPmkTemp + ("Device type bsimbulk not available - load bsimbulk.osdi before .model\n"); + } + break; default: /* placeholder; use level xxx for the next model */ 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-58,60,68,73,77 are supported in this binary\n"); break; } INPmakeMod(modname, type, image);