SystemC  Recoding Infrastructure for SystemC v0.6.0 derived from Accellera SystemC 2.3.1
Accellera SystemC proof-of-concept library
Public Member Functions | Friends | List of all members
sc_core::sc_cthread_process Class Reference

A cthread process. More...

#include <sysc/kernel/sc_cthread_process.h>

Inheritance diagram for sc_core::sc_cthread_process:
Inheritance graph
[legend]
Collaboration diagram for sc_core::sc_cthread_process:
Collaboration graph
[legend]

Public Member Functions

 sc_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)
 
virtual void dont_initialize (bool dont)
 
virtual const char * kind () const
 
- Public Member Functions inherited from 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)
 
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
 
std::string dump_state () const
 
const ::std::vector< sc_object * > & get_child_objects () const
 
sc_curr_proc_kind proc_kind () const
 
sc_eventreset_event ()
 
sc_eventterminated_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_timestampget_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_simcontextsimcontext () const
 
bool add_attribute (sc_attr_base &)
 
sc_attr_baseget_attribute (const std::string &name_)
 
const sc_attr_baseget_attribute (const std::string &name_) const
 
sc_attr_baseremove_attribute (const std::string &name_)
 
void remove_all_attributes ()
 
int num_attributes () const
 
sc_attr_cltnattr_cltn ()
 
const sc_attr_cltnattr_cltn () const
 
virtual const std::vector
< sc_event * > & 
get_child_events () const
 
sc_objectget_parent () const
 
sc_objectget_parent_object () const
 

Friends

class sc_module
 
class sc_channel
 
class sc_process_handle
 
class sc_process_table
 
class sc_thread_process
 
class sc_simcontext
 
void sc_cthread_cor_fn (void *)
 
void halt (int, sc_simcontext *)
 A new parameter segment ID is added for the out-of-order simulation. More...
 
void wait (int, 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 ()
 
- Public Attributes inherited from sc_core::sc_thread_process
sc_eventwaiting_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_listm_sensitivity_events
 
sc_timestamp possible_wakeup_time
 
bool invoker
 
sc_process_bcur_invoker_method_handle
 
- Protected Member Functions inherited from sc_core::sc_thread_process
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_reportget_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_objectoperator= (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)
 
- Static Protected Member Functions inherited from sc_core::sc_process_b
static sc_process_blast_created_process_base ()
 
- Protected Attributes inherited from sc_core::sc_thread_process
sc_corm_cor_p
 
std::vector< sc_process_monitor * > m_monitor_q
 
std::size_t m_stack_size
 
int m_wait_cycle_n
 
- Protected Attributes inherited from sc_core::sc_process_b
int m_active_areset_n
 
int m_active_reset_n
 
bool m_dont_init
 
bool m_dynamic_proc
 
const sc_eventm_event_p
 
int m_event_count
 
const sc_event_listm_event_list_p
 
sc_process_bm_exist_p
 
bool m_free_host
 
bool m_has_reset_signal
 
bool m_has_stack
 
bool m_is_thread
 
sc_reportm_last_report_p
 
sc_name_genm_name_gen_p
 
sc_curr_proc_kind m_process_kind
 
int m_references_n
 
std::vector< sc_reset * > m_resets
 
sc_eventm_reset_event_p
 
sc_eventm_resume_event_p
 
sc_process_bm_runnable_p
 
sc_process_hostm_semantics_host_p
 
SC_ENTRY_FUNC m_semantics_method_p
 
int m_state
 
std::vector< const sc_event * > m_static_events
 
bool m_sticky_reset
 
sc_eventm_term_event_p
 
sc_throw_it_helperm_throw_helper_p
 
process_throw_type m_throw_status
 
bool m_timed_out
 
sc_eventm_timeout_event_p
 
trigger_t m_trigger_type
 
bool m_unwinding
 
sc_acq_chnl_lock_queue m_acq_chnl_lock_queue
 A list of channel locks acquired by this process. More...
 
int m_segment_id
 The current segment ID of this process. More...
 
sc_timestamp m_timestamp
 The local time stamp of this process. More...
 
int m_instance_id
 The instance ID of this process. More...
 
int seg_offset_
 
- Static Protected Attributes inherited from sc_core::sc_process_b
static sc_process_bm_last_created_process_p
 

Detailed Description

A cthread process.

Definition at line 47 of file sc_cthread_process.h.

Constructor & Destructor Documentation

sc_core::sc_cthread_process::sc_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 
)

Member Function Documentation

virtual void sc_core::sc_cthread_process::dont_initialize ( bool  dont)
virtual

Reimplemented from sc_core::sc_process_b.

virtual const char* sc_core::sc_cthread_process::kind ( ) const
inlinevirtual

Reimplemented from sc_core::sc_thread_process.

Definition at line 71 of file sc_cthread_process.h.

Friends And Related Function Documentation

void halt ( int  ,
sc_simcontext  
)
friend

A new parameter segment ID is added for the out-of-order simulation.

friend class sc_channel
friend

Definition at line 52 of file sc_cthread_process.h.

void sc_cthread_cor_fn ( void *  )
friend
friend class sc_module
friend

Definition at line 49 of file sc_cthread_process.h.

friend class sc_process_handle
friend

Definition at line 54 of file sc_cthread_process.h.

friend class sc_process_table
friend

Definition at line 55 of file sc_cthread_process.h.

friend class sc_simcontext
friend

Definition at line 57 of file sc_cthread_process.h.

friend class sc_thread_process
friend

Definition at line 56 of file sc_cthread_process.h.

void wait ( int  ,
int  ,
sc_simcontext  
)
friend

A new parameter segment ID is added for the out-of-order simulation.


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