File VpiImpl.h

Defines

check_vpi_error()

do { \

__check_vpi_error(__FILE__, __func__, __LINE__); \

} while (0)


Functions

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)
int arm_callback() override
int cleanup_callback() override

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)
int cleanup_callback() override

Private Members

s_vpi_value m_vpi_value
class VpiTimedCbHdl : public VpiCbHdl

Public Functions

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

Public Functions

VpiReadOnlyCbHdl(GpiImplInterface *impl)
class VpiNextPhaseCbHdl : public VpiCbHdl

Public Functions

VpiNextPhaseCbHdl(GpiImplInterface *impl)
class VpiReadwriteCbHdl : public VpiCbHdl

Public Functions

VpiReadwriteCbHdl(GpiImplInterface *impl)
class VpiStartupCbHdl : public VpiCbHdl

Public Functions

VpiStartupCbHdl(GpiImplInterface *impl)
int run_callback() override
int cleanup_callback() override
class VpiShutdownCbHdl : public VpiCbHdl

Public Functions

VpiShutdownCbHdl(GpiImplInterface *impl)
int run_callback() override
int cleanup_callback() override
class VpiArrayObjHdl : public GpiObjHdl

Public Functions

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

Public Functions

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

Public Functions

VpiSignalObjHdl(GpiImplInterface *impl, vpiHandle hdl, gpi_objtype_t objtype, bool is_const)
const char *get_signal_value_binstr() override
const char *get_signal_value_str() override
double get_signal_value_real() override
long get_signal_value_long() override
int set_signal_value(const long value, gpi_set_action_t action) override
int set_signal_value(const double value, gpi_set_action_t action) override
int set_signal_value_binstr(std::string &value, gpi_set_action_t action) override
int set_signal_value_str(std::string &value, gpi_set_action_t action) override
GpiCbHdl *value_change_cb(int edge) override
int initialise(std::string &name, std::string &fq_name) override

Private Functions

int set_signal_value(s_vpi_value value, gpi_set_action_t action)

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() override
Status next_handle(std::string &name, GpiObjHdl **hdl, void **raw_hdl) override

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)
Status next_handle(std::string &name, GpiObjHdl **hdl, void **raw_hdl) override

Protected Attributes

vpiHandle m_iterator = nullptr
class VpiImpl : public GpiImplInterface

Public Functions

VpiImpl(const std::string &name)
void sim_end(void) override
void get_sim_time(uint32_t *high, uint32_t *low) override
void get_sim_precision(int32_t *precision) override
const char *get_simulator_product() override
const char *get_simulator_version() override
GpiObjHdl *get_root_handle(const char *name) override
GpiIterator *iterate_handle(GpiObjHdl *obj_hdl, gpi_iterator_sel_t type) override
GpiObjHdl *next_handle(GpiIterator *iter)
GpiCbHdl *register_timed_callback(uint64_t time_ps) override
GpiCbHdl *register_readonly_callback() override
GpiCbHdl *register_nexttime_callback() override
GpiCbHdl *register_readwrite_callback() override
int deregister_callback(GpiCbHdl *obj_hdl) override
GpiObjHdl *native_check_create(std::string &name, GpiObjHdl *parent) override
GpiObjHdl *native_check_create(int32_t index, GpiObjHdl *parent) override
GpiObjHdl *native_check_create(void *raw_hdl, GpiObjHdl *parent) override
const char *reason_to_string(int reason) override
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