SystemC
Recoding Infrastructure for SystemC v0.6.0 derived from Accellera SystemC 2.3.1
Accellera SystemC proof-of-concept library
|
A thread process. More...
#include <sysc/kernel/sc_thread_process.h>
Public Member Functions | |
sc_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) | |
virtual const char * | kind () const |
void | aux_boundary () |
Public Member Functions inherited from sc_core::sc_process_b | |
void | set_upcoming_segment_ids (int *segment_ids) |
sets the upcoming segment ids TS 07/08/17 More... | |
int * | get_upcoming_segment_ids () |
returns the upcoming segment ids TS 07/08/17 More... | |
void | set_upcoming_socket_id (int socket_id) |
sets the upcoming socket id ZC 10:30 2018/10/31 More... | |
int | get_upcoming_socket_id () |
returns the upcoming socket id ZC 10:31 2018/10/31 More... | |
void | increase_offset (int offset) |
increase the offset ZC 10:30 2018/10/31 More... | |
void | decrease_offset (int offset) |
decrease the offset ZC 10:31 2018/10/31 More... | |
int | get_offset () |
returns the offset ZC 10:31 2018/10/31 More... | |
sc_process_b (const char *name_p, bool is_thread, bool free_host, SC_ENTRY_FUNC method_p, sc_process_host *host_p, const sc_spawn_options *opt_p) | |
int | current_state () |
bool | dont_initialize () const |
virtual void | dont_initialize (bool dont) |
std::string | dump_state () const |
const ::std::vector< sc_object * > & | get_child_objects () const |
sc_curr_proc_kind | proc_kind () const |
sc_event & | reset_event () |
sc_event & | terminated_event () |
void | lock_and_push (CHNL_MTX_TYPE_ *lock) |
Acquire a new channel lock or increment the lock counter. More... | |
void | pop_and_unlock (CHNL_MTX_TYPE_ *lock) |
Release a channel lock or decrement the lock counter. More... | |
void | lock_all_channels (void) |
Acquire all the channel locks. More... | |
void | unlock_all_channels (void) |
Release all the channel locks. More... | |
int | get_segment_id () |
Set the current segment ID of this process. More... | |
void | set_segment_id (int id) |
Get the current segment ID of this process. More... | |
const sc_timestamp & | get_timestamp () |
Set the local time stamp of this process. More... | |
void | set_timestamp (const sc_timestamp &ts) |
Get the local time stamp of this process. More... | |
int | get_instance_id () |
Set the instance ID of this process. More... | |
void | set_instance_id (int id) |
Get the instance ID of this process. More... | |
void | add_sensitivity_event (const sc_event &e) |
std::string | event_names () |
Public Member Functions inherited from sc_core::sc_object | |
const char * | name () const |
const char * | basename () const |
virtual void | print (::std::ostream &os=::std::cout) const |
virtual void | dump (::std::ostream &os=::std::cout) const |
virtual void | trace (sc_trace_file *tf) const |
sc_simcontext * | simcontext () const |
bool | add_attribute (sc_attr_base &) |
sc_attr_base * | get_attribute (const std::string &name_) |
const sc_attr_base * | get_attribute (const std::string &name_) const |
sc_attr_base * | remove_attribute (const std::string &name_) |
void | remove_all_attributes () |
int | num_attributes () const |
sc_attr_cltn & | attr_cltn () |
const sc_attr_cltn & | attr_cltn () const |
virtual const std::vector < sc_event * > & | get_child_events () const |
sc_object * | get_parent () const |
sc_object * | get_parent_object () const |
Public Attributes | |
sc_event * | waiting_event |
sc_timestamp | first_triggerable_time |
Public Attributes inherited from sc_core::sc_process_b | |
bool | event_list_member_triggered |
sc_timestamp | wake_up_time_for_event_list |
int * | segment_ids |
stores the upcoming segment ids TS 07/08/17 More... | |
int | socket_id_ |
stores the upcoming socket id ZC 10:31 2018/10/31 More... | |
const char * | file |
int | lineno |
int | proc_id |
int | m_process_state |
The name of this process. More... | |
sc_event_or_list * | m_sensitivity_events |
sc_timestamp | possible_wakeup_time |
bool | invoker |
sc_process_b * | cur_invoker_method_handle |
Protected Member Functions | |
virtual | ~sc_thread_process () |
virtual void | disable_process (sc_descendant_inclusion_info descendants=SC_NO_DESCENDANTS) |
virtual void | enable_process (sc_descendant_inclusion_info descendants=SC_NO_DESCENDANTS) |
virtual void | kill_process (sc_descendant_inclusion_info descendants=SC_NO_DESCENDANTS) |
sc_thread_handle | next_exist () |
sc_thread_handle | next_runnable () |
virtual void | prepare_for_simulation () |
virtual void | resume_process (sc_descendant_inclusion_info descendants=SC_NO_DESCENDANTS) |
void | set_next_exist (sc_thread_handle next_p) |
void | set_next_runnable (sc_thread_handle next_p) |
void | set_stack_size (std::size_t size) |
void | suspend_me () |
virtual void | suspend_process (sc_descendant_inclusion_info descendants=SC_NO_DESCENDANTS) |
virtual void | throw_reset (bool async) |
virtual void | throw_user (const sc_throw_it_helper &helper, sc_descendant_inclusion_info descendants=SC_NO_DESCENDANTS) |
bool | trigger_dynamic (sc_event *, bool &) |
bool | deliver_event_at_time (sc_event *e, sc_timestamp e_delivery_time) |
void | trigger_static (sc_event *) |
A new parameter is added to update the local time stamp in the thread process. More... | |
void | wait (const sc_event &, int=-1) |
A new parameter segment ID is added for the out-of-order simulation. More... | |
void | wait (const sc_event_or_list &, int=-1) |
A new parameter segment ID is added for the out-of-order simulation. More... | |
void | wait (const sc_event_and_list &, int=-1) |
A new parameter segment ID is added for the out-of-order simulation. More... | |
void | wait (const sc_time &, int=-1) |
A new parameter segment ID is added for the out-of-order simulation. More... | |
void | wait (const sc_time &, const sc_event &, int=-1) |
A new parameter segment ID is added for the out-of-order simulation. More... | |
void | wait (const sc_time &, const sc_event_or_list &, int=-1) |
A new parameter segment ID is added for the out-of-order simulation. More... | |
void | wait (const sc_time &, const sc_event_and_list &, int=-1) |
A new parameter segment ID is added for the out-of-order simulation. More... | |
void | wait_cycles (int, int n=1) |
A new parameter segment ID is added for the out-of-order simulation. More... | |
void | add_monitor (sc_process_monitor *monitor_p) |
void | remove_monitor (sc_process_monitor *monitor_p) |
void | signal_monitors (int type=0) |
Protected Member Functions inherited from sc_core::sc_process_b | |
virtual | ~sc_process_b () |
virtual void | add_child_object (sc_object *) |
void | add_static_event (const sc_event &) |
bool | dynamic () const |
const char * | gen_unique_name (const char *basename_, bool preserve_first) |
sc_report * | get_last_report () |
bool | is_disabled () const |
bool | is_runnable () const |
virtual bool | remove_child_object (sc_object *) |
void | remove_dynamic_events (bool skip_timeout=false) |
void | remove_static_events () |
void | set_last_report (sc_report *last_p) |
bool | timed_out () const |
void | report_error (const char *msgid, const char *msg="") const |
void | report_immediate_self_notification () const |
void | disconnect_process () |
void | initially_in_reset (bool async) |
bool | is_unwinding () const |
bool | start_unwinding () |
bool | clear_unwinding () |
void | reset_changed (bool async, bool asserted) |
void | reset_process (reset_type rt, sc_descendant_inclusion_info descendants=SC_NO_DESCENDANTS) |
virtual bool | terminated () const |
void | trigger_reset_event () |
void | semantics () |
Protected Member Functions inherited from sc_core::sc_object | |
sc_object () | |
sc_object (const char *nm) | |
sc_object (const sc_object &) | |
sc_object & | operator= (const sc_object &) |
virtual | ~sc_object () |
virtual void | add_child_event (sc_event *event_p) |
virtual bool | remove_child_event (sc_event *event_p) |
phase_cb_mask | register_simulation_phase_callback (phase_cb_mask) |
phase_cb_mask | unregister_simulation_phase_callback (phase_cb_mask) |
Friends | |
class | sc_event |
class | sc_join |
class | sc_module |
class | sc_channel |
class | sc_process_b |
class | sc_process_handle |
class | sc_process_table |
class | sc_simcontext |
class | sc_runnable |
class | Invoker |
void | sc_thread_cor_fn (void *) |
void | sc_set_stack_size (sc_thread_handle, std::size_t) |
sc_cor * | get_cor_pointer (sc_process_b *process_p) |
void | wait (int, sc_simcontext *) |
void | wait (const sc_event &, int, sc_simcontext *) |
A new parameter segment ID is added for the out-of-order simulation. More... | |
void | wait (const sc_event_or_list &, int, sc_simcontext *) |
A new parameter segment ID is added for the out-of-order simulation. More... | |
void | wait (const sc_event_and_list &, int, sc_simcontext *) |
A new parameter segment ID is added for the out-of-order simulation. More... | |
void | wait (const sc_time &, int, sc_simcontext *) |
A new parameter segment ID is added for the out-of-order simulation. More... | |
void | wait (const sc_time &, const sc_event &, int, sc_simcontext *) |
A new parameter segment ID is added for the out-of-order simulation. More... | |
void | wait (const sc_time &, const sc_event_or_list &, int, sc_simcontext *) |
A new parameter segment ID is added for the out-of-order simulation. More... | |
void | wait (const sc_time &, const sc_event_and_list &, int, sc_simcontext *) |
A new parameter segment ID is added for the out-of-order simulation. More... | |
Additional Inherited Members | |
Public Types inherited from sc_core::sc_process_b | |
enum | process_throw_type { THROW_NONE = 0, THROW_KILL, THROW_USER, THROW_ASYNC_RESET, THROW_SYNC_RESET } |
enum | process_state { ps_bit_disabled = 1, ps_bit_ready_to_run = 2, ps_bit_suspended = 4, ps_bit_zombie = 8, ps_normal = 0 } |
enum | reset_type { reset_asynchronous = 0, reset_synchronous_off, reset_synchronous_on } |
enum | trigger_t { STATIC, EVENT, OR_LIST, AND_LIST, TIMEOUT, EVENT_TIMEOUT, OR_LIST_TIMEOUT, AND_LIST_TIMEOUT } |
Public Types inherited from sc_core::sc_object | |
typedef unsigned | phase_cb_mask |
Static Public Member Functions inherited from sc_core::sc_process_b | |
static sc_process_handle | last_created_process_handle () |
Static Protected Member Functions inherited from sc_core::sc_process_b | |
static sc_process_b * | last_created_process_base () |
Static Protected Attributes inherited from sc_core::sc_process_b | |
static sc_process_b * | m_last_created_process_p |
A thread process.
Definition at line 98 of file sc_thread_process.h.
sc_core::sc_thread_process::sc_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 | ||
) |
|
protectedvirtual |
|
inlineprotected |
Definition at line 806 of file sc_thread_process.h.
|
inline |
Definition at line 450 of file sc_thread_process.h.
|
protected |
|
protectedvirtual |
Implements sc_core::sc_process_b.
|
protectedvirtual |
Implements sc_core::sc_process_b.
|
protectedvirtual |
Implements sc_core::sc_process_b.
|
inlinevirtual |
Reimplemented from sc_core::sc_object.
Reimplemented in sc_core::sc_cthread_process.
Definition at line 137 of file sc_thread_process.h.
|
inlineprotected |
Definition at line 834 of file sc_thread_process.h.
|
inlineprotected |
Definition at line 846 of file sc_thread_process.h.
|
protectedvirtual |
|
inlineprotected |
Definition at line 813 of file sc_thread_process.h.
|
protectedvirtual |
Implements sc_core::sc_process_b.
|
inlineprotected |
Definition at line 828 of file sc_thread_process.h.
|
inlineprotected |
Definition at line 840 of file sc_thread_process.h.
|
inlineprotected |
Definition at line 257 of file sc_thread_process.h.
|
protected |
|
inlineprotected |
Definition at line 282 of file sc_thread_process.h.
|
protectedvirtual |
Implements sc_core::sc_process_b.
|
protectedvirtual |
Implements sc_core::sc_process_b.
|
protectedvirtual |
Implements sc_core::sc_process_b.
|
protected |
|
inlineprotected |
A new parameter is added to update the local time stamp in the thread process.
Definition at line 871 of file sc_thread_process.h.
|
inlineprotected |
A new parameter segment ID is added for the out-of-order simulation.
Definition at line 492 of file sc_thread_process.h.
|
inlineprotected |
A new parameter segment ID is added for the out-of-order simulation.
Definition at line 536 of file sc_thread_process.h.
|
inlineprotected |
A new parameter segment ID is added for the out-of-order simulation.
Definition at line 579 of file sc_thread_process.h.
|
inlineprotected |
A new parameter segment ID is added for the out-of-order simulation.
Definition at line 621 of file sc_thread_process.h.
|
inlineprotected |
A new parameter segment ID is added for the out-of-order simulation.
Definition at line 665 of file sc_thread_process.h.
|
inlineprotected |
A new parameter segment ID is added for the out-of-order simulation.
Definition at line 698 of file sc_thread_process.h.
|
inlineprotected |
A new parameter segment ID is added for the out-of-order simulation.
Definition at line 731 of file sc_thread_process.h.
|
inlineprotected |
A new parameter segment ID is added for the out-of-order simulation.
Definition at line 774 of file sc_thread_process.h.
|
friend |
|
friend |
Definition at line 115 of file sc_thread_process.h.
|
friend |
Definition at line 106 of file sc_thread_process.h.
|
friend |
Definition at line 101 of file sc_thread_process.h.
|
friend |
Definition at line 102 of file sc_thread_process.h.
|
friend |
Definition at line 103 of file sc_thread_process.h.
|
friend |
Definition at line 108 of file sc_thread_process.h.
|
friend |
Definition at line 109 of file sc_thread_process.h.
|
friend |
Definition at line 110 of file sc_thread_process.h.
|
friend |
Definition at line 112 of file sc_thread_process.h.
|
friend |
|
friend |
Definition at line 111 of file sc_thread_process.h.
|
friend |
|
friend |
|
friend |
A new parameter segment ID is added for the out-of-order simulation.
|
friend |
A new parameter segment ID is added for the out-of-order simulation.
|
friend |
A new parameter segment ID is added for the out-of-order simulation.
|
friend |
A new parameter segment ID is added for the out-of-order simulation.
|
friend |
A new parameter segment ID is added for the out-of-order simulation.
|
friend |
A new parameter segment ID is added for the out-of-order simulation.
|
friend |
A new parameter segment ID is added for the out-of-order simulation.
sc_timestamp sc_core::sc_thread_process::first_triggerable_time |
Definition at line 132 of file sc_thread_process.h.
|
protected |
Definition at line 242 of file sc_thread_process.h.
|
protected |
Definition at line 243 of file sc_thread_process.h.
|
protected |
Definition at line 244 of file sc_thread_process.h.
|
protected |
Definition at line 245 of file sc_thread_process.h.
sc_event* sc_core::sc_thread_process::waiting_event |
Definition at line 131 of file sc_thread_process.h.