sc_core::sc_simcontext Class Reference

#include <sc_simcontext.h>

Collaboration diagram for sc_core::sc_simcontext:

Collaboration graph
[legend]
List of all members.

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
sc_object_managerget_object_manager ()
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 ()
const char * gen_unique_name (const char *basename_, bool preserve_first=false)
sc_method_handle register_method_process (const char *name, SC_ENTRY_FUNC fn, sc_module *)
sc_method_handle create_dynamic_method_process (const char *name, SC_ENTRY_FUNC fn, sc_process_host *, bool dont_initialize=false)
sc_thread_handle register_thread_process (const char *name, SC_ENTRY_FUNC fn, sc_module *)
sc_thread_handle create_dynamic_thread_process (const char *name, SC_ENTRY_FUNC fn, sc_process_host *, size_t size=0, bool dont_initialize=false)
sc_cthread_handle register_cthread_process (const char *name, SC_ENTRY_FUNC fn, sc_module *)
sc_curr_proc_handle get_curr_proc_info ()
void set_curr_proc (sc_method_handle)
void set_curr_proc (sc_thread_handle)
void reset_curr_proc ()
int next_proc_id ()
void add_trace_file (sc_trace_file *)
const sc_timetime_stamp () const
sc_dt::uint64 delta_count () const
bool is_running () const
bool update_phase () const
bool get_error ()
void set_error ()
sc_cor_pkgcor_pkg ()
sc_cornext_cor ()
const ::std::vector< sc_object * > & get_child_objects () const
void elaborate ()
void prepare_to_simulate ()
void initial_crunch (bool no_crunch)

Private Member Functions

void init ()
void clean ()
void add_child_object (sc_object *)
void remove_child_object (sc_object *)
void crunch ()
const sc_time next_time ()
int add_delta_event (sc_event *)
void remove_delta_event (sc_event *)
void add_timed_event (sc_event_timed *)
void trace_cycle (bool delta_cycle)
void push_runnable_method (sc_method_handle)
void push_runnable_thread (sc_thread_handle)
void push_runnable_method_front (sc_method_handle)
void push_runnable_thread_front (sc_thread_handle)
sc_method_handle pop_runnable_method ()
sc_thread_handle pop_runnable_thread ()
void remove_runnable_method (sc_method_handle)
void remove_runnable_thread (sc_thread_handle)
void do_sc_stop_action ()
 sc_simcontext (const sc_simcontext &)
sc_simcontextoperator= (const sc_simcontext &)

Private Attributes

sc_object_managerm_object_manager
sc_module_registrym_module_registry
sc_port_registrym_port_registry
sc_export_registrym_export_registry
sc_prim_channel_registrym_prim_channel_registry
sc_name_genm_name_gen
sc_process_tablem_process_table
sc_curr_proc_info m_curr_proc_info
int m_next_proc_id
sc_pvector< sc_object * > m_child_objects
sc_pvector< sc_event * > m_delta_events
sc_ppq< sc_event_timed * > * m_timed_events
sc_pvector< sc_trace_file * > m_trace_files
bool m_something_to_trace
sc_runnablem_runnable
sc_time_paramsm_time_params
sc_time m_curr_time
sc_dt::uint64 m_delta_count
bool m_forced_stop
bool m_ready_to_simulate
bool m_elaboration_done
bool m_update_phase
bool m_error
bool m_in_simulator_control
bool m_end_of_simulation_called
bool m_start_of_simulation_called
sc_eventm_until_event
sc_cor_pkgm_cor_pkg
sc_corm_cor
void(* m_watching_fn )(const sc_lambda_ptr &, sc_simcontext *)

Friends

class sc_event
class sc_module
class sc_object
class sc_time
class sc_clock
bool sc_end_of_simulation_invoked ()
bool sc_start_of_simulation_invoked ()
void sc_set_time_resolution (double, sc_time_unit)
sc_time sc_get_time_resolution ()
void sc_set_default_time_unit (double, sc_time_unit)
sc_time sc_get_default_time_unit ()
void watching (const sc_lambda_ptr &, sc_simcontext *)
void watching (const sc_signal_bool_deval &, sc_simcontext *)

Constructor & Destructor Documentation

sc_core::sc_simcontext::sc_simcontext (  ) 

sc_core::sc_simcontext::~sc_simcontext (  ) 

sc_core::sc_simcontext::sc_simcontext ( const sc_simcontext  )  [private]


Member Function Documentation

void sc_core::sc_simcontext::init (  )  [private]

void sc_core::sc_simcontext::clean (  )  [private]

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

void sc_core::sc_simcontext::cycle ( const sc_time  )  [inline]

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

void sc_core::sc_simcontext::stop (  ) 

void sc_core::sc_simcontext::end (  ) 

void sc_core::sc_simcontext::reset (  ) 

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

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

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

void sc_core::sc_simcontext::hierarchy_push ( sc_module  ) 

sc_module * sc_core::sc_simcontext::hierarchy_pop (  ) 

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

sc_object * sc_core::sc_simcontext::first_object (  ) 

sc_object * sc_core::sc_simcontext::next_object (  ) 

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

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

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

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

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

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

sc_method_handle sc_core::sc_simcontext::register_method_process ( const char *  name,
SC_ENTRY_FUNC  fn,
sc_module  
)

sc_method_handle sc_core::sc_simcontext::create_dynamic_method_process ( const char *  name,
SC_ENTRY_FUNC  fn,
sc_process_host ,
bool  dont_initialize = false 
)

sc_thread_handle sc_core::sc_simcontext::register_thread_process ( const char *  name,
SC_ENTRY_FUNC  fn,
sc_module  
)

sc_thread_handle sc_core::sc_simcontext::create_dynamic_thread_process ( const char *  name,
SC_ENTRY_FUNC  fn,
sc_process_host ,
size_t  size = 0,
bool  dont_initialize = false 
)

sc_cthread_handle sc_core::sc_simcontext::register_cthread_process ( const char *  name,
SC_ENTRY_FUNC  fn,
sc_module  
)

sc_curr_proc_handle sc_core::sc_simcontext::get_curr_proc_info (  )  [inline]

void sc_core::sc_simcontext::set_curr_proc ( sc_method_handle   )  [inline]

void sc_core::sc_simcontext::set_curr_proc ( sc_thread_handle   )  [inline]

void sc_core::sc_simcontext::reset_curr_proc (  )  [inline]

int sc_core::sc_simcontext::next_proc_id (  )  [inline]

void sc_core::sc_simcontext::add_trace_file ( sc_trace_file  ) 

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

sc_dt::uint64 sc_core::sc_simcontext::delta_count (  )  const [inline]

bool sc_core::sc_simcontext::is_running (  )  const [inline]

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

bool sc_core::sc_simcontext::get_error (  )  [inline]

void sc_core::sc_simcontext::set_error (  )  [inline]

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

sc_cor * sc_core::sc_simcontext::next_cor (  ) 

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

void sc_core::sc_simcontext::elaborate (  ) 

void sc_core::sc_simcontext::prepare_to_simulate (  ) 

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

void sc_core::sc_simcontext::add_child_object ( sc_object  )  [private]

void sc_core::sc_simcontext::remove_child_object ( sc_object  )  [private]

void sc_core::sc_simcontext::crunch (  )  [inline, private]

const sc_time sc_core::sc_simcontext::next_time (  )  [private]

int sc_core::sc_simcontext::add_delta_event ( sc_event  )  [inline, private]

void sc_core::sc_simcontext::remove_delta_event ( sc_event  )  [private]

void sc_core::sc_simcontext::add_timed_event ( sc_event_timed  )  [inline, private]

void sc_core::sc_simcontext::trace_cycle ( bool  delta_cycle  )  [private]

void sc_core::sc_simcontext::push_runnable_method ( sc_method_handle   )  [inline, private]

void sc_core::sc_simcontext::push_runnable_thread ( sc_thread_handle   )  [inline, private]

void sc_core::sc_simcontext::push_runnable_method_front ( sc_method_handle   )  [inline, private]

void sc_core::sc_simcontext::push_runnable_thread_front ( sc_thread_handle   )  [inline, private]

sc_method_handle sc_core::sc_simcontext::pop_runnable_method (  )  [inline, private]

sc_thread_handle sc_core::sc_simcontext::pop_runnable_thread (  )  [inline, private]

void sc_core::sc_simcontext::remove_runnable_method ( sc_method_handle   )  [inline, private]

void sc_core::sc_simcontext::remove_runnable_thread ( sc_thread_handle   )  [inline, private]

void sc_core::sc_simcontext::do_sc_stop_action (  )  [private]

sc_simcontext& sc_core::sc_simcontext::operator= ( const sc_simcontext  )  [private]


Friends And Related Function Documentation

friend class sc_event [friend]

friend class sc_module [friend]

friend class sc_object [friend]

friend class sc_time [friend]

friend class sc_clock [friend]

bool sc_end_of_simulation_invoked (  )  [friend]

bool sc_start_of_simulation_invoked (  )  [friend]

void sc_set_time_resolution ( double  v,
sc_time_unit  tu 
) [friend]

sc_time sc_get_time_resolution (  )  [friend]

void sc_set_default_time_unit ( double  v,
sc_time_unit  tu 
) [friend]

sc_time sc_get_default_time_unit (  )  [friend]

void watching ( const sc_lambda_ptr lambda,
sc_simcontext simc = sc_get_curr_simcontext() 
) [friend]

void watching ( const sc_signal_bool_deval &  s,
sc_simcontext simc = sc_get_curr_simcontext() 
) [friend]


Member Data Documentation

sc_object_manager* sc_core::sc_simcontext::m_object_manager [private]

sc_module_registry* sc_core::sc_simcontext::m_module_registry [private]

sc_port_registry* sc_core::sc_simcontext::m_port_registry [private]

sc_export_registry* sc_core::sc_simcontext::m_export_registry [private]

sc_prim_channel_registry* sc_core::sc_simcontext::m_prim_channel_registry [private]

sc_name_gen* sc_core::sc_simcontext::m_name_gen [private]

sc_process_table* sc_core::sc_simcontext::m_process_table [private]

sc_curr_proc_info sc_core::sc_simcontext::m_curr_proc_info [private]

int sc_core::sc_simcontext::m_next_proc_id [private]

sc_pvector<sc_object*> sc_core::sc_simcontext::m_child_objects [private]

sc_pvector<sc_event*> sc_core::sc_simcontext::m_delta_events [private]

sc_ppq<sc_event_timed*>* sc_core::sc_simcontext::m_timed_events [private]

sc_pvector<sc_trace_file*> sc_core::sc_simcontext::m_trace_files [private]

bool sc_core::sc_simcontext::m_something_to_trace [private]

sc_runnable* sc_core::sc_simcontext::m_runnable [private]

sc_time_params* sc_core::sc_simcontext::m_time_params [private]

sc_time sc_core::sc_simcontext::m_curr_time [private]

sc_dt::uint64 sc_core::sc_simcontext::m_delta_count [private]

bool sc_core::sc_simcontext::m_forced_stop [private]

bool sc_core::sc_simcontext::m_ready_to_simulate [private]

bool sc_core::sc_simcontext::m_elaboration_done [private]

bool sc_core::sc_simcontext::m_update_phase [private]

bool sc_core::sc_simcontext::m_error [private]

bool sc_core::sc_simcontext::m_in_simulator_control [private]

bool sc_core::sc_simcontext::m_end_of_simulation_called [private]

bool sc_core::sc_simcontext::m_start_of_simulation_called [private]

sc_event* sc_core::sc_simcontext::m_until_event [private]

sc_cor_pkg* sc_core::sc_simcontext::m_cor_pkg [private]

sc_cor* sc_core::sc_simcontext::m_cor [private]

void(* sc_core::sc_simcontext::m_watching_fn)(const sc_lambda_ptr &, sc_simcontext *) [private]


The documentation for this class was generated from the following files:
Generated on Wed Apr 25 13:53:30 2007 for SystemC by  doxygen 1.5.1