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 () |
Public Member Functions inherited from simics::systemc::Simulation | |
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) |
Public Member Functions inherited from simics::systemc::iface::SimulationInterface | |
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 |
Public Member Functions inherited from simics::systemc::iface::EventDeltaInterface | |
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 |
Public Member Functions inherited from simics::systemc::iface::ExecuteInterface | |
virtual | ~ExecuteInterface () |
virtual void | run ()=0 |
virtual void | stop ()=0 |
virtual void | switch_in ()=0 |
virtual void | switch_out ()=0 |
Public Member Functions inherited from simics::systemc::iface::FrequencyInterface | |
virtual double | get () const =0 |
virtual | ~FrequencyInterface () |
Public Member Functions inherited from simics::systemc::iface::ConcurrencyGroupInterface | |
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 () |
Public Member Functions inherited from simics::systemc::iface::ConcurrencyModeInterface | |
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 () |
Public Member Functions inherited from simics::systemc::iface::ExecuteControlInterface | |
virtual void | message_pending ()=0 |
virtual void | yield_request ()=0 |
virtual | ~ExecuteControlInterface () |
Public Member Functions inherited from simics::systemc::CheckpointStub | |
CheckpointStub () | |
virtual | ~CheckpointStub () |
std::vector< std::string > | systemcState () const |
void | setSystemcState (const std::vector< std::string > &checkpoints) |
Public Member Functions inherited from simics::systemc::SimContext | |
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 () |
Public Member Functions inherited from simics::systemc::iface::SimContextInterface | |
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 () |
Public Member Functions inherited from simics::systemc::ScMemoryProfilerControl | |
ScMemoryProfilerControl () | |
virtual | ~ScMemoryProfilerControl () |
bool | is_enabled () const |
void | set_enabled (bool enabled) |
Public Member Functions inherited from simics::systemc::iface::ScMemoryProfilerControlInterface | |
virtual bool | is_enabled () const =0 |
virtual void | set_enabled (bool enabled)=0 |
virtual | ~ScMemoryProfilerControlInterface () |
Public Member Functions inherited from simics::systemc::ProcessProfilerControl | |
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 () |
Public Member Functions inherited from simics::systemc::iface::ScProcessProfilerControlInterface | |
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 |
Public Member Functions inherited from simics::systemc::Version | |
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 |
Public Member Functions inherited from simics::systemc::iface::ScVersionInterface | |
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 () |
Public Member Functions inherited from simics::systemc::GasketInfo | |
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 () |
Public Member Functions inherited from simics::systemc::iface::ScGasketInfoInterface | |
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 | |
Protected Member Functions inherited from simics::systemc::Simulation | |
void | finalize () |
virtual void | callHandleEvent () |
const std::vector< conf_object_t * > & | instances () const |
Protected Member Functions inherited from simics::systemc::Version | |
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_ |