From cc8fb8641108da638f81741c04c77f840f2ace5c Mon Sep 17 00:00:00 2001 From: h_vogt Date: Sun, 2 Apr 2017 01:18:16 +0200 Subject: [PATCH] diotemp.c, set lower limit of saturation current 'is' to epsmin --- src/spicelib/devices/dio/diomask.c | 2 ++ src/spicelib/devices/dio/diotemp.c | 3 +++ 2 files changed, 5 insertions(+) diff --git a/src/spicelib/devices/dio/diomask.c b/src/spicelib/devices/dio/diomask.c index 04925761b..78e621bf6 100644 --- a/src/spicelib/devices/dio/diomask.c +++ b/src/spicelib/devices/dio/diomask.c @@ -29,6 +29,8 @@ DIOmAsk (CKTcircuit *ckt, GENmodel *inModel, int which, IFvalue *value) return (OK); case DIO_MOD_IS: value->rValue = model->DIOsatCur; + if (value->rValue < ckt->CKTepsmin) + value->rValue = ckt->CKTepsmin; return(OK); case DIO_MOD_JSW: value->rValue = model->DIOsatSWCur; diff --git a/src/spicelib/devices/dio/diotemp.c b/src/spicelib/devices/dio/diotemp.c index 6c75d9cea..4a9627847 100644 --- a/src/spicelib/devices/dio/diotemp.c +++ b/src/spicelib/devices/dio/diotemp.c @@ -66,6 +66,9 @@ DIOtemp(GENmodel *inModel, CKTcircuit *ckt) model->DIOmodName); model->DIOdepletionSWcapCoeff=.95; } + /* set lower limit of saturation current */ + if (model->DIOsatCur < ckt->CKTepsmin) + model->DIOsatCur = ckt->CKTepsmin; if((!model->DIOresistGiven) || (model->DIOresist==0)) { model->DIOconductance = 0.0; } else {