KLU Integration from scratch #7, devices, bsim4/ (which is bsim4v8)

This commit is contained in:
Francesco Lannutti 2014-04-21 14:11:28 +02:00 committed by rlar
parent e8572a513d
commit 42bc73fd18
5 changed files with 1182 additions and 1 deletions

View File

@ -30,6 +30,9 @@ libbsim4_la_SOURCES = \
bsim4itf.h
if KLU_WANTED
libbsim4_la_SOURCES += b4bindCSC.c
endif
AM_CPPFLAGS = @AM_CPPFLAGS@ -I$(top_srcdir)/src/include
AM_CFLAGS = $(STATIC)

File diff suppressed because it is too large Load Diff

View File

@ -574,6 +574,79 @@ typedef struct sBSIM4instance
double **BSIM4nVar;
#endif /* NONOISE */
#ifdef KLU
BindElement *BSIM4DPbpStructPtr ;
BindElement *BSIM4GPbpStructPtr ;
BindElement *BSIM4SPbpStructPtr ;
BindElement *BSIM4BPdpStructPtr ;
BindElement *BSIM4BPgpStructPtr ;
BindElement *BSIM4BPspStructPtr ;
BindElement *BSIM4BPbpStructPtr ;
BindElement *BSIM4DdStructPtr ;
BindElement *BSIM4GPgpStructPtr ;
BindElement *BSIM4SsStructPtr ;
BindElement *BSIM4DPdpStructPtr ;
BindElement *BSIM4SPspStructPtr ;
BindElement *BSIM4DdpStructPtr ;
BindElement *BSIM4GPdpStructPtr ;
BindElement *BSIM4GPspStructPtr ;
BindElement *BSIM4SspStructPtr ;
BindElement *BSIM4DPspStructPtr ;
BindElement *BSIM4DPdStructPtr ;
BindElement *BSIM4DPgpStructPtr ;
BindElement *BSIM4SPgpStructPtr ;
BindElement *BSIM4SPsStructPtr ;
BindElement *BSIM4SPdpStructPtr ;
BindElement *BSIM4QqStructPtr ;
BindElement *BSIM4QbpStructPtr ;
BindElement *BSIM4QdpStructPtr ;
BindElement *BSIM4QspStructPtr ;
BindElement *BSIM4QgpStructPtr ;
BindElement *BSIM4DPqStructPtr ;
BindElement *BSIM4SPqStructPtr ;
BindElement *BSIM4GPqStructPtr ;
BindElement *BSIM4GEgeStructPtr ;
BindElement *BSIM4GEgpStructPtr ;
BindElement *BSIM4GPgeStructPtr ;
BindElement *BSIM4GEdpStructPtr ;
BindElement *BSIM4GEspStructPtr ;
BindElement *BSIM4GEbpStructPtr ;
BindElement *BSIM4GMdpStructPtr ;
BindElement *BSIM4GMgpStructPtr ;
BindElement *BSIM4GMgmStructPtr ;
BindElement *BSIM4GMgeStructPtr ;
BindElement *BSIM4GMspStructPtr ;
BindElement *BSIM4GMbpStructPtr ;
BindElement *BSIM4DPgmStructPtr ;
BindElement *BSIM4GPgmStructPtr ;
BindElement *BSIM4GEgmStructPtr ;
BindElement *BSIM4SPgmStructPtr ;
BindElement *BSIM4BPgmStructPtr ;
BindElement *BSIM4DPdbStructPtr ;
BindElement *BSIM4SPsbStructPtr ;
BindElement *BSIM4DBdpStructPtr ;
BindElement *BSIM4DBdbStructPtr ;
BindElement *BSIM4DBbpStructPtr ;
BindElement *BSIM4DBbStructPtr ;
BindElement *BSIM4BPdbStructPtr ;
BindElement *BSIM4BPbStructPtr ;
BindElement *BSIM4BPsbStructPtr ;
BindElement *BSIM4SBspStructPtr ;
BindElement *BSIM4SBbpStructPtr ;
BindElement *BSIM4SBbStructPtr ;
BindElement *BSIM4SBsbStructPtr ;
BindElement *BSIM4BdbStructPtr ;
BindElement *BSIM4BbpStructPtr ;
BindElement *BSIM4BsbStructPtr ;
BindElement *BSIM4BbStructPtr ;
BindElement *BSIM4DgpStructPtr ;
BindElement *BSIM4DspStructPtr ;
BindElement *BSIM4DbpStructPtr ;
BindElement *BSIM4SdpStructPtr ;
BindElement *BSIM4SgpStructPtr ;
BindElement *BSIM4SbpStructPtr ;
#endif
} BSIM4instance ;
struct bsim4SizeDependParam

View File

@ -31,3 +31,9 @@ extern int BSIM4trunc(GENmodel*,CKTcircuit*,double*);
extern int BSIM4noise(int,int,GENmodel*,CKTcircuit*,Ndata*,double*);
extern int BSIM4unsetup(GENmodel*,CKTcircuit*);
extern int BSIM4soaCheck(CKTcircuit *, GENmodel *);
#ifdef KLU
extern int BSIM4bindCSC (GENmodel*, CKTcircuit*) ;
extern int BSIM4bindCSCComplex (GENmodel*, CKTcircuit*) ;
extern int BSIM4bindCSCComplexToReal (GENmodel*, CKTcircuit*) ;
#endif

View File

@ -73,7 +73,14 @@ SPICEdev BSIM4info = {
NULL, /* DEVacct */
#endif
&BSIM4iSize, /* DEVinstSize */
&BSIM4mSize /* DEVmodSize */
&BSIM4mSize, /* DEVmodSize */
#ifdef KLU
BSIM4bindCSC, /* DEVbindCSC */
BSIM4bindCSCComplex, /* DEVbindCSCComplex */
BSIM4bindCSCComplexToReal, /* DEVbindCSCComplexToReal */
#endif
};