Entry point for creating a Simics conf-object that adapts a SystemC model to Simics, by using Simics attributes and Simics interfaces. More...
#include <adapter.h>
Public Types | |
typedef Adapter * | is_systemc_adapter |
Public Member Functions | |
Adapter (ConfObjectRef o) | |
virtual | ~Adapter () |
virtual void | elaborate () |
Override this method to elaborate the SystemC hierarchy. | |
virtual void | tagGaskets (simics::systemc::GasketTagInterface *gasket_tag) |
Override this method to create tag based gaskets. | |
virtual void | bindGaskets () |
Override this method to bind Simics interfaces to SystemC after elaboration. | |
virtual void | finalize () |
Called during the finalize phase. | |
InternalInterface * | internal () |
virtual void | deinit () |
![]() | |
Simulation (ConfObjectRef o, InternalInterface *internal) | |
virtual | ~Simulation () |
virtual void | run () |
virtual void | stop () |
virtual void | switch_in () |
virtual void | switch_out () |
virtual uint64 | set_delta (conf_object_t *NOTNULL event_handler_obj, const event_class_t *next_event_ec, uint64 delta) |
virtual uint64 | get_delta (conf_object_t *NOTNULL event_handler_obj) |
virtual double | get () const |
virtual std::vector< conf_object_t * > | serialized_memory_group (unsigned group_index) |
virtual std::vector< conf_object_t * > | execution_group (unsigned group_index) |
virtual concurrency_mode_t | supported_modes () |
virtual concurrency_mode_t | current_mode () |
virtual void | switch_mode (concurrency_mode_t mode) |
virtual void | message_pending () |
virtual void | yield_request () |
int | runDeltaPhase (int count) |
bool | runSimulation (sc_core::sc_time t) |
void | stopSimulation () |
sc_core::sc_simcontext * | context () const |
ConfObjectRef | simics_object () const |
void | set_run_next_delta (const int &count) |
![]() | |
virtual | ~SimulationInterface () |
virtual int | runDeltaPhase (int count)=0 |
virtual bool | runSimulation (sc_core::sc_time t)=0 |
virtual void | stopSimulation ()=0 |
virtual sc_core::sc_simcontext * | context () const =0 |
virtual ConfObjectRef | simics_object () const =0 |
![]() | |
virtual | ~EventDeltaInterface () |
virtual uint64 | set_delta (conf_object_t *NOTNULL event_handler_obj, const event_class_t *next_event_ec, uint64 delta)=0 |
virtual uint64 | get_delta (conf_object_t *NOTNULL event_handler_obj)=0 |
![]() | |
virtual | ~ExecuteInterface () |
virtual void | run ()=0 |
virtual void | stop ()=0 |
virtual void | switch_in ()=0 |
virtual void | switch_out ()=0 |
![]() | |
virtual double | get () const =0 |
virtual | ~FrequencyInterface () |
![]() | |
virtual std::vector< conf_object_t * > | serialized_memory_group (unsigned group_index)=0 |
virtual std::vector< conf_object_t * > | execution_group (unsigned group_index)=0 |
virtual | ~ConcurrencyGroupInterface () |
![]() | |
virtual concurrency_mode_t | supported_modes ()=0 |
virtual concurrency_mode_t | current_mode ()=0 |
virtual void | switch_mode (concurrency_mode_t mode)=0 |
virtual | ~ConcurrencyModeInterface () |
![]() | |
virtual void | message_pending ()=0 |
virtual void | yield_request ()=0 |
virtual | ~ExecuteControlInterface () |
![]() | |
CheckpointStub () | |
virtual | ~CheckpointStub () |
std::vector< std::string > | systemcState () const |
void | setSystemcState (const std::vector< std::string > &checkpoints) |
![]() | |
SimContext (iface::SimulationInterface *simulation) | |
virtual uint64 | time_stamp () |
virtual uint64 | delta_count () |
virtual uint64 | time_to_pending_activity () |
virtual int | status () |
virtual attr_value_t | events () |
![]() | |
virtual uint64 | time_stamp ()=0 |
virtual uint64 | delta_count ()=0 |
virtual uint64 | time_to_pending_activity ()=0 |
virtual int | status ()=0 |
virtual attr_value_t | events ()=0 |
virtual | ~SimContextInterface () |
![]() | |
ScMemoryProfilerControl () | |
virtual | ~ScMemoryProfilerControl () |
bool | is_enabled () const |
void | set_enabled (bool enabled) |
![]() | |
virtual bool | is_enabled () const =0 |
virtual void | set_enabled (bool enabled)=0 |
virtual | ~ScMemoryProfilerControlInterface () |
![]() | |
ProcessProfilerControl (iface::SimulationInterface *simulation) | |
virtual bool | is_enabled () |
virtual void | set_enabled (bool enable) |
virtual uint64_t | total_time () |
virtual uint64_t | total_number_of_calls () |
virtual void | clear_data () |
![]() | |
virtual | ~ScProcessProfilerControlInterface () |
virtual bool | is_enabled ()=0 |
virtual void | set_enabled (bool enable)=0 |
virtual uint64_t | total_time ()=0 |
virtual uint64_t | total_number_of_calls ()=0 |
virtual void | clear_data ()=0 |
![]() | |
Version () | |
const char * | kernel_version () const |
const char * | library_version () const |
const char * | library_kernel_version () const |
const std::map< std::string, std::string > * | versions () const |
bool | operator== (const iface::ScVersionInterface &rhs) const |
bool | operator!= (const iface::ScVersionInterface &rhs) const |
![]() | |
virtual const char * | kernel_version () const =0 |
virtual const char * | library_version () const =0 |
virtual const char * | library_kernel_version () const =0 |
virtual const std::map< std::string, std::string > * | versions () const =0 |
virtual | ~ScVersionInterface () |
![]() | |
GasketInfo (ConfObjectRef obj) | |
const std::vector< std::vector< std::string > > * | simics2tlm () override |
const std::vector< std::vector< std::string > > * | tlm2simics () override |
const std::vector< std::vector< std::string > > * | simics2systemc () override |
const std::vector< std::vector< std::string > > * | systemc2simics () override |
virtual | ~GasketInfo () |
![]() | |
virtual const std::vector< std::vector< std::string > > * | simics2tlm ()=0 |
virtual const std::vector< std::vector< std::string > > * | tlm2simics ()=0 |
virtual const std::vector< std::vector< std::string > > * | simics2systemc ()=0 |
virtual const std::vector< std::vector< std::string > > * | systemc2simics ()=0 |
virtual | ~ScGasketInfoInterface () |
Static Public Member Functions | |
template<typename C > | |
static void | initClassInternal (ConfClass *conf_class) |
static SimulationInterface & | simulation_from_conf_obj (conf_object_t *obj) |
static awareness::ProxyBuilder * | proxy_builder () |
Public Attributes | |
std::vector< simics::ConfObjectRef > | gaskets_ |
Additional Inherited Members | |
![]() | |
void | finalize () |
virtual void | callHandleEvent () |
const std::vector< conf_object_t * > & | instances () const |
![]() | |
void | setVersion (const std::string &key, const std::string &value) |
Entry point for creating a Simics conf-object that adapts a SystemC model to Simics, by using Simics attributes and Simics interfaces.
If there is no intent to communicate with Simics, please see the RegisterModel class instead.
|
explicit |
|
virtual |
|
inlinevirtual |
Override this method to bind Simics interfaces to SystemC after elaboration.
This is necessary if the creation of the hierarchy depends on any of the Simics attributes. If not, the elaboration and binding can be done in the constructor instead.
|
virtual |
|
inlinevirtual |
Override this method to elaborate the SystemC hierarchy.
This is necessary if the creation of the hierarchy depends on any of the Simics attributes. If not, the elaboration can be done in the constructor instead.
|
virtual |
Called during the finalize phase.
Will setup a context and call elaborate() followed by bindGaskets().
Any class overriding the finalize method must call the finalize method in this base class.
NOTE: it is recommended to not override finalize() in the derived class, but rather use one of the elaborate() or bindGaskets() methods instead.
|
inlinestatic |
|
inline |
|
inlinestatic |
|
static |
|
inlinevirtual |
Override this method to create tag based gaskets.
This is necessary if the gaskets are not compiled into the Adapter integration but created as isolated Simics objects.
std::vector<simics::ConfObjectRef> simics::systemc::Adapter::gaskets_ |