SystemC Library API Reference Manual
Reference documentation for the Simics SystemC Library.
 
Loading...
Searching...
No Matches
simics::systemc::Simulation Class Reference

Provides the interface to the SystemC kernel. More...

#include <simulation.h>

Inheritance diagram for simics::systemc::Simulation:
simics::systemc::iface::SimulationInterface simics::systemc::iface::EventDeltaInterface simics::systemc::iface::ExecuteInterface simics::systemc::iface::FrequencyInterface simics::systemc::iface::ConcurrencyGroupInterface simics::systemc::iface::ConcurrencyModeInterface simics::systemc::iface::ExecuteControlInterface simics::systemc::AdapterBase simics::systemc::AdapterNonCheckpointable

Public Member Functions

 Simulation (ConfObjectRef o, InternalInterface *internal)
 
virtual ~Simulation ()
 
void run () override
 
void stop () override
 
void switch_in () override
 
void switch_out () override
 
uint64 set_delta (conf_object_t *NOTNULL event_handler_obj, const event_class_t *next_event_ec, uint64 delta) override
 
uint64 get_delta (conf_object_t *NOTNULL event_handler_obj) override
 
double get () const override
 
std::vector< conf_object_t * > serialized_memory_group (unsigned group_index) override
 
std::vector< conf_object_t * > execution_group (unsigned group_index) override
 
concurrency_mode_t supported_modes () override
 
concurrency_mode_t current_mode () override
 
void switch_mode (concurrency_mode_t mode) override
 
void message_pending () override
 
void yield_request () override
 
int runDeltaPhase (int count) override
 
bool runSimulation (sc_core::sc_time t) override
 
void stopSimulation () override
 
sc_core::sc_simcontext * context () const override
 
ConfObjectRef simics_object () const override
 
void set_run_next_delta (const int &count)
 
uint64_t get_sc_time_resolution () const
 
void set_sc_time_resolution (uint64_t time_resolution)
 
- 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 ()
 

Protected Member Functions

void finalize ()
 
virtual void callHandleEvent ()
 
const std::vector< conf_object_t * > & instances () const
 
void set_frequency (double frequency)
 

Detailed Description

Provides the interface to the SystemC kernel.

Handles running the SystemC scheduler on entry from Simics. The class also maintains the simulation context, making it possible to create multiple instances of the same module.

Constructor & Destructor Documentation

◆ Simulation()

simics::systemc::Simulation::Simulation ( ConfObjectRef  o,
InternalInterface internal 
)

◆ ~Simulation()

virtual simics::systemc::Simulation::~Simulation ( )
virtual

Member Function Documentation

◆ callHandleEvent()

virtual void simics::systemc::Simulation::callHandleEvent ( )
protectedvirtual

◆ context()

sc_core::sc_simcontext * simics::systemc::Simulation::context ( ) const
overridevirtual

◆ current_mode()

concurrency_mode_t simics::systemc::Simulation::current_mode ( )
overridevirtual

◆ execution_group()

std::vector< conf_object_t * > simics::systemc::Simulation::execution_group ( unsigned  group_index)
overridevirtual

◆ finalize()

void simics::systemc::Simulation::finalize ( )
protected

◆ get()

double simics::systemc::Simulation::get ( ) const
overridevirtual

◆ get_delta()

uint64 simics::systemc::Simulation::get_delta ( conf_object_t *NOTNULL  event_handler_obj)
overridevirtual

◆ get_sc_time_resolution()

uint64_t simics::systemc::Simulation::get_sc_time_resolution ( ) const
inline

◆ instances()

const std::vector< conf_object_t * > & simics::systemc::Simulation::instances ( ) const
protected

◆ message_pending()

void simics::systemc::Simulation::message_pending ( )
overridevirtual

◆ run()

void simics::systemc::Simulation::run ( )
overridevirtual

◆ runDeltaPhase()

int simics::systemc::Simulation::runDeltaPhase ( int  count)
overridevirtual

◆ runSimulation()

bool simics::systemc::Simulation::runSimulation ( sc_core::sc_time  t)
overridevirtual

◆ serialized_memory_group()

std::vector< conf_object_t * > simics::systemc::Simulation::serialized_memory_group ( unsigned  group_index)
overridevirtual

◆ set_delta()

uint64 simics::systemc::Simulation::set_delta ( conf_object_t *NOTNULL  event_handler_obj,
const event_class_t *  next_event_ec,
uint64  delta 
)
overridevirtual

◆ set_frequency()

void simics::systemc::Simulation::set_frequency ( double  frequency)
protected

◆ set_run_next_delta()

void simics::systemc::Simulation::set_run_next_delta ( const int &  count)

◆ set_sc_time_resolution()

void simics::systemc::Simulation::set_sc_time_resolution ( uint64_t  time_resolution)

◆ simics_object()

ConfObjectRef simics::systemc::Simulation::simics_object ( ) const
overridevirtual

◆ stop()

void simics::systemc::Simulation::stop ( )
overridevirtual

◆ stopSimulation()

void simics::systemc::Simulation::stopSimulation ( )
overridevirtual

◆ supported_modes()

concurrency_mode_t simics::systemc::Simulation::supported_modes ( )
overridevirtual

◆ switch_in()

void simics::systemc::Simulation::switch_in ( )
overridevirtual

◆ switch_mode()

void simics::systemc::Simulation::switch_mode ( concurrency_mode_t  mode)
overridevirtual

◆ switch_out()

void simics::systemc::Simulation::switch_out ( )
overridevirtual

◆ yield_request()

void simics::systemc::Simulation::yield_request ( )
overridevirtual

The documentation for this class was generated from the following file: