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

#include <sysc/kernel/sc_method_process.h>

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

Public Member Functions

 sc_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)
 
virtual const char * kind () const
 
- Public Member Functions inherited from sc_core::sc_process_b
 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
 
sc_curr_proc_kind proc_kind () const
 
sc_eventreset_event ()
 
sc_eventterminated_event ()
 
- Public Member Functions inherited from sc_core::sc_object_host
virtual const std::vector< sc_event * > & get_child_events () const
 
virtual const std::vector< sc_object * > & get_child_objects () const
 
- 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
 
virtual const char * kind () 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
 
virtual const std::vector< sc_object * > & get_child_objects () const
 
sc_objectget_parent () const
 
sc_objectget_parent_object () const
 
virtual ~sc_object ()
 

Protected Member Functions

void check_for_throws ()
 
virtual void disable_process (sc_descendant_inclusion_info descendants=SC_NO_DESCENDANTS)
 
virtual void enable_process (sc_descendant_inclusion_info descendants=SC_NO_DESCENDANTS)
 
bool run_process ()
 
virtual void kill_process (sc_descendant_inclusion_info descendants=SC_NO_DESCENDANTS)
 
sc_method_handle next_exist ()
 
sc_method_handle next_runnable ()
 
void clear_trigger ()
 
void next_trigger (const sc_event &)
 
void next_trigger (const sc_event_or_list &)
 
void next_trigger (const sc_event_and_list &)
 
void next_trigger (const sc_time &)
 
void next_trigger (const sc_time &, const sc_event &)
 
void next_trigger (const sc_time &, const sc_event_or_list &)
 
void next_trigger (const sc_time &, const sc_event_and_list &)
 
virtual void resume_process (sc_descendant_inclusion_info descendants=SC_NO_DESCENDANTS)
 
void set_next_exist (sc_method_handle next_p)
 
void set_next_runnable (sc_method_handle next_p)
 
void set_stack_size (std::size_t size)
 
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 *)
 
void trigger_static ()
 
- Protected Member Functions inherited from sc_core::sc_process_b
virtual ~sc_process_b ()
 
virtual void add_child_object (sc_object *)
 
virtual void add_child_event (sc_event *)
 
virtual bool remove_child_object (sc_object *)
 
virtual bool remove_child_event (sc_event *)
 
void add_static_event (const sc_event &)
 
bool dynamic () const
 
sc_reportget_last_report ()
 
bool is_disabled () const
 
bool is_runnable () const
 
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
 
virtual void disable_process (sc_descendant_inclusion_info descendants=SC_NO_DESCENDANTS)=0
 
void disconnect_process ()
 
virtual void enable_process (sc_descendant_inclusion_info descendants=SC_NO_DESCENDANTS)=0
 
void initially_in_reset (bool async)
 
bool is_unwinding () const
 
bool start_unwinding ()
 
bool clear_unwinding ()
 
virtual void kill_process (sc_descendant_inclusion_info descendants=SC_NO_DESCENDANTS)=0
 
void reset_changed (bool async, bool asserted)
 
void reset_process (reset_type rt, sc_descendant_inclusion_info descendants=SC_NO_DESCENDANTS)
 
virtual void resume_process (sc_descendant_inclusion_info descendants=SC_NO_DESCENDANTS)=0
 
virtual void suspend_process (sc_descendant_inclusion_info descendants=SC_NO_DESCENDANTS)=0
 
virtual void throw_user (const sc_throw_it_helper &helper, sc_descendant_inclusion_info descendants=SC_NO_DESCENDANTS)=0
 
virtual void throw_reset (bool async)=0
 
virtual bool terminated () const
 
void trigger_reset_event ()
 
void semantics ()
 
- Protected Member Functions inherited from sc_core::sc_object_host
 sc_object_host ()
 
 sc_object_host (const char *nm)
 
virtual ~sc_object_host ()
 
virtual hierarchy_scope get_hierarchy_scope ()
 
- 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 hierarchy_scope get_hierarchy_scope ()
 

Protected Attributes

sc_corm_cor
 
std::size_t m_stack_size
 
std::vector< sc_process_monitor * > m_monitor_q
 
- Protected Attributes inherited from sc_core::sc_process_b
int m_active_areset_n
 
int m_active_reset_n
 
bool m_dont_init
 
spawn_t 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_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
 
bool m_unsuspendable
 
bool m_suspend_all_req
 

