SystemC  2.3.2
Accellera SystemC proof-of-concept library
sc_core::sc_simcontext Class Reference

The simulation context. More...

#include <sysc/kernel/sc_simcontext.h>

Public Member Functions

 sc_simcontext ()
 
 ~sc_simcontext ()
 
void initialize (bool=false)
 
void cycle (const sc_time &)
 
void simulate (const sc_time &duration)
 
void stop ()
 
void end ()
 
void reset ()
 
int sim_status () const
 
bool elaboration_done () const
 
std::vector< sc_thread_handle > & get_active_invokers ()
 
sc_object_managerget_object_manager ()
 
sc_status get_status () const
 
sc_objectactive_object ()
 
void hierarchy_push (sc_module *)
 
sc_modulehierarchy_pop ()
 
sc_modulehierarchy_curr () const
 
sc_objectfirst_object ()
 
sc_objectnext_object ()
 
sc_objectfind_object (const char *name)
 
sc_module_registryget_module_registry ()
 
sc_port_registryget_port_registry ()
 
sc_export_registryget_export_registry ()
 
sc_prim_channel_registryget_prim_channel_registry ()
 
std::string construct_hierarchical_name (const sc_object *parent, const std::string &name)
 
bool register_hierarchical_name (const sc_object *parent, const std::string &name)
 
bool unregister_hierarchical_name (const sc_object *parent, const std::string &name)
 
bool hierarchical_name_exists (const sc_object *parent, const std::string &name)
 
const char * get_hierarchical_name (const sc_object *parent, const std::string &name)
 
const char * gen_unique_name (const char *basename_, bool preserve_first=false)
 
sc_process_handle create_cthread_process (const char *name_p, bool free_host, SC_ENTRY_FUNC method_p, sc_process_host *host_p, const sc_spawn_options *opt_p)
 
sc_process_handle create_method_process (const char *name_p, bool free_host, SC_ENTRY_FUNC method_p, sc_process_host *host_p, const sc_spawn_options *opt_p)
 
sc_process_handle create_thread_process (const char *name_p, bool free_host, SC_ENTRY_FUNC method_p, sc_process_host *host_p, const sc_spawn_options *opt_p)
 
sc_curr_proc_handle get_curr_proc_info ()
 
sc_process_bget_current_writer () const
 
bool write_check () const
 
bool write_check_conflicts_only () const
 
void set_curr_proc (sc_process_b *)
 
void reset_curr_proc ()
 
int next_proc_id ()
 
void add_trace_file (sc_trace_file *)
 
void remove_trace_file (sc_trace_file *)
 
const sc_timemax_time () const
 
const sc_timetime_stamp () const
 
sc_dt::uint64 change_stamp () const
 
sc_dt::uint64 delta_count () const
 
sc_dt::uint64 delta_count_at_current_time () const
 
bool event_occurred (sc_dt::uint64 last_change_count) const
 
bool evaluation_phase () const
 
bool is_running () const
 
bool update_phase () const
 
bool notify_phase () const
 
bool get_error ()
 
void set_error (sc_report *)
 
sc_cor_pkgcor_pkg ()
 
sc_cornext_cor ()
 
void add_reset_finder (sc_reset_finder *)
 
const ::std::vector< sc_object * > & get_child_objects () const
 
void elaborate ()
 
void prepare_to_simulate ()
 
void initial_crunch (bool no_crunch)
 
bool next_time (sc_time &t) const
 
bool pending_activity_at_current_time () const
 

Friends

struct sc_invoke_method
 
class sc_event
 
class sc_module
 
class sc_object
 
class sc_time
 
class sc_time_tuple
 
class sc_clock
 
class sc_method_process
 
class sc_phase_callback_registry
 
class sc_process_b
 
class sc_process_handle
 
class sc_prim_channel
 
class sc_cthread_process
 
class sc_thread_process
 
SC_API sc_dt::uint64 sc_delta_count ()
 
SC_API const std::vector< sc_event * > & sc_get_top_level_events (const sc_simcontext *simc_p)
 
SC_API const std::vector< sc_object * > & sc_get_top_level_objects (const sc_simcontext *simc_p)
 
SC_API bool sc_is_running (const sc_simcontext *simc_p)
 
SC_API void sc_pause ()
 
SC_API bool sc_end_of_simulation_invoked ()
 
SC_API void sc_start (const sc_time &, sc_starvation_policy)
 
SC_API bool sc_start_of_simulation_invoked ()
 
void sc_thread_cor_fn (void *)
 
SC_API sc_time sc_time_to_pending_activity (const sc_simcontext *)
 
SC_API bool sc_pending_activity_at_current_time (const sc_simcontext *)
 
SC_API bool sc_pending_activity_at_future_time (const sc_simcontext *)
 
SC_API void sc_set_time_resolution (double, sc_time_unit)
 
SC_API sc_time sc_get_time_resolution ()
 
SC_API void sc_set_default_time_unit (double, sc_time_unit)
 
SC_API sc_time sc_get_default_time_unit ()
 

Detailed Description

The simulation context.

Definition at line 149 of file sc_simcontext.h.

Constructor & Destructor Documentation

◆ sc_simcontext()

sc_core::sc_simcontext::sc_simcontext ( )

◆ ~sc_simcontext()

sc_core::sc_simcontext::~sc_simcontext ( )

Member Function Documentation

◆ active_object()

sc_object* sc_core::sc_simcontext::active_object ( )

◆ add_reset_finder()

void sc_core::sc_simcontext::add_reset_finder ( sc_reset_finder )

◆ add_trace_file()

void sc_core::sc_simcontext::add_trace_file ( sc_trace_file )

◆ change_stamp()

sc_dt::uint64 sc_core::sc_simcontext::change_stamp ( ) const
inline

Definition at line 534 of file sc_simcontext.h.

◆ construct_hierarchical_name()

std::string sc_core::sc_simcontext::construct_hierarchical_name ( const sc_object parent,
const std::string &  name 
)

◆ cor_pkg()

sc_cor_pkg* sc_core::sc_simcontext::cor_pkg ( )
inline

Definition at line 286 of file sc_simcontext.h.

◆ create_cthread_process()

sc_process_handle sc_core::sc_simcontext::create_cthread_process ( const char *  name_p,
bool  free_host,
SC_ENTRY_FUNC  method_p,
sc_process_host host_p,
const sc_spawn_options opt_p 
)

◆ create_method_process()

sc_process_handle sc_core::sc_simcontext::create_method_process ( const char *  name_p,
bool  free_host,
SC_ENTRY_FUNC  method_p,
sc_process_host host_p,
const sc_spawn_options opt_p 
)

◆ create_thread_process()

sc_process_handle sc_core::sc_simcontext::create_thread_process ( const char *  name_p,
bool  free_host,
SC_ENTRY_FUNC  method_p,
sc_process_host host_p,
const sc_spawn_options opt_p 
)

◆ cycle()

void sc_core::sc_simcontext::cycle ( const sc_time )

◆ delta_count()

sc_dt::uint64 sc_core::sc_simcontext::delta_count ( ) const

◆ delta_count_at_current_time()

sc_dt::uint64 sc_core::sc_simcontext::delta_count_at_current_time ( ) const
inline

Definition at line 540 of file sc_simcontext.h.

◆ elaborate()

void sc_core::sc_simcontext::elaborate ( )

◆ elaboration_done()

bool sc_core::sc_simcontext::elaboration_done ( ) const
inline

Definition at line 442 of file sc_simcontext.h.

◆ end()

void sc_core::sc_simcontext::end ( )

◆ evaluation_phase()

bool sc_core::sc_simcontext::evaluation_phase ( ) const
inline

Definition at line 562 of file sc_simcontext.h.

◆ event_occurred()

bool sc_core::sc_simcontext::event_occurred ( sc_dt::uint64  last_change_count) const
inline

Definition at line 555 of file sc_simcontext.h.

◆ find_object()

sc_object* sc_core::sc_simcontext::find_object ( const char *  name)

◆ first_object()

sc_object* sc_core::sc_simcontext::first_object ( )

◆ gen_unique_name()

const char* sc_core::sc_simcontext::gen_unique_name ( const char *  basename_,
bool  preserve_first = false 
)

◆ get_active_invokers()

std::vector< sc_thread_handle > & sc_core::sc_simcontext::get_active_invokers ( )
inline

Definition at line 291 of file sc_simcontext_int.h.

◆ get_child_objects()

const ::std::vector<sc_object*>& sc_core::sc_simcontext::get_child_objects ( ) const

◆ get_curr_proc_info()

sc_curr_proc_handle sc_core::sc_simcontext::get_curr_proc_info ( )
inline

Definition at line 507 of file sc_simcontext.h.

◆ get_current_writer()

sc_process_b * sc_core::sc_simcontext::get_current_writer ( ) const
inline

Definition at line 616 of file sc_simcontext.h.

◆ get_error()

bool sc_core::sc_simcontext::get_error ( )
inline

Definition at line 593 of file sc_simcontext.h.

◆ get_export_registry()

sc_export_registry * sc_core::sc_simcontext::get_export_registry ( )
inline

Definition at line 492 of file sc_simcontext.h.

◆ get_hierarchical_name()

const char* sc_core::sc_simcontext::get_hierarchical_name ( const sc_object parent,
const std::string &  name 
)

◆ get_module_registry()

sc_module_registry * sc_core::sc_simcontext::get_module_registry ( )
inline

Definition at line 478 of file sc_simcontext.h.

◆ get_object_manager()

sc_object_manager * sc_core::sc_simcontext::get_object_manager ( )
inline

Definition at line 471 of file sc_simcontext.h.

◆ get_port_registry()

sc_port_registry * sc_core::sc_simcontext::get_port_registry ( )
inline

Definition at line 485 of file sc_simcontext.h.

◆ get_prim_channel_registry()

sc_prim_channel_registry * sc_core::sc_simcontext::get_prim_channel_registry ( )
inline

Definition at line 499 of file sc_simcontext.h.

◆ get_status()

sc_status sc_core::sc_simcontext::get_status ( ) const
inline

Definition at line 448 of file sc_simcontext.h.

◆ hierarchical_name_exists()

bool sc_core::sc_simcontext::hierarchical_name_exists ( const sc_object parent,
const std::string &  name 
)

◆ hierarchy_curr()

sc_module* sc_core::sc_simcontext::hierarchy_curr ( ) const

◆ hierarchy_pop()

sc_module* sc_core::sc_simcontext::hierarchy_pop ( )

◆ hierarchy_push()

void sc_core::sc_simcontext::hierarchy_push ( sc_module )

◆ initial_crunch()

void sc_core::sc_simcontext::initial_crunch ( bool  no_crunch)
inline

◆ initialize()

void sc_core::sc_simcontext::initialize ( bool  = false)

◆ is_running()

bool sc_core::sc_simcontext::is_running ( ) const

◆ max_time()

const sc_time & sc_core::sc_simcontext::max_time ( ) const
inline

Definition at line 523 of file sc_simcontext.h.

◆ next_cor()

sc_cor* sc_core::sc_simcontext::next_cor ( )

◆ next_object()

sc_object* sc_core::sc_simcontext::next_object ( )

◆ next_proc_id()

int sc_core::sc_simcontext::next_proc_id ( )
inline

Definition at line 515 of file sc_simcontext.h.

◆ next_time()

bool sc_core::sc_simcontext::next_time ( sc_time t) const

◆ notify_phase()

bool sc_core::sc_simcontext::notify_phase ( ) const
inline

Definition at line 577 of file sc_simcontext.h.

◆ pending_activity_at_current_time()

bool sc_core::sc_simcontext::pending_activity_at_current_time ( ) const

◆ prepare_to_simulate()

void sc_core::sc_simcontext::prepare_to_simulate ( )

◆ register_hierarchical_name()

bool sc_core::sc_simcontext::register_hierarchical_name ( const sc_object parent,
const std::string &  name 
)

◆ remove_trace_file()

void sc_core::sc_simcontext::remove_trace_file ( sc_trace_file )

◆ reset()

void sc_core::sc_simcontext::reset ( )

◆ reset_curr_proc()

void sc_core::sc_simcontext::reset_curr_proc ( )
inline

Definition at line 101 of file sc_simcontext_int.h.

◆ set_curr_proc()

void sc_core::sc_simcontext::set_curr_proc ( sc_process_b process_h)
inline

Definition at line 91 of file sc_simcontext_int.h.

◆ set_error()

void sc_core::sc_simcontext::set_error ( sc_report err)
inline

Definition at line 584 of file sc_simcontext.h.

◆ sim_status()

int sc_core::sc_simcontext::sim_status ( ) const
inline

Definition at line 457 of file sc_simcontext.h.

◆ simulate()

void sc_core::sc_simcontext::simulate ( const sc_time duration)

◆ stop()

void sc_core::sc_simcontext::stop ( )

◆ time_stamp()

const sc_time & sc_core::sc_simcontext::time_stamp ( ) const
inline

Definition at line 547 of file sc_simcontext.h.

◆ unregister_hierarchical_name()

bool sc_core::sc_simcontext::unregister_hierarchical_name ( const sc_object parent,
const std::string &  name 
)

◆ update_phase()

bool sc_core::sc_simcontext::update_phase ( ) const
inline

Definition at line 570 of file sc_simcontext.h.

◆ write_check()

bool sc_core::sc_simcontext::write_check ( ) const
inline

Definition at line 622 of file sc_simcontext.h.

◆ write_check_conflicts_only()

bool sc_core::sc_simcontext::write_check_conflicts_only ( ) const
inline

Definition at line 297 of file sc_simcontext_int.h.

Friends And Related Function Documentation

◆ sc_clock

friend class sc_clock
friend

Definition at line 157 of file sc_simcontext.h.

◆ sc_cthread_process

friend class sc_cthread_process
friend

Definition at line 163 of file sc_simcontext.h.

◆ sc_delta_count

SC_API sc_dt::uint64 sc_delta_count ( )
friend

Definition at line 703 of file sc_simcontext.h.

◆ sc_end_of_simulation_invoked

SC_API bool sc_end_of_simulation_invoked ( )
friend

Definition at line 761 of file sc_simcontext.h.

◆ sc_event

friend class sc_event
friend

Definition at line 152 of file sc_simcontext.h.

◆ sc_get_default_time_unit

SC_API sc_time sc_get_default_time_unit ( )
friend

◆ sc_get_time_resolution

SC_API sc_time sc_get_time_resolution ( )
friend

◆ sc_get_top_level_events

SC_API const std::vector<sc_event*>& sc_get_top_level_events ( const sc_simcontext simc_p = sc_get_curr_simcontext())
friend

Definition at line 685 of file sc_simcontext.h.

◆ sc_get_top_level_objects

SC_API const std::vector<sc_object*>& sc_get_top_level_objects ( const sc_simcontext simc_p = sc_get_curr_simcontext())
friend

Definition at line 692 of file sc_simcontext.h.

◆ sc_invoke_method

friend struct sc_invoke_method
friend

Definition at line 151 of file sc_simcontext.h.

◆ sc_is_running

SC_API bool sc_is_running ( const sc_simcontext simc_p = sc_get_curr_simcontext())
friend

Definition at line 715 of file sc_simcontext.h.

◆ sc_method_process

friend class sc_method_process
friend

Definition at line 158 of file sc_simcontext.h.

◆ sc_module

friend class sc_module
friend

Definition at line 153 of file sc_simcontext.h.

◆ sc_object

friend class sc_object
friend

Definition at line 154 of file sc_simcontext.h.

◆ sc_pause

SC_API void sc_pause ( )
friend

Definition at line 722 of file sc_simcontext.h.

◆ sc_pending_activity_at_current_time

SC_API bool sc_pending_activity_at_current_time ( const sc_simcontext simc_p = sc_get_curr_simcontext())
friend

Definition at line 730 of file sc_simcontext.h.

◆ sc_pending_activity_at_future_time

SC_API bool sc_pending_activity_at_future_time ( const sc_simcontext simc_p = sc_get_curr_simcontext())
friend

Definition at line 738 of file sc_simcontext.h.

◆ sc_phase_callback_registry

friend class sc_phase_callback_registry
friend

Definition at line 159 of file sc_simcontext.h.

◆ sc_prim_channel

friend class sc_prim_channel
friend

Definition at line 162 of file sc_simcontext.h.

◆ sc_process_b

friend class sc_process_b
friend

Definition at line 160 of file sc_simcontext.h.

◆ sc_process_handle

friend class sc_process_handle
friend

Definition at line 161 of file sc_simcontext.h.

◆ sc_set_default_time_unit

SC_API void sc_set_default_time_unit ( double  ,
sc_time_unit   
)
friend

◆ sc_set_time_resolution

SC_API void sc_set_time_resolution ( double  ,
sc_time_unit   
)
friend

◆ sc_start

SC_API void sc_start ( const sc_time ,
sc_starvation_policy   
)
friend

◆ sc_start_of_simulation_invoked

SC_API bool sc_start_of_simulation_invoked ( )
friend

Definition at line 825 of file sc_simcontext.h.

◆ sc_thread_cor_fn

void sc_thread_cor_fn ( void *  )
friend

◆ sc_thread_process

friend class sc_thread_process
friend

Definition at line 164 of file sc_simcontext.h.

◆ sc_time

friend class sc_time
friend

Definition at line 155 of file sc_simcontext.h.

◆ sc_time_to_pending_activity

SC_API sc_time sc_time_to_pending_activity ( const sc_simcontext )
friend

◆ sc_time_tuple

friend class sc_time_tuple
friend

Definition at line 156 of file sc_simcontext.h.


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