sc_core::sc_process_b Class Reference

#include <sysc/kernel/sc_process.h>

Inheritance diagram for sc_core::sc_process_b:

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

Collaboration graph
[legend]

List of all members.

Public Types

enum  process_throw_type { THROW_NONE = 0, THROW_RESET }
enum  trigger_t {
  STATIC, EVENT, OR_LIST, AND_LIST,
  TIMEOUT, EVENT_TIMEOUT, OR_LIST_TIMEOUT, AND_LIST_TIMEOUT
}

Public Member Functions

 sc_process_b (const char *name_p, bool free_host, SC_ENTRY_FUNC method_p, sc_process_host *host_p, const sc_spawn_options *opt_p)
virtual ~sc_process_b ()
bool dont_initialize () const
virtual void dont_initialize (bool dont)
const ::std::vector< sc_object * > & get_child_objects () const
 return child objects
sc_curr_proc_kind proc_kind () const
sc_eventterminated_event ()
const char * name () const
 return full name of sc_object
const char * basename () const
 return base name of sc_object (last part)
virtual void print (::std::ostream &os=::std::cout) const
 print object
virtual void dump (::std::ostream &os=::std::cout) const
 dump() is more detailed than print()
virtual void trace (sc_trace_file *tf) const
virtual const char * kind () const
sc_simcontextsimcontext () const
bool add_attribute (sc_attr_base &)
 add attribute
sc_attr_baseget_attribute (const std::string &name_)
 get attribute by name
const sc_attr_baseget_attribute (const std::string &name_) const
 get attribute by name
sc_attr_baseremove_attribute (const std::string &name_)
 remove attribute by name
void remove_all_attributes ()
 remove all attributes
int num_attributes () const
 get the number of attributes
sc_attr_cltnattr_cltn ()
 get the attribute collection
const sc_attr_cltnattr_cltn () const
 get the attribute collection
sc_objectget_parent () const
 return parent object
sc_objectget_parent_object () const
 return parent object

Static Public Member Functions

static sc_process_handle last_created_process_handle ()

Public Attributes

const char * file
int lineno
int proc_id

Protected Member Functions

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_runnable ()
void set_last_report (sc_report *last_p)
void remove_static_events ()
bool trigger_static ()
bool timed_out () const
virtual void kill_process ()
void reset_changed ()
virtual bool terminated () const
void semantics ()

Static Protected Member Functions

static sc_process_blast_created_process_base ()

Protected Attributes

std::vector< sc_object * > m_child_objects
bool m_dont_init
bool m_dynamic_proc
const sc_eventm_event_p
int m_event_count
sc_event_listm_event_list_p
sc_process_bm_exist_p
bool m_free_host
sc_reportm_last_report_p
sc_name_genm_name_gen_p
sc_curr_proc_kind m_process_kind
int m_references_n
bool m_reset_level
sc_resetm_reset_p
sc_process_bm_runnable_p
sc_process_hostm_semantics_host_p
SC_ENTRY_FUNC m_semantics_method_p
std::vector< const sc_event * > m_static_events
sc_eventm_term_event_p
process_throw_type m_throw_type
bool m_timed_out
sc_eventm_timeout_event_p
trigger_t m_trigger_type
bool m_zombie

Static Protected Attributes

static sc_process_bm_delete_next_p = 0
static sc_process_bm_last_created_process_p = 0

Friends

class sc_process_handle
class sc_simcontext
class sc_object
class sc_port_base
class sc_runnable
class sc_sensitive
class sc_sensitive_pos
class sc_sensitive_neg
class sc_module
class sc_report_handler
class sc_reset
class sc_reset_finder
const char * sc_gen_unique_name (const char *, bool preserve_first)
sc_process_handle sc_get_current_process_handle ()
void sc_thread_cor_fn (void *arg)
void sc_cthread_cor_fn (void *arg)
bool timed_out (sc_simcontext *)


Detailed Description

Definition at line 255 of file sc_process.h.


Member Enumeration Documentation

Enumerator:
THROW_NONE 
THROW_RESET 

