allow showmod command for verilog-a models - feature request #100
This commit is contained in:
parent
ffc36a68fb
commit
ef8858f7dc
|
|
@ -22,6 +22,7 @@ extern int OSDIparam(int, IFvalue *, GENinstance *, IFvalue *);
|
||||||
extern int OSDIsetup(SMPmatrix *, GENmodel *, CKTcircuit *, int *);
|
extern int OSDIsetup(SMPmatrix *, GENmodel *, CKTcircuit *, int *);
|
||||||
extern int OSDIunsetup(GENmodel *, CKTcircuit *);
|
extern int OSDIunsetup(GENmodel *, CKTcircuit *);
|
||||||
extern int OSDIask(CKTcircuit *, GENinstance *, int, IFvalue *, IFvalue *);
|
extern int OSDIask(CKTcircuit *, GENinstance *, int, IFvalue *, IFvalue *);
|
||||||
|
extern int OSDImAsk(CKTcircuit *, GENmodel *, int, IFvalue *);
|
||||||
extern int OSDIload(GENmodel *, CKTcircuit *);
|
extern int OSDIload(GENmodel *, CKTcircuit *);
|
||||||
extern int OSDItemp(GENmodel *, CKTcircuit *);
|
extern int OSDItemp(GENmodel *, CKTcircuit *);
|
||||||
extern int OSDIacLoad(GENmodel *, CKTcircuit *);
|
extern int OSDIacLoad(GENmodel *, CKTcircuit *);
|
||||||
|
|
@ -39,5 +40,4 @@ extern int OSDIbindCSCComplex(GENmodel *inModel, CKTcircuit *ckt);
|
||||||
/* extern int OSDIconvTest(GENmodel*,CKTcircuit*); */
|
/* extern int OSDIconvTest(GENmodel*,CKTcircuit*); */
|
||||||
/* extern int OSDImDelete(GENmodel*); */
|
/* extern int OSDImDelete(GENmodel*); */
|
||||||
/* extern int OSDIgetic(GENmodel*,CKTcircuit*); */
|
/* extern int OSDIgetic(GENmodel*,CKTcircuit*); */
|
||||||
/* extern int OSDImAsk(CKTcircuit*,GENmodel*,int,IFvalue*); */
|
|
||||||
/* extern int OSDIsoaCheck(CKTcircuit *, GENmodel *); */
|
/* extern int OSDIsoaCheck(CKTcircuit *, GENmodel *); */
|
||||||
|
|
|
||||||
|
|
@ -188,6 +188,7 @@ extern SPICEdev *osdi_create_spicedev(const OsdiRegistryEntry *entry) {
|
||||||
OSDIinfo->DEVparam = OSDIparam;
|
OSDIinfo->DEVparam = OSDIparam;
|
||||||
OSDIinfo->DEVmodParam = OSDImParam;
|
OSDIinfo->DEVmodParam = OSDImParam;
|
||||||
OSDIinfo->DEVask = OSDIask;
|
OSDIinfo->DEVask = OSDIask;
|
||||||
|
OSDIinfo->DEVmodAsk = OSDImAsk;
|
||||||
OSDIinfo->DEVsetup = OSDIsetup;
|
OSDIinfo->DEVsetup = OSDIsetup;
|
||||||
OSDIinfo->DEVpzSetup = OSDIsetup;
|
OSDIinfo->DEVpzSetup = OSDIsetup;
|
||||||
OSDIinfo->DEVtemperature = OSDItemp;
|
OSDIinfo->DEVtemperature = OSDItemp;
|
||||||
|
|
|
||||||
|
|
@ -162,3 +162,21 @@ extern int OSDIask(CKTcircuit *ckt, GENinstance *instPtr, int id,
|
||||||
void *src = descr->access(inst, model, (uint32_t)id, flags);
|
void *src = descr->access(inst, model, (uint32_t)id, flags);
|
||||||
return osdi_read_param(src, value, id, descr);
|
return osdi_read_param(src, value, id, descr);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
extern int OSDImAsk(CKTcircuit *ckt, GENmodel *modelPtr, int id,
|
||||||
|
IFvalue *value) {
|
||||||
|
|
||||||
|
NG_IGNORE(ckt);
|
||||||
|
|
||||||
|
OsdiRegistryEntry *entry = osdi_reg_entry_model(modelPtr);
|
||||||
|
const OsdiDescriptor *descr = entry->descriptor;
|
||||||
|
|
||||||
|
void *model = osdi_model_data(modelPtr);
|
||||||
|
|
||||||
|
if (id >= (int)(descr->num_params)) {
|
||||||
|
return (E_BADPARM);
|
||||||
|
}
|
||||||
|
|
||||||
|
void *src = descr->access(NULL, model, (uint32_t)id, ACCESS_FLAG_READ);
|
||||||
|
return osdi_read_param(src, value, id, descr);
|
||||||
|
}
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue