Browse Source

allow showmod command for verilog-a models - feature request #100

pre-master-46
dwarning 9 months ago
committed by Holger Vogt
parent
commit
6aba1f302b
  1. 2
      src/osdi/osdiext.h
  2. 1
      src/osdi/osdiinit.c
  3. 18
      src/osdi/osdiparam.c

2
src/osdi/osdiext.h

@ -22,6 +22,7 @@ extern int OSDIparam(int, IFvalue *, GENinstance *, IFvalue *);
extern int OSDIsetup(SMPmatrix *, GENmodel *, CKTcircuit *, int *);
extern int OSDIunsetup(GENmodel *, CKTcircuit *);
extern int OSDIask(CKTcircuit *, GENinstance *, int, IFvalue *, IFvalue *);
extern int OSDImAsk(CKTcircuit *, GENmodel *, int, IFvalue *);
extern int OSDIload(GENmodel *, CKTcircuit *);
extern int OSDItemp(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 OSDImDelete(GENmodel*); */
/* extern int OSDIgetic(GENmodel*,CKTcircuit*); */
/* extern int OSDImAsk(CKTcircuit*,GENmodel*,int,IFvalue*); */
/* extern int OSDIsoaCheck(CKTcircuit *, GENmodel *); */

1
src/osdi/osdiinit.c

@ -188,6 +188,7 @@ extern SPICEdev *osdi_create_spicedev(const OsdiRegistryEntry *entry) {
OSDIinfo->DEVparam = OSDIparam;
OSDIinfo->DEVmodParam = OSDImParam;
OSDIinfo->DEVask = OSDIask;
OSDIinfo->DEVmodAsk = OSDImAsk;
OSDIinfo->DEVsetup = OSDIsetup;
OSDIinfo->DEVpzSetup = OSDIsetup;
OSDIinfo->DEVtemperature = OSDItemp;

18
src/osdi/osdiparam.c

@ -162,3 +162,21 @@ extern int OSDIask(CKTcircuit *ckt, GENinstance *instPtr, int id,
void *src = descr->access(inst, model, (uint32_t)id, flags);
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…
Cancel
Save