Friends

class sc_event
 
class sc_invoke_method
 
class sc_module
 
class sc_process_table
 
class sc_process_handle
 
class sc_simcontext
 
class sc_runnable
 
void sc_method_cor_fn (void *)
 
void sc_cmethod_cor_fn (void *)
 
void sc_set_stack_size (sc_method_handle, std::size_t)
 
SC_API void next_trigger (sc_simcontext *)
 
SC_API void next_trigger (const sc_event &, sc_simcontext *)
 
SC_API void next_trigger (const sc_event_or_list &, sc_simcontext *)
 
SC_API void next_trigger (const sc_event_and_list &, sc_simcontext *)
 
SC_API void next_trigger (const sc_time &, sc_simcontext *)
 
SC_API void next_trigger (const sc_time &, const sc_event &, sc_simcontext *)
 
SC_API void next_trigger (const sc_time &, const sc_event_or_list &, sc_simcontext *)
 
SC_API void next_trigger (const sc_time &, const sc_event_and_list &, sc_simcontext *)
 

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
}
 
- 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_process_b
const char * file
 
int lineno
 
int proc_id
 
- Protected Types inherited from sc_core::sc_process_b
enum  spawn_t { SPAWN_ELAB = 0x0 , SPAWN_START = 0x1 , SPAWN_SIM = 0x2 }
 
- Static Protected Member Functions inherited from sc_core::sc_process_b
static sc_process_blast_created_process_base ()
 
- Static Protected Attributes inherited from sc_core::sc_process_b
static sc_process_bm_last_created_process_p
 

Detailed Description

Definition at line 103 of file sc_method_process.h.

Constructor & Destructor Documentation

◆ sc_method_process()

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

Member Function Documentation

◆ check_for_throws()

void sc_core::sc_method_process::check_for_throws ( )
protected

◆ clear_trigger()

void sc_core::sc_method_process::clear_trigger ( )
protected

◆ disable_process()

virtual void sc_core::sc_method_process::disable_process ( sc_descendant_inclusion_info  descendants = SC_NO_DESCENDANTS)
protectedvirtual

Implements sc_core::sc_process_b.

◆ enable_process()

virtual void sc_core::sc_method_process::enable_process ( sc_descendant_inclusion_info  descendants = SC_NO_DESCENDANTS)
protectedvirtual

Implements sc_core::sc_process_b.

◆ kill_process()

virtual void sc_core::sc_method_process::kill_process ( sc_descendant_inclusion_info  descendants = SC_NO_DESCENDANTS)
protectedvirtual

Implements sc_core::sc_process_b.

◆ kind()

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

Reimplemented from sc_core::sc_object.

Definition at line 136 of file sc_method_process.h.

◆ next_exist()

sc_method_handle sc_core::sc_method_process::next_exist ( )
inlineprotected

Definition at line 271 of file sc_method_process.h.

◆ next_runnable()

sc_method_handle sc_core::sc_method_process::next_runnable ( )
inlineprotected

Definition at line 284 of file sc_method_process.h.

◆ next_trigger() [1/7]

void sc_core::sc_method_process::next_trigger ( const sc_event e)
inlineprotected

Definition at line 188 of file sc_method_process.h.

◆ next_trigger() [2/7]

void sc_core::sc_method_process::next_trigger ( const sc_event_and_list el)
inlineprotected

Definition at line 208 of file sc_method_process.h.

◆ next_trigger() [3/7]

void sc_core::sc_method_process::next_trigger ( const sc_event_or_list el)
inlineprotected

Definition at line 198 of file sc_method_process.h.

◆ next_trigger() [4/7]

void sc_core::sc_method_process::next_trigger ( const sc_time t)
inlineprotected

Definition at line 219 of file sc_method_process.h.

◆ next_trigger() [5/7]

void sc_core::sc_method_process::next_trigger ( const sc_time t,
const sc_event e 
)
inlineprotected

Definition at line 229 of file sc_method_process.h.

◆ next_trigger() [6/7]

void sc_core::sc_method_process::next_trigger ( const sc_time t,
const sc_event_and_list el 
)
inlineprotected

Definition at line 253 of file sc_method_process.h.

◆ next_trigger() [7/7]

void sc_core::sc_method_process::next_trigger ( const sc_time t,
const sc_event_or_list el 
)
inlineprotected

Definition at line 241 of file sc_method_process.h.

◆ resume_process()

virtual void sc_core::sc_method_process::resume_process ( sc_descendant_inclusion_info  descendants = SC_NO_DESCENDANTS)
protectedvirtual

Implements sc_core::sc_process_b.

◆ run_process()

bool sc_core::sc_method_process::run_process ( )
inlineprotected

Definition at line 296 of file sc_method_process.h.

◆ set_next_exist()

void sc_core::sc_method_process::set_next_exist ( sc_method_handle  next_p)
inlineprotected

Definition at line 265 of file sc_method_process.h.

◆ set_next_runnable()

void sc_core::sc_method_process::set_next_runnable ( sc_method_handle  next_p)
inlineprotected

Definition at line 278 of file sc_method_process.h.

◆ set_stack_size()

void sc_core::sc_method_process::set_stack_size ( std::size_t  size)
protected

◆ suspend_process()

virtual void sc_core::sc_method_process::suspend_process ( sc_descendant_inclusion_info  descendants = SC_NO_DESCENDANTS)
protectedvirtual

Implements sc_core::sc_process_b.

◆ throw_reset()

virtual void sc_core::sc_method_process::throw_reset ( bool  async)
protectedvirtual

Implements sc_core::sc_process_b.

◆ throw_user()

virtual void sc_core::sc_method_process::throw_user ( const sc_throw_it_helper helper,
sc_descendant_inclusion_info  descendants = SC_NO_DESCENDANTS 
)
protectedvirtual

Implements sc_core::sc_process_b.

◆ trigger_dynamic()

bool sc_core::sc_method_process::trigger_dynamic ( sc_event )
protected

◆ trigger_static()

void sc_core::sc_method_process::trigger_static ( )
inlineprotected

Definition at line 343 of file sc_method_process.h.

Friends And Related Function Documentation

◆ next_trigger [1/8]

SC_API void next_trigger ( const sc_event ,
sc_simcontext  
)
friend

◆ next_trigger [2/8]

SC_API void next_trigger ( const sc_event_and_list ,
sc_simcontext  
)
friend

◆ next_trigger [3/8]

SC_API void next_trigger ( const sc_event_or_list ,
sc_simcontext  
)
friend

◆ next_trigger [4/8]

SC_API void next_trigger ( const sc_time ,
const sc_event ,
sc_simcontext  
)
friend

◆ next_trigger [5/8]

SC_API void next_trigger ( const sc_time ,
const sc_event_and_list ,
sc_simcontext  
)
friend

◆ next_trigger [6/8]

SC_API void next_trigger ( const sc_time ,
const sc_event_or_list ,
sc_simcontext  
)
friend

◆ next_trigger [7/8]

SC_API void next_trigger ( const sc_time ,
sc_simcontext  
)
friend

◆ next_trigger [8/8]

SC_API void next_trigger ( sc_simcontext )
friend

◆ sc_cmethod_cor_fn

void sc_cmethod_cor_fn ( void *  )
friend

◆ sc_event

friend class sc_event
friend

Definition at line 107 of file sc_method_process.h.

◆ sc_invoke_method

friend class sc_invoke_method
friend

Definition at line 108 of file sc_method_process.h.

◆ sc_method_cor_fn

void sc_method_cor_fn ( void *  )
friend

◆ sc_module

friend class sc_module
friend

Definition at line 109 of file sc_method_process.h.

◆ sc_process_handle

friend class sc_process_handle
friend

Definition at line 111 of file sc_method_process.h.

◆ sc_process_table

friend class sc_process_table
friend

Definition at line 110 of file sc_method_process.h.

◆ sc_runnable

friend class sc_runnable
friend

Definition at line 113 of file sc_method_process.h.

◆ sc_set_stack_size

void sc_set_stack_size ( sc_method_handle  ,
std::size_t   
)
friend

◆ sc_simcontext

friend class sc_simcontext
friend

Definition at line 112 of file sc_method_process.h.

Member Data Documentation

◆ m_cor

sc_cor* sc_core::sc_method_process::m_cor
protected

Definition at line 172 of file sc_method_process.h.

◆ m_monitor_q

std::vector<sc_process_monitor*> sc_core::sc_method_process::m_monitor_q
protected

Definition at line 174 of file sc_method_process.h.

◆ m_stack_size

std::size_t sc_core::sc_method_process::m_stack_size
protected

Definition at line 173 of file sc_method_process.h.


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