File gpi.h

Defines

EXTERN_C_START
EXTERN_C_END
__attribute__(x)
GPI_RET(_code)

if (_code == 1) \

return 0; \

else \

return -1


Typedefs

typedef struct GpiObjHdl *gpi_sim_hdl
typedef struct GpiCbHdl *gpi_cb_hdl
typedef struct GpiIterator *gpi_iterator_hdl
EXTERN_C_START enum gpi_event_e gpi_event_t
typedef enum gpi_objtype_e gpi_objtype_t
typedef enum gpi_iterator_sel_e gpi_iterator_sel_t
typedef enum gpi_set_action_e gpi_set_action_t
typedef enum gpi_edge gpi_edge_e

Enums

enum gpi_event_e

Values:

enumerator SIM_INFO = 0
enumerator SIM_TEST_FAIL = 1
enumerator SIM_FAIL = 2
enum gpi_objtype_e

Values:

enumerator GPI_UNKNOWN = 0
enumerator GPI_MEMORY = 1
enumerator GPI_MODULE = 2
enumerator GPI_NET = 3
enumerator GPI_PARAMETER = 4
enumerator GPI_REGISTER = 5
enumerator GPI_ARRAY = 6
enumerator GPI_ENUM = 7
enumerator GPI_STRUCTURE = 8
enumerator GPI_REAL = 9
enumerator GPI_INTEGER = 10
enumerator GPI_STRING = 11
enumerator GPI_GENARRAY = 12
enum gpi_iterator_sel_e

Values:

enumerator GPI_OBJECTS = 1
enumerator GPI_DRIVERS = 2
enumerator GPI_LOADS = 3
enum gpi_set_action_e

Values:

enumerator GPI_DEPOSIT = 0
enumerator GPI_FORCE = 1
enumerator GPI_RELEASE = 2
enum gpi_edge

Values:

enumerator GPI_RISING = 1
enumerator GPI_FALLING = 2

Functions

bool gpi_has_registered_impl(void)

Returns 1 if there is a registered GPI implementation, 0 otherwise.

Useful for checking if a simulator is running.

void gpi_sim_end(void)
void gpi_cleanup(void)
void gpi_get_sim_time(uint32_t *high, uint32_t *low)
void gpi_get_sim_precision(int32_t *precision)
const char *gpi_get_simulator_product(void)

Returns a string with the running simulator product information.

Return

simulator product string

const char *gpi_get_simulator_version(void)

Returns a string with the running simulator version.

Return

simulator version string

gpi_sim_hdl gpi_get_root_handle(const char *name)
gpi_sim_hdl gpi_get_handle_by_name(gpi_sim_hdl parent, const char *name)
gpi_sim_hdl gpi_get_handle_by_index(gpi_sim_hdl parent, int32_t index)
void gpi_free_handle(gpi_sim_hdl gpi_hdl)
gpi_iterator_hdl gpi_iterate(gpi_sim_hdl base, gpi_iterator_sel_t type)
gpi_sim_hdl gpi_next(gpi_iterator_hdl iterator)
int gpi_get_num_elems(gpi_sim_hdl gpi_sim_hdl)
int gpi_get_range_left(gpi_sim_hdl gpi_sim_hdl)
int gpi_get_range_right(gpi_sim_hdl gpi_sim_hdl)
const char *gpi_get_signal_value_binstr(gpi_sim_hdl gpi_hdl)
const char *gpi_get_signal_value_str(gpi_sim_hdl gpi_hdl)
double gpi_get_signal_value_real(gpi_sim_hdl gpi_hdl)
long gpi_get_signal_value_long(gpi_sim_hdl gpi_hdl)
const char *gpi_get_signal_name_str(gpi_sim_hdl gpi_hdl)
const char *gpi_get_signal_type_str(gpi_sim_hdl gpi_hdl)
gpi_objtype_t gpi_get_object_type(gpi_sim_hdl gpi_hdl)
const char *gpi_get_definition_name(gpi_sim_hdl gpi_hdl)
const char *gpi_get_definition_file(gpi_sim_hdl gpi_hdl)
int gpi_is_constant(gpi_sim_hdl gpi_hdl)
int gpi_is_indexable(gpi_sim_hdl gpi_hdl)
void gpi_set_signal_value_real(gpi_sim_hdl gpi_hdl, double value, gpi_set_action_t action)
void gpi_set_signal_value_long(gpi_sim_hdl gpi_hdl, long value, gpi_set_action_t action)
void gpi_set_signal_value_binstr(gpi_sim_hdl gpi_hdl, const char *str, gpi_set_action_t action)
void gpi_set_signal_value_str(gpi_sim_hdl gpi_hdl, const char *str, gpi_set_action_t action)
gpi_cb_hdl gpi_register_timed_callback(int (*gpi_function)(const void*), void *gpi_cb_data, uint64_t time_ps, )
gpi_cb_hdl gpi_register_value_change_callback(int (*gpi_function)(const void*), void *gpi_cb_data, gpi_sim_hdl gpi_hdl, int edge, )
gpi_cb_hdl gpi_register_readonly_callback(int (*gpi_function)(const void*), void *gpi_cb_data, )
gpi_cb_hdl gpi_register_nexttime_callback(int (*gpi_function)(const void*), void *gpi_cb_data, )
gpi_cb_hdl gpi_register_readwrite_callback(int (*gpi_function)(const void*), void *gpi_cb_data, )
void gpi_deregister_callback(gpi_cb_hdl gpi_hdl)
void *gpi_get_callback_data(gpi_cb_hdl gpi_hdl)
size_t gpi_print_registered_impl(void)