Definition at line 276 of file sc_process.h.

Enumerator:
STATIC 
EVENT 
OR_LIST 
AND_LIST 
TIMEOUT 
EVENT_TIMEOUT 
OR_LIST_TIMEOUT 
AND_LIST_TIMEOUT 

Definition at line 280 of file sc_process.h.


Constructor & Destructor Documentation

sc_core::sc_process_b::sc_process_b ( const char *  name_p,
bool  free_host,
SC_ENTRY_FUNC  method_p,
sc_process_host host_p,
const sc_spawn_options opt_p 
)

Definition at line 257 of file sc_process.cpp.

sc_core::sc_process_b::~sc_process_b (  )  [virtual]

Definition at line 296 of file sc_process.cpp.


Member Function Documentation

bool sc_core::sc_process_b::dont_initialize (  )  const [inline]

Definition at line 299 of file sc_process.h.

void sc_core::sc_process_b::dont_initialize ( bool  dont  )  [virtual]

Reimplemented in sc_core::sc_cthread_process.

Definition at line 131 of file sc_process.cpp.

const ::std::vector< sc_object * > & sc_core::sc_process_b::get_child_objects (  )  const [inline, virtual]

return child objects

Reimplemented from sc_core::sc_object.

Definition at line 409 of file sc_process.h.

sc_curr_proc_kind sc_core::sc_process_b::proc_kind (  )  const [inline]

Definition at line 445 of file sc_process.h.

sc_event & sc_core::sc_process_b::terminated_event (  ) 

Definition at line 334 of file sc_process.cpp.

sc_process_handle sc_core::sc_process_b::last_created_process_handle (  )  [inline, static]

Definition at line 275 of file sc_process_handle.h.

void sc_core::sc_process_b::add_static_event ( const sc_event e  )  [protected]

Definition at line 88 of file sc_process.cpp.

bool sc_core::sc_process_b::dynamic (  )  const [inline, protected]

Definition at line 310 of file sc_process.h.

const char * sc_core::sc_process_b::gen_unique_name ( const char *  basename_,
bool  preserve_first 
) [protected]

Definition at line 142 of file sc_process.cpp.

sc_report* sc_core::sc_process_b::get_last_report (  )  [inline, protected]

Definition at line 312 of file sc_process.h.

bool sc_core::sc_process_b::is_runnable (  )  [inline, protected]

Definition at line 421 of file sc_process.h.

sc_process_b * sc_core::sc_process_b::last_created_process_base (  )  [inline, static, protected]

Definition at line 433 of file sc_process.h.

void sc_core::sc_process_b::set_last_report ( sc_report last_p  )  [inline, protected]

Definition at line 315 of file sc_process.h.

void sc_core::sc_process_b::remove_static_events (  )  [protected]

Definition at line 221 of file sc_process.cpp.

bool sc_core::sc_process_b::trigger_static (  )  [inline, protected]

Definition at line 551 of file sc_process.h.

bool sc_core::sc_process_b::timed_out (  )  const [inline, protected]

Definition at line 535 of file sc_process.h.

void sc_core::sc_process_b::kill_process (  )  [protected, virtual]

Reimplemented in sc_core::sc_method_process, and sc_core::sc_thread_process.

Definition at line 157 of file sc_process.cpp.

void sc_core::sc_process_b::reset_changed (  )  [inline, protected]

Definition at line 492 of file sc_process.h.

bool sc_core::sc_process_b::terminated (  )  const [inline, protected, virtual]

Definition at line 524 of file sc_process.h.

void sc_core::sc_process_b::semantics (  )  [inline, protected]

Definition at line 506 of file sc_process.h.

const char* sc_core::sc_object::name (  )  const [inline, inherited]

return full name of sc_object

Definition at line 80 of file sc_object.h.

const char * sc_core::sc_object::basename (  )  const [inherited]

return base name of sc_object (last part)

Definition at line 95 of file sc_object.cpp.

void sc_core::sc_object::print ( ::std::ostream &  os = ::std::cout  )  const [virtual, inherited]

void sc_core::sc_object::dump ( ::std::ostream &  os = ::std::cout  )  const [virtual, inherited]

void sc_core::sc_object::trace ( sc_trace_file tf  )  const [virtual, inherited]

virtual const char* sc_core::sc_object::kind (  )  const [inline, virtual, inherited]

Reimplemented in sc_core::sc_buffer< T >, sc_core::sc_clock, sc_core::sc_event_queue, sc_core::sc_export< IF >, sc_core::sc_fifo< T >, sc_core::sc_fifo_in< T >, sc_core::sc_fifo_out< T >, sc_core::sc_mutex, sc_core::sc_port_base, sc_core::sc_port< IF, N, P >, sc_core::sc_prim_channel, sc_core::sc_semaphore, sc_core::sc_signal< T >, sc_core::sc_core::sc_signal< bool >, sc_core::sc_core::sc_signal< sc_dt::sc_logic >, sc_core::sc_in< T >, sc_core::sc_core::sc_in< bool >, sc_core::sc_core::sc_in< sc_dt::sc_logic >, sc_core::sc_inout< T >, sc_core::sc_core::sc_inout< bool >, sc_core::sc_core::sc_inout< sc_dt::sc_logic >, sc_core::sc_out< T >, sc_core::sc_signal_resolved, sc_core::sc_in_resolved, sc_core::sc_inout_resolved, sc_core::sc_out_resolved, sc_core::sc_signal_rv< W >, sc_core::sc_in_rv< W >, sc_core::sc_inout_rv< W >, sc_core::sc_out_rv< W >, sc_core::sc_cthread_process, sc_core::sc_method_process, sc_core::sc_module, sc_core::sc_thread_process, sc_core::sc_port< sc_core::sc_signal_inout_if< bool >, 1, SC_ONE_OR_MORE_BOUND >, sc_core::sc_port< sc_core::sc_signal_inout_if< sc_dt::sc_logic >, 1, SC_ONE_OR_MORE_BOUND >, sc_core::sc_port< sc_core::sc_signal_inout_if< T >, 1, SC_ONE_OR_MORE_BOUND >, sc_core::sc_port< sc_core::sc_signal_in_if< T >, 1, SC_ONE_OR_MORE_BOUND >, sc_core::sc_port< sc_core::sc_core::sc_signal_in_if< bool >, 1, SC_ONE_OR_MORE_BOUND >, sc_core::sc_port< sc_core::sc_signal_in_if< sc_dt::sc_lv< W > >, 1, SC_ONE_OR_MORE_BOUND >, sc_core::sc_port< sc_core::sc_fifo_out_if< T >, 0, SC_ONE_OR_MORE_BOUND >, sc_core::sc_port< sc_core::sc_signal_inout_if< sc_dt::sc_lv< W > >, 1, SC_ONE_OR_MORE_BOUND >, sc_core::sc_port< sc_core::sc_fifo_in_if< T >, 0, SC_ONE_OR_MORE_BOUND >, sc_core::sc_port< sc_core::sc_core::sc_signal_in_if< sc_dt::sc_logic >, 1, SC_ONE_OR_MORE_BOUND >, sc_core::sc_signal< sc_dt::sc_lv< W > >, sc_core::sc_in< sc_dt::sc_lv< W > >, and sc_core::sc_inout< sc_dt::sc_lv< W > >.

Definition at line 93 of file sc_object.h.

sc_simcontext* sc_core::sc_object::simcontext (  )  const [inline, inherited]

Definition at line 95 of file sc_object.h.

bool sc_core::sc_object::add_attribute ( sc_attr_base attribute_  )  [inherited]

add attribute

Definition at line 311 of file sc_object.cpp.

sc_attr_base * sc_core::sc_object::get_attribute ( const std::string &  name_  )  [inherited]

get attribute by name

Definition at line 321 of file sc_object.cpp.

const sc_attr_base * sc_core::sc_object::get_attribute ( const std::string &  name_  )  const [inherited]

get attribute by name

Definition at line 328 of file sc_object.cpp.

sc_attr_base * sc_core::sc_object::remove_attribute ( const std::string &  name_  )  [inherited]

remove attribute by name

Definition at line 338 of file sc_object.cpp.

void sc_core::sc_object::remove_all_attributes (  )  [inherited]

remove all attributes

Definition at line 350 of file sc_object.cpp.

int sc_core::sc_object::num_attributes (  )  const [inherited]

get the number of attributes

Definition at line 360 of file sc_object.cpp.

sc_attr_cltn & sc_core::sc_object::attr_cltn (  )  [inherited]

get the attribute collection

Definition at line 372 of file sc_object.cpp.

const sc_attr_cltn & sc_core::sc_object::attr_cltn (  )  const [inherited]

get the attribute collection

Definition at line 379 of file sc_object.cpp.

sc_object* sc_core::sc_object::get_parent (  )  const [inline, inherited]

return parent object

Definition at line 125 of file sc_object.h.

sc_object* sc_core::sc_object::get_parent_object (  )  const [inline, inherited]

return parent object

Definition at line 127 of file sc_object.h.


Friends And Related Function Documentation

friend class sc_process_handle [friend]

friend class sc_simcontext [friend]

friend class sc_object [friend]

Definition at line 259 of file sc_process.h.

friend class sc_port_base [friend]

Definition at line 260 of file sc_process.h.

friend class sc_runnable [friend]

Reimplemented in sc_core::sc_method_process, and sc_core::sc_thread_process.

Definition at line 261 of file sc_process.h.

friend class sc_sensitive [friend]

Definition at line 262 of file sc_process.h.

friend class sc_sensitive_pos [friend]

Definition at line 263 of file sc_process.h.

friend class sc_sensitive_neg [friend]

Definition at line 264 of file sc_process.h.

friend class sc_module [friend]

friend class sc_report_handler [friend]

Definition at line 266 of file sc_process.h.

friend class sc_reset [friend]

Definition at line 267 of file sc_process.h.

friend class sc_reset_finder [friend]

Definition at line 268 of file sc_process.h.

const char* sc_gen_unique_name ( const char *  ,
bool  preserve_first 
) [friend]

sc_process_handle sc_get_current_process_handle (  )  [friend]

void sc_thread_cor_fn ( void *  arg  )  [friend]

Reimplemented in sc_core::sc_thread_process.

void sc_cthread_cor_fn ( void *  arg  )  [friend]

Reimplemented in sc_core::sc_cthread_process, and sc_core::sc_thread_process.

Definition at line 63 of file sc_cthread_process.cpp.

bool timed_out ( sc_simcontext  )  [friend]


Member Data Documentation

Definition at line 344 of file sc_process.h.

Definition at line 345 of file sc_process.h.

Definition at line 346 of file sc_process.h.

Definition at line 349 of file sc_process.h.

Definition at line 350 of file sc_process.h.

Definition at line 351 of file sc_process.h.

Definition at line 352 of file sc_process.h.

Definition at line 353 of file sc_process.h.

Definition at line 354 of file sc_process.h.

Definition at line 355 of file sc_process.h.

Definition at line 356 of file sc_process.h.

Definition at line 357 of file sc_process.h.

Definition at line 358 of file sc_process.h.

Definition at line 359 of file sc_process.h.

Definition at line 360 of file sc_process.h.

Definition at line 361 of file sc_process.h.

Definition at line 362 of file sc_process.h.

Definition at line 363 of file sc_process.h.

Definition at line 364 of file sc_process.h.

Definition at line 365 of file sc_process.h.

std::vector<const sc_event*> sc_core::sc_process_b::m_static_events [protected]

Definition at line 366 of file sc_process.h.

Definition at line 367 of file sc_process.h.

Definition at line 368 of file sc_process.h.

Definition at line 369 of file sc_process.h.

Definition at line 370 of file sc_process.h.

Definition at line 371 of file sc_process.h.

Definition at line 372 of file sc_process.h.

Definition at line 375 of file sc_process.h.

Definition at line 376 of file sc_process.h.


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

Generated on Wed Jan 21 15:32:15 2009 for SystemC by  doxygen 1.5.5