| 
    SystemC
    Recoding Infrastructure for SystemC v0.6.0 derived from Accellera SystemC 2.3.1
    
   Accellera SystemC proof-of-concept library 
   | 
 
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 &) | 
| This function is not supported by the out-of-order simulation in the current release.  More... | |
| void | simulate (const sc_time &duration) | 
| void | stop () | 
| void | end () | 
| void | reset () | 
| void | print_threads_states () | 
| void | print_events_states () | 
| void | oooschedule (sc_cor *cor) | 
| Scheduling function in the OoO simulation.  More... | |
| int | sim_status () const | 
| bool | elaboration_done () const | 
| std::vector< sc_thread_handle > & | get_active_invokers () | 
| sc_object_manager * | get_object_manager () | 
| sc_status | get_status () const | 
| sc_object * | active_object () | 
| void | hierarchy_push (sc_module *) | 
| sc_module * | hierarchy_pop () | 
| sc_module * | hierarchy_curr () const | 
| sc_object * | first_object () | 
| sc_object * | next_object () | 
| sc_object * | find_object (const char *name) | 
| sc_module_registry * | get_module_registry () | 
| sc_port_registry * | get_port_registry () | 
| sc_export_registry * | get_export_registry () | 
| sc_prim_channel_registry * | get_prim_channel_registry () | 
| 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, int seg_id, int inst_id) | 
| Two new parameters segment ID and instance ID are added for the out-of-order simulation.  More... | |
| 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, int seg_id, int inst_id) | 
| Two new parameters segment ID and instance ID are added for the out-of-order simulation.  More... | |
| 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, int seg_id, int inst_id) | 
| Two new parameters segment ID and instance ID are added for the out-of-order simulation.  More... | |
| sc_process_b * | get_curr_proc () const | 
| sc_object * | get_current_writer () const | 
| bool | write_check () const | 
| void | set_curr_proc (sc_process_b *) | 
| This function is not supported by the out-of-order simulation in the current release.  More... | |
| void | reset_curr_proc () | 
| int | next_proc_id () | 
| void | add_trace_file (sc_trace_file *) | 
| void | remove_trace_file (sc_trace_file *) | 
| const sc_time & | max_time () const | 
| const sc_time & | time_stamp () | 
| sc_dt::uint64 | change_stamp () const | 
| sc_dt::uint64 | delta_count () 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_pkg * | cor_pkg () | 
| sc_cor * | next_cor () | 
| const ::std::vector< sc_object * > & | get_child_objects () const | 
| void | elaborate () | 
| void | prepare_to_simulate () | 
| void | initial_crunch (bool no_crunch) | 
| This function is partially supported by the out-of-order simulation in the current release.  More... | |
| bool | next_time (sc_time &t) const | 
| bool | pending_activity_at_current_time () const | 
| void | remove_running_process (sc_process_b *) | 
| Remove a process from the running queue.  More... | |
| bool | is_running_process (sc_process_b *) | 
| Check whether a process is in the running queue.  More... | |
| void | suspend_cor (sc_cor *) | 
| Suspend a coroutine.  More... | |
| void | resume_cor (sc_cor *) | 
| Resume a coroutine.  More... | |
| bool | is_locked () | 
| Check whether the kernel lock is acquired.  More... | |
| bool | is_unlocked () | 
| Check whether the kernel lock is released.  More... | |
| bool | is_lock_owner () | 
| Check whether the kernel lock is owned by the currently running coroutine.  More... | |
| bool | is_not_owner () | 
| Check whether the kernel lock is not owned by the currently running coroutine.  More... | |
| bool | is_locked_and_owner () | 
| Check whether the kernel lock is acquired and owned by the currently running coroutine.  More... | |
| unsigned int | conflict_table_index_lookup (int, int) | 
| Convert segment ID and instance ID to index in the data conflict table and event notification table.  More... | |
| unsigned int | time_adv_table_index_lookup (int) | 
| Convert segment ID to index in the time advance table.  More... | |
| const sc_time & | get_oldest_untraced_time () | 
Public Attributes | |
| std::list< sc_process_b * > | m_synch_thread_queue | 
| std::list< sc_process_b * > | m_all_proc | 
| sc_time | m_oldest_time | 
| sc_timestamp | m_simulation_duration | 
| sc_timestamp | m_simulation_time | 
| sc_starvation_policy | m_starvation_policy | 
| int | last_seg_id | 
| std::list< sc_process_b * > | m_waking_up_threads | 
The simulation context.
Definition at line 328 of file sc_simcontext.h.
| sc_core::sc_simcontext::sc_simcontext | ( | ) | 
| sc_core::sc_simcontext::~sc_simcontext | ( | ) | 
| sc_object* sc_core::sc_simcontext::active_object | ( | ) | 
| void sc_core::sc_simcontext::add_trace_file | ( | sc_trace_file * | ) | 
      
  | 
  inline | 
Definition at line 1021 of file sc_simcontext.h.
| unsigned int sc_core::sc_simcontext::conflict_table_index_lookup | ( | int | , | 
| int | |||
| ) | 
Convert segment ID and instance ID to index in the data conflict table and event notification table.
      
  | 
  inline | 
Definition at line 530 of file sc_simcontext.h.
| 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, | ||
| int | seg_id, | ||
| int | inst_id | ||
| ) | 
Two new parameters segment ID and instance ID are added for the out-of-order simulation.
| 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, | ||
| int | seg_id, | ||
| int | inst_id | ||
| ) | 
Two new parameters segment ID and instance ID are added for the out-of-order simulation.
| 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, | ||
| int | seg_id, | ||
| int | inst_id | ||
| ) | 
Two new parameters segment ID and instance ID are added for the out-of-order simulation.
| void sc_core::sc_simcontext::cycle | ( | const sc_time & | ) | 
This function is not supported by the out-of-order simulation in the current release.
| sc_dt::uint64 sc_core::sc_simcontext::delta_count | ( | ) | const | 
| void sc_core::sc_simcontext::elaborate | ( | ) | 
      
  | 
  inline | 
Definition at line 932 of file sc_simcontext.h.
| void sc_core::sc_simcontext::end | ( | ) | 
      
  | 
  inline | 
Definition at line 1037 of file sc_simcontext.h.
      
  | 
  inline | 
Definition at line 1030 of file sc_simcontext.h.
| sc_object* sc_core::sc_simcontext::find_object | ( | const char * | name | ) | 
| sc_object* sc_core::sc_simcontext::first_object | ( | ) | 
| const char* sc_core::sc_simcontext::gen_unique_name | ( | const char * | basename_, | 
| bool | preserve_first = false  | 
        ||
| ) | 
      
  | 
  inline | 
Definition at line 299 of file sc_simcontext_int.h.
| const ::std::vector<sc_object*>& sc_core::sc_simcontext::get_child_objects | ( | ) | const | 
| sc_process_b* sc_core::sc_simcontext::get_curr_proc | ( | ) | const | 
      
  | 
  inline | 
Definition at line 1089 of file sc_simcontext.h.
      
  | 
  inline | 
Definition at line 1068 of file sc_simcontext.h.
      
  | 
  inline | 
Definition at line 982 of file sc_simcontext.h.
      
  | 
  inline | 
Definition at line 968 of file sc_simcontext.h.
      
  | 
  inline | 
Definition at line 961 of file sc_simcontext.h.
| const sc_time& sc_core::sc_simcontext::get_oldest_untraced_time | ( | ) | 
      
  | 
  inline | 
Definition at line 975 of file sc_simcontext.h.
      
  | 
  inline | 
Definition at line 989 of file sc_simcontext.h.
      
  | 
  inline | 
Definition at line 938 of file sc_simcontext.h.
| sc_module* sc_core::sc_simcontext::hierarchy_curr | ( | ) | const | 
| sc_module* sc_core::sc_simcontext::hierarchy_pop | ( | ) | 
| void sc_core::sc_simcontext::hierarchy_push | ( | sc_module * | ) | 
      
  | 
  inline | 
This function is partially supported by the out-of-order simulation in the current release.
| void sc_core::sc_simcontext::initialize | ( | bool |  = false | ) | 
| bool sc_core::sc_simcontext::is_lock_owner | ( | ) | 
Check whether the kernel lock is owned by the currently running coroutine.
| bool sc_core::sc_simcontext::is_locked | ( | ) | 
Check whether the kernel lock is acquired.
| bool sc_core::sc_simcontext::is_locked_and_owner | ( | ) | 
Check whether the kernel lock is acquired and owned by the currently running coroutine.
| bool sc_core::sc_simcontext::is_not_owner | ( | ) | 
Check whether the kernel lock is not owned by the currently running coroutine.
| bool sc_core::sc_simcontext::is_running | ( | ) | const | 
      
  | 
  inline | 
Check whether a process is in the running queue.
Definition at line 1108 of file sc_simcontext.h.
| bool sc_core::sc_simcontext::is_unlocked | ( | ) | 
Check whether the kernel lock is released.
      
  | 
  inline | 
Definition at line 1005 of file sc_simcontext.h.
| sc_cor* sc_core::sc_simcontext::next_cor | ( | ) | 
| sc_object* sc_core::sc_simcontext::next_object | ( | ) | 
      
  | 
  inline | 
Definition at line 997 of file sc_simcontext.h.
| bool sc_core::sc_simcontext::next_time | ( | sc_time & | t | ) | const | 
      
  | 
  inline | 
Definition at line 1052 of file sc_simcontext.h.
| void sc_core::sc_simcontext::oooschedule | ( | sc_cor * | cor | ) | 
Scheduling function in the OoO simulation.
| bool sc_core::sc_simcontext::pending_activity_at_current_time | ( | ) | const | 
| void sc_core::sc_simcontext::prepare_to_simulate | ( | ) | 
| void sc_core::sc_simcontext::print_events_states | ( | ) | 
| void sc_core::sc_simcontext::print_threads_states | ( | ) | 
      
  | 
  inline | 
Remove a process from the running queue.
Definition at line 1102 of file sc_simcontext.h.
| void sc_core::sc_simcontext::remove_trace_file | ( | sc_trace_file * | ) | 
| void sc_core::sc_simcontext::reset | ( | ) | 
      
  | 
  inline | 
Definition at line 103 of file sc_simcontext_int.h.
| void sc_core::sc_simcontext::resume_cor | ( | sc_cor * | ) | 
Resume a coroutine.
      
  | 
  inline | 
This function is not supported by the out-of-order simulation in the current release.
Definition at line 93 of file sc_simcontext_int.h.
      
  | 
  inline | 
Definition at line 1059 of file sc_simcontext.h.
      
  | 
  inline | 
Definition at line 947 of file sc_simcontext.h.
| void sc_core::sc_simcontext::simulate | ( | const sc_time & | duration | ) | 
| void sc_core::sc_simcontext::stop | ( | ) | 
| void sc_core::sc_simcontext::suspend_cor | ( | sc_cor * | ) | 
Suspend a coroutine.
| unsigned int sc_core::sc_simcontext::time_adv_table_index_lookup | ( | int | ) | 
Convert segment ID to index in the time advance table.
| const sc_time& sc_core::sc_simcontext::time_stamp | ( | ) | 
      
  | 
  inline | 
Definition at line 1045 of file sc_simcontext.h.
      
  | 
  inline | 
Definition at line 1096 of file sc_simcontext.h.
      
  | 
  friend | 
      
  | 
  friend | 
Definition at line 331 of file sc_simcontext.h.
      
  | 
  friend | 
Definition at line 338 of file sc_simcontext.h.
      
  | 
  friend | 
Definition at line 342 of file sc_simcontext.h.
      
  | 
  friend | 
Definition at line 348 of file sc_simcontext.h.
      
  | 
  friend | 
This function returns the local delta count of the running process.
      
  | 
  friend | 
      
  | 
  friend | 
Definition at line 334 of file sc_simcontext.h.
      
  | 
  friend | 
      
  | 
  friend | 
      
  | 
  friend | 
      
  | 
  friend | 
      
  | 
  friend | 
Definition at line 333 of file sc_simcontext.h.
      
  | 
  friend | 
      
  | 
  friend | 
Definition at line 368 of file sc_simcontext.h.
      
  | 
  friend | 
      
  | 
  friend | 
Definition at line 343 of file sc_simcontext.h.
      
  | 
  friend | 
Definition at line 335 of file sc_simcontext.h.
      
  | 
  friend | 
Definition at line 340 of file sc_simcontext.h.
      
  | 
  friend | 
      
  | 
  friend | 
      
  | 
  friend | 
      
  | 
  friend | 
Definition at line 344 of file sc_simcontext.h.
      
  | 
  friend | 
Definition at line 347 of file sc_simcontext.h.
      
  | 
  friend | 
Definition at line 345 of file sc_simcontext.h.
      
  | 
  friend | 
Definition at line 346 of file sc_simcontext.h.
      
  | 
  friend | 
Definition at line 350 of file sc_simcontext.h.
      
  | 
  friend | 
      
  | 
  friend | 
      
  | 
  friend | 
      
  | 
  friend | 
      
  | 
  friend | 
      
  | 
  friend | 
Definition at line 349 of file sc_simcontext.h.
      
  | 
  friend | 
Definition at line 341 of file sc_simcontext.h.
      
  | 
  friend | 
| int sc_core::sc_simcontext::last_seg_id | 
Definition at line 887 of file sc_simcontext.h.
| std::list<sc_process_b*> sc_core::sc_simcontext::m_all_proc | 
Definition at line 872 of file sc_simcontext.h.
| sc_time sc_core::sc_simcontext::m_oldest_time | 
Definition at line 883 of file sc_simcontext.h.
| sc_timestamp sc_core::sc_simcontext::m_simulation_duration | 
Definition at line 884 of file sc_simcontext.h.
| sc_timestamp sc_core::sc_simcontext::m_simulation_time | 
Definition at line 885 of file sc_simcontext.h.
| sc_starvation_policy sc_core::sc_simcontext::m_starvation_policy | 
Definition at line 886 of file sc_simcontext.h.
| std::list<sc_process_b*> sc_core::sc_simcontext::m_synch_thread_queue | 
Definition at line 869 of file sc_simcontext.h.
| std::list<sc_process_b*> sc_core::sc_simcontext::m_waking_up_threads | 
Definition at line 888 of file sc_simcontext.h.
 1.8.5