File VhpiImpl.h

Defines

GEN_IDX_SEP_LHS “__”
GEN_IDX_SEP_RHS “”
check_vhpi_error()

do { \

__check_vhpi_error(__FILE__, __func__, __LINE__); \

} while (0)

Functions

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

Subclassed by VhpiNextPhaseCbHdl, VhpiReadOnlyCbHdl, VhpiReadwriteCbHdl, VhpiShutdownCbHdl, VhpiStartupCbHdl, VhpiTimedCbHdl, VhpiValueCbHdl

Public Functions

VhpiCbHdl(GpiImplInterface *impl)
virtual ~VhpiCbHdl()
int arm_callback()
int cleanup_callback()

Protected Attributes

vhpiCbDataT cb_data
vhpiTimeT vhpi_time
class VhpiValueCbHdl : public VhpiCbHdl, public GpiValueCbHdl

Public Functions

VhpiValueCbHdl(GpiImplInterface *impl, VhpiSignalObjHdl *sig, int edge)
virtual ~VhpiValueCbHdl()
int cleanup_callback()

Private Members

std::string initial_value
bool rising
bool falling
VhpiSignalObjHdl *signal
class VhpiTimedCbHdl : public VhpiCbHdl

Public Functions

VhpiTimedCbHdl(GpiImplInterface *impl, uint64_t time_ps)
virtual ~VhpiTimedCbHdl()
int cleanup_callback()
class VhpiReadOnlyCbHdl : public VhpiCbHdl

Public Functions

VhpiReadOnlyCbHdl(GpiImplInterface *impl)
virtual ~VhpiReadOnlyCbHdl()
class VhpiNextPhaseCbHdl : public VhpiCbHdl

Public Functions

VhpiNextPhaseCbHdl(GpiImplInterface *impl)
virtual ~VhpiNextPhaseCbHdl()
class VhpiStartupCbHdl : public VhpiCbHdl

Public Functions

VhpiStartupCbHdl(GpiImplInterface *impl)
int run_callback()
int cleanup_callback()
virtual ~VhpiStartupCbHdl()
class VhpiShutdownCbHdl : public VhpiCbHdl

Public Functions

VhpiShutdownCbHdl(GpiImplInterface *impl)
int run_callback()
int cleanup_callback()
virtual ~VhpiShutdownCbHdl()
class VhpiReadwriteCbHdl : public VhpiCbHdl

Public Functions

VhpiReadwriteCbHdl(GpiImplInterface *impl)
virtual ~VhpiReadwriteCbHdl()
class VhpiArrayObjHdl : public GpiObjHdl

Public Functions

VhpiArrayObjHdl(GpiImplInterface *impl, vhpiHandleT hdl, gpi_objtype_t objtype)
~VhpiArrayObjHdl()
int initialise(std::string &name, std::string &fq_name)
class VhpiObjHdl : public GpiObjHdl

Public Functions

VhpiObjHdl(GpiImplInterface *impl, vhpiHandleT hdl, gpi_objtype_t objtype)
~VhpiObjHdl()
int initialise(std::string &name, std::string &fq_name)
class VhpiSignalObjHdl : public GpiSignalObjHdl

Subclassed by VhpiLogicSignalObjHdl

Public Functions

VhpiSignalObjHdl(GpiImplInterface *impl, vhpiHandleT hdl, gpi_objtype_t objtype, bool is_const)
~VhpiSignalObjHdl()
const char *get_signal_value_binstr()
const char *get_signal_value_str()
double get_signal_value_real()
long get_signal_value_long()
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)

Protected Functions

const vhpiEnumT chr2vhpi(const char value)

Protected Attributes

vhpiValueT m_value
vhpiValueT m_binvalue
VhpiValueCbHdl m_rising_cb
VhpiValueCbHdl m_falling_cb
VhpiValueCbHdl m_either_cb
class VhpiLogicSignalObjHdl : public VhpiSignalObjHdl

Public Functions

VhpiLogicSignalObjHdl(GpiImplInterface *impl, vhpiHandleT hdl, gpi_objtype_t objtype, bool is_const)
virtual ~VhpiLogicSignalObjHdl()
int set_signal_value(const long value)
int set_signal_value(std::string &value)
int initialise(std::string &name, std::string &fq_name)
class VhpiIterator : public GpiIterator

Public Functions

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

Private Members

vhpiHandleT m_iterator
vhpiHandleT m_iter_obj
std::vector<vhpiOneToManyT> *selected
std::vector<vhpiOneToManyT>::iterator one2many

Private Static Attributes

GpiIteratorMapping<vhpiClassKindT, vhpiOneToManyT> iterate_over
class VhpiImpl : public GpiImplInterface

Public Functions

VhpiImpl(const std::string &name)
void sim_end()
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)
GpiCbHdl *register_timed_callback(uint64_t time_ps)
GpiCbHdl *register_readonly_callback()
GpiCbHdl *register_nexttime_callback()
GpiCbHdl *register_readwrite_callback()
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)
const char *format_to_string(int format)
GpiObjHdl *create_gpi_obj_from_handle(vhpiHandleT new_hdl, std::string &name, std::string &fq_name)

Private Members

VhpiReadwriteCbHdl m_read_write
VhpiNextPhaseCbHdl m_next_phase
VhpiReadOnlyCbHdl m_read_only