SystemC 3.0.0
Accellera SystemC proof-of-concept library
Public Member Functions | Friends | List of all members
sc_core::sc_simcontext Class Reference

#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_status get_thread_safe_status ()
 
sc_stage get_stage () const
 
sc_object_hostactive_object ()
 
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 ()
 
sc_stage_callback_registryget_stage_cb_registry ()
 
sc_stub_registryget_stub_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 ()
 
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
 
sc_eventnull_event ()
 
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
 
void pre_suspend () const
 
void post_suspend () const
 

Friends

class sc_event
 
class sc_export_registry
 
class sc_hierarchy_scope
 
class sc_initializer_function
 
class sc_invoke_method
 
class sc_module
 
class sc_object
 
class sc_object_host
 
class sc_time
 
class sc_time_tuple
 
class sc_clock
 
class sc_method_process
 
class sc_stage_callback_registry
 
class sc_port_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_suspend_all ()
 
SC_API void sc_unsuspend_all ()
 
SC_API void sc_unsuspendable ()
 
SC_API void sc_suspendable ()
 
SC_API void sc_register_stage_callback (sc_stage_callback_if &cb, unsigned int mask)
 
SC_API void sc_unregister_stage_callback (sc_stage_callback_if &cb, unsigned int mask)
 
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

Definition at line 163 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_host * sc_core::sc_simcontext::active_object ( )

◆ add_reset_finder()

void sc_core::sc_simcontext::add_reset_finder ( sc_reset_finder )

◆ change_stamp()

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

Definition at line 621 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 314 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 627 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 499 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 649 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 642 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 272 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 594 of file sc_simcontext.h.

◆ get_current_writer()

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

Definition at line 703 of file sc_simcontext.h.

◆ get_error()

bool sc_core::sc_simcontext::get_error ( )
inline

Definition at line 680 of file sc_simcontext.h.

◆ get_export_registry()

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

Definition at line 566 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 552 of file sc_simcontext.h.

◆ get_object_manager()

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

Definition at line 545 of file sc_simcontext.h.

◆ get_port_registry()

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

Definition at line 559 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 573 of file sc_simcontext.h.

◆ get_stage()

sc_stage sc_core::sc_simcontext::get_stage ( ) const
inline

Definition at line 524 of file sc_simcontext.h.

◆ get_stage_cb_registry()

sc_stage_callback_registry * sc_core::sc_simcontext::get_stage_cb_registry ( )
inline

Definition at line 580 of file sc_simcontext.h.

◆ get_status()

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

Definition at line 517 of file sc_simcontext.h.

◆ get_stub_registry()

sc_stub_registry * sc_core::sc_simcontext::get_stub_registry ( )
inline

Definition at line 587 of file sc_simcontext.h.

◆ get_thread_safe_status()

sc_status sc_core::sc_simcontext::get_thread_safe_status ( )

◆ hierarchical_name_exists()

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

◆ 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 610 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 602 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 664 of file sc_simcontext.h.

◆ null_event()

sc_event & sc_core::sc_simcontext::null_event ( )

◆ pending_activity_at_current_time()

bool sc_core::sc_simcontext::pending_activity_at_current_time ( ) const

◆ post_suspend()

void sc_core::sc_simcontext::post_suspend ( ) const

◆ pre_suspend()

void sc_core::sc_simcontext::pre_suspend ( ) 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 
)

◆ reset()

void sc_core::sc_simcontext::reset ( )

◆ reset_curr_proc()

void sc_core::sc_simcontext::reset_curr_proc ( )
inline

Definition at line 82 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 72 of file sc_simcontext_int.h.

◆ set_error()

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

Definition at line 671 of file sc_simcontext.h.

◆ sim_status()

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

Definition at line 531 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 634 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 657 of file sc_simcontext.h.

◆ write_check()

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

Definition at line 716 of file sc_simcontext.h.

◆ write_check_conflicts_only()

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

Definition at line 278 of file sc_simcontext_int.h.

Friends And Related Function Documentation

◆ sc_clock

friend class sc_clock
friend

Definition at line 175 of file sc_simcontext.h.

◆ sc_cthread_process

friend class sc_cthread_process
friend

Definition at line 182 of file sc_simcontext.h.

◆ sc_delta_count

SC_API sc_dt::uint64 sc_delta_count ( )
friend

Definition at line 799 of file sc_simcontext.h.

◆ sc_end_of_simulation_invoked

SC_API bool sc_end_of_simulation_invoked ( )
friend

Definition at line 865 of file sc_simcontext.h.

◆ sc_event

friend class sc_event
friend

Definition at line 165 of file sc_simcontext.h.

◆ sc_export_registry

friend class sc_export_registry
friend

Definition at line 166 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 781 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 788 of file sc_simcontext.h.

◆ sc_hierarchy_scope

friend class sc_hierarchy_scope
friend

Definition at line 167 of file sc_simcontext.h.

◆ sc_initializer_function

friend class sc_initializer_function
friend

Definition at line 168 of file sc_simcontext.h.

◆ sc_invoke_method

friend class sc_invoke_method
friend

Definition at line 169 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 811 of file sc_simcontext.h.

◆ sc_method_process

friend class sc_method_process
friend

Definition at line 176 of file sc_simcontext.h.

◆ sc_module

friend class sc_module
friend

Definition at line 170 of file sc_simcontext.h.

◆ sc_object

friend class sc_object
friend

Definition at line 171 of file sc_simcontext.h.

◆ sc_object_host

friend class sc_object_host
friend

Definition at line 172 of file sc_simcontext.h.

◆ sc_pause

SC_API void sc_pause ( )
friend

Definition at line 826 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 833 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 841 of file sc_simcontext.h.

◆ sc_port_registry

friend class sc_port_registry
friend

Definition at line 178 of file sc_simcontext.h.

◆ sc_prim_channel

friend class sc_prim_channel
friend

Definition at line 181 of file sc_simcontext.h.

◆ sc_process_b

friend class sc_process_b
friend

Definition at line 179 of file sc_simcontext.h.

◆ sc_process_handle

friend class sc_process_handle
friend

Definition at line 180 of file sc_simcontext.h.

◆ sc_register_stage_callback

SC_API void sc_register_stage_callback ( sc_stage_callback_if cb,
unsigned int  mask 
)
friend

◆ 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_stage_callback_registry

friend class sc_stage_callback_registry
friend

Definition at line 177 of file sc_simcontext.h.

◆ 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 944 of file sc_simcontext.h.

◆ sc_suspend_all

SC_API void sc_suspend_all ( )
friend

◆ sc_suspendable

SC_API void sc_suspendable ( )
friend

◆ sc_thread_cor_fn

void sc_thread_cor_fn ( void *  )
friend

◆ sc_thread_process

friend class sc_thread_process
friend

Definition at line 183 of file sc_simcontext.h.

◆ sc_time

friend class sc_time
friend

Definition at line 173 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 174 of file sc_simcontext.h.

◆ sc_unregister_stage_callback

SC_API void sc_unregister_stage_callback ( sc_stage_callback_if cb,
unsigned int  mask 
)
friend

◆ sc_unsuspend_all

SC_API void sc_unsuspend_all ( )
friend

◆ sc_unsuspendable

SC_API void sc_unsuspendable ( )
friend

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