File VpiImpl.h

Defines

check_vpi_error()

do { \

__check_vpi_error(__FILE__, __func__, __LINE__); \

} while (0)

Functions

static int __check_vpi_error(const char *file, const char *func, long line)
class VpiCbHdl : public virtual GpiCbHdl

Subclassed by VpiNextPhaseCbHdl, VpiReadOnlyCbHdl, VpiReadwriteCbHdl, VpiShutdownCbHdl, VpiStartupCbHdl, VpiTimedCbHdl, VpiValueCbHdl

Public Functions

VpiCbHdl(GpiImplInterface *impl)
virtual ~VpiCbHdl()
int arm_callback(void)
int cleanup_callback(void)

Protected Attributes

s_cb_data cb_data
s_vpi_time vpi_time
class VpiValueCbHdl : public VpiCbHdl, public GpiValueCbHdl

Public Functions

VpiValueCbHdl(GpiImplInterface *impl, VpiSignalObjHdl *sig, int edge)
virtual ~VpiValueCbHdl()
int cleanup_callback(void)

Private Members

s_vpi_value m_vpi_value
class VpiTimedCbHdl : public VpiCbHdl

Public Functions

VpiTimedCbHdl(GpiImplInterface *impl, uint64_t time_ps)
virtual ~VpiTimedCbHdl()
int cleanup_callback()
class VpiReadOnlyCbHdl : public VpiCbHdl

Public Functions

VpiReadOnlyCbHdl(GpiImplInterface *impl)
virtual ~VpiReadOnlyCbHdl()
class VpiNextPhaseCbHdl : public VpiCbHdl

Public Functions

VpiNextPhaseCbHdl(GpiImplInterface *impl)
virtual ~VpiNextPhaseCbHdl()
class VpiReadwriteCbHdl : public VpiCbHdl

Public Functions

VpiReadwriteCbHdl(GpiImplInterface *impl)
virtual ~VpiReadwriteCbHdl()
class VpiStartupCbHdl : public VpiCbHdl

Public Functions

VpiStartupCbHdl(GpiImplInterface *impl)
int run_callback(void)
int cleanup_callback(void)
virtual ~VpiStartupCbHdl()
class VpiShutdownCbHdl : public VpiCbHdl

Public Functions

VpiShutdownCbHdl(GpiImplInterface *impl)
int run_callback(void)
int cleanup_callback(void)
virtual ~VpiShutdownCbHdl()
class VpiArrayObjHdl : public GpiObjHdl

Public Functions

VpiArrayObjHdl(GpiImplInterface *impl, vpiHandle hdl, gpi_objtype_t objtype)
virtual ~VpiArrayObjHdl()
int initialise(std::string &name, std::string &fq_name)
class VpiObjHdl : public GpiObjHdl

Public Functions

VpiObjHdl(GpiImplInterface *impl, vpiHandle hdl, gpi_objtype_t objtype)
virtual ~VpiObjHdl()
int initialise(std::string &name, std::string &fq_name)
class VpiSignalObjHdl : public GpiSignalObjHdl

Public Functions

VpiSignalObjHdl(GpiImplInterface *impl, vpiHandle hdl, gpi_objtype_t objtype, bool is_const)
virtual ~VpiSignalObjHdl()
const char *get_signal_value_binstr(void)
const char *get_signal_value_str(void)
double get_signal_value_real(void)
long get_signal_value_long(void)
int set_signal_value(const long value)
int set_signal_value(const double value)
int set_signal_value(std::string &value)
GpiCbHdl *value_change_cb(unsigned int edge)
int initialise(std::string &name, std::string &fq_name)

Private Functions

int set_signal_value(s_vpi_value value)

Private Members

VpiValueCbHdl m_rising_cb
VpiValueCbHdl m_falling_cb
VpiValueCbHdl m_either_cb
class VpiIterator : public GpiIterator

Public Functions

VpiIterator(GpiImplInterface *impl, GpiObjHdl *hdl)
~VpiIterator()
GpiIterator::Status next_handle(std::string &name, GpiObjHdl **hdl, void **raw_hdl)

Private Members

vpiHandle m_iterator
std::vector<int32_t> *selected
std::vector<int32_t>::iterator one2many

Private Static Attributes

GpiIteratorMapping<int32_t, int32_t> iterate_over
class VpiSingleIterator : public GpiIterator

Public Functions

VpiSingleIterator(GpiImplInterface *impl, GpiObjHdl *hdl, int32_t vpitype)
virtual ~VpiSingleIterator()
GpiIterator::Status next_handle(std::string &name, GpiObjHdl **hdl, void **raw_hdl)

Protected Attributes

vpiHandle m_iterator
class VpiImpl : public GpiImplInterface

Public Functions

VpiImpl(const std::string &name)
void sim_end(void)
void get_sim_time(uint32_t *high, uint32_t *low)
void get_sim_precision(int32_t *precision)
GpiObjHdl *get_root_handle(const char *name)
GpiIterator *iterate_handle(GpiObjHdl *obj_hdl, gpi_iterator_sel_t type)
GpiObjHdl *next_handle(GpiIterator *iter)
GpiCbHdl *register_timed_callback(uint64_t time_ps)
GpiCbHdl *register_readonly_callback(void)
GpiCbHdl *register_nexttime_callback(void)
GpiCbHdl *register_readwrite_callback(void)
int deregister_callback(GpiCbHdl *obj_hdl)
GpiObjHdl *native_check_create(std::string &name, GpiObjHdl *parent)
GpiObjHdl *native_check_create(int32_t index, GpiObjHdl *parent)
GpiObjHdl *native_check_create(void *raw_hdl, GpiObjHdl *parent)
const char *reason_to_string(int reason)
GpiObjHdl *create_gpi_obj_from_handle(vpiHandle new_hdl, std::string &name, std::string &fq_name)

Private Members

VpiReadwriteCbHdl m_read_write
VpiNextPhaseCbHdl m_next_phase
VpiReadOnlyCbHdl m_read_only