C Code Library Reference¶
Cocotb contains a library called GPI
(in directory cocotb/share/lib/gpi/
) written in C++
that is an abstraction layer for the VPI, VHPI, and FLI simulator interfaces.
The interaction between Python and GPI is via a Python extension module called simulator
(in directory cocotb/share/lib/simulator/
) which provides routines for
traversing the hierarchy, getting/setting an object’s value, registering callbacks etc.
API Documentation¶
- Class list
- Class FliEnumObjHdl
- Class FliImpl
- Class FliIntObjHdl
- Class FliIterator
- Class FliLogicObjHdl
- Class FliNextPhaseCbHdl
- Class FliObj
- Class FliObjHdl
- Class FliProcessCbHdl
- Class FliReadOnlyCbHdl
- Class FliReadWriteCbHdl
- Class FliRealObjHdl
- Class FliShutdownCbHdl
- Class FliSignalCbHdl
- Class FliSignalObjHdl
- Class FliSimPhaseCbHdl
- Class FliStartupCbHdl
- Class FliStringObjHdl
- Class FliTimedCbHdl
- Class FliTimerCache
- Class FliValueObjHdl
- Class GpiCbHdl
- Class GpiClockHdl
- Class GpiHdl
- Class GpiImplInterface
- Class GpiIterator
- Class GpiIteratorMapping
- Class GpiObjHdl
- Class GpiSignalObjHdl
- Class GpiValueCbHdl
- Class VhpiArrayObjHdl
- Class VhpiCbHdl
- Class VhpiImpl
- Class VhpiIterator
- Class VhpiLogicSignalObjHdl
- Class VhpiNextPhaseCbHdl
- Class VhpiObjHdl
- Class VhpiReadOnlyCbHdl
- Class VhpiReadwriteCbHdl
- Class VhpiShutdownCbHdl
- Class VhpiSignalObjHdl
- Class VhpiStartupCbHdl
- Class VhpiTimedCbHdl
- Class VhpiValueCbHdl
- Class VpiArrayObjHdl
- Class VpiCbHdl
- Class VpiImpl
- Class VpiIterator
- Class VpiNextPhaseCbHdl
- Class VpiObjHdl
- Class VpiReadOnlyCbHdl
- Class VpiReadwriteCbHdl
- Class VpiShutdownCbHdl
- Class VpiSignalObjHdl
- Class VpiSingleIterator
- Class VpiStartupCbHdl
- Class VpiTimedCbHdl
- Class VpiValueCbHdl
- Class cocotb_entrypoint
- Class cocotb_entrypoint::cocotb_arch
- File list
- File FliCbHdl.cpp
- File FliImpl.cpp
- File FliImpl.h
- File FliObjHdl.cpp
- File GpiCbHdl.cpp
- File GpiCommon.cpp
- File VhpiCbHdl.cpp
- File VhpiImpl.cpp
- File VhpiImpl.h
- File VpiCbHdl.cpp
- File VpiImpl.cpp
- File VpiImpl.h
- File cocotb_utils.c
- File cocotb_utils.h
- File embed.h
- File entrypoint.vhdl
- File gpi.h
- File gpi_embed.c
- File gpi_logging.c
- File gpi_logging.h
- File gpi_priv.h
- File python3_compat.h
- File simulatormodule.c
- File simulatormodule.h
- File simulatormodule_python2.c
- File simulatormodule_python3.c
- File sv_vpi_user.h
- File verilator.cpp
- File vhpi_user.h
- File vpi_user.h
- File vpi_user_ext.h
- Struct list
- Struct _log_level_table
- Struct gpi_sim_info_s
- Struct module_state
- Struct sim_time
- Struct t_callback_data
- Struct t_cb_data
- Struct t_vpi_arrayvalue
- Struct t_vpi_assertion_step_info
- Struct t_vpi_attempt_info
- Struct t_vpi_delay
- Struct t_vpi_error_info
- Struct t_vpi_strengthval
- Struct t_vpi_systf_data
- Struct t_vpi_time
- Struct t_vpi_value
- Struct t_vpi_vecval
- Struct t_vpi_vlog_info
- Struct vhpiCbDataS
- Struct vhpiErrorInfoS
- Struct vhpiForeignDataS
- Struct vhpiPhysS
- Struct vhpiTimeS
- Struct vhpiValueS