SystemC  Recoding Infrastructure for SystemC v0.6.2 derived from Accellera SystemC 2.3.1
Accellera SystemC proof-of-concept library
Classes | Namespaces | Macros | Typedefs | Functions | Variables
sc_module.h File Reference
#include "sysc/kernel/sc_kernel_ids.h"
#include "sysc/kernel/sc_process.h"
#include "sysc/kernel/sc_module_name.h"
#include "sysc/kernel/sc_sensitive.h"
#include "sysc/kernel/sc_time.h"
#include "sysc/kernel/sc_wait.h"
#include "sysc/kernel/sc_wait_cthread.h"
#include "sysc/kernel/sc_process_handle.h"
#include "sysc/utils/sc_list.h"
Include dependency graph for sc_module.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

class  sc_core::sc_in< T >
 
class  sc_core::sc_inout< T >
 
class  sc_core::sc_out< T >
 
struct  sc_core::sc_bind_proxy
 Struct for temporarily storing a pointer to an interface or port. More...
 
class  sc_core::sc_module
 Base class for all structural entities. More...
 
class  sc_core::sc_channel
 Base class for all hierarchical channels. More...
 

Namespaces

 sc_core
 

Macros

#define SC_NEW(x)   ::sc_core::sc_module_dynalloc(new x);
 
#define SC_MODULE(user_module_name)   struct user_module_name : ::sc_core::sc_module
 
#define SC_CHANNEL(user_module_name)   struct user_module_name : ::sc_core::sc_channel
 
#define SC_CTOR(user_module_name)
 
#define SC_HAS_PROCESS(user_module_name)   typedef user_module_name SC_CURRENT_USER_MODULE
 
#define declare_method_process(handle, name, host_tag, func, seg_id, inst_id)
 Two new parameters segment ID and instance ID are added for the out-of-order simulation. More...
 
#define declare_thread_process(handle, name, host_tag, func, seg_id, inst_id)
 Two new parameters segment ID and instance ID are added for the out-of-order simulation. More...
 
#define declare_cthread_process(handle, name, host_tag, func, edge,seg_id, inst_id)
 Two new parameters segment ID and instance ID are added for the out-of-order simulation. More...
 
#define SC_CTHREAD(func, edge, seg_id, inst_id)
 Two new parameters segment ID and instance ID are added for the out-of-order simulation. More...
 
#define SC_METHOD(func, seg_id, inst_id)
 Two new parameters segment ID and instance ID are added for the out-of-order simulation. More...
 
#define SC_THREAD(func, seg_id, inst_id)
 Two new parameters segment ID and instance ID are added for the out-of-order simulation. More...
 

Typedefs

typedef sc_module sc_core::sc_behavior
 

Functions

sc_module * sc_core::sc_module_dynalloc (sc_module *)
 

Variables

const sc_bind_proxy sc_core::SC_BIND_PROXY_NIL
 

Macro Definition Documentation

#define declare_cthread_process (   handle,
  name,
  host_tag,
  func,
  edge,
  seg_id,
  inst_id 
)
Value:
{ \
name, false, \
SC_MAKE_FUNC_PTR( host_tag, func ), \
this, 0, seg_id, inst_id ); \
this->sensitive.operator() ( handle, edge ); \
}
This class provides access to an sc_process_b object instance in a manner which allows some persisten...
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.
sc_simcontext * sc_get_curr_simcontext()
#define SC_MAKE_FUNC_PTR(callback_tag, func)
Definition: sc_process.h:214

Two new parameters segment ID and instance ID are added for the out-of-order simulation.

Definition at line 641 of file sc_module.h.

#define declare_method_process (   handle,
  name,
  host_tag,
  func,
  seg_id,
  inst_id 
)
Value:
{ \
name, false, SC_MAKE_FUNC_PTR( host_tag, func ), \
this, 0, seg_id, inst_id ); \
this->sensitive << handle; \
this->sensitive_pos << handle; \
this->sensitive_neg << handle; \
}
This class provides access to an sc_process_b object instance in a manner which allows some persisten...
sc_simcontext * sc_get_curr_simcontext()
#define SC_MAKE_FUNC_PTR(callback_tag, func)
Definition: sc_process.h:214
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.

Two new parameters segment ID and instance ID are added for the out-of-order simulation.

Definition at line 606 of file sc_module.h.

#define declare_thread_process (   handle,
  name,
  host_tag,
  func,
  seg_id,
  inst_id 
)
Value:
{ \
name, false, \
SC_MAKE_FUNC_PTR( host_tag, func ), \
this, 0, seg_id, inst_id ); \
this->sensitive << handle; \
this->sensitive_pos << handle; \
this->sensitive_neg << handle; \
}
This class provides access to an sc_process_b object instance in a manner which allows some persisten...
sc_simcontext * sc_get_curr_simcontext()
#define SC_MAKE_FUNC_PTR(callback_tag, func)
Definition: sc_process.h:214
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.

Two new parameters segment ID and instance ID are added for the out-of-order simulation.

Definition at line 623 of file sc_module.h.

#define SC_CHANNEL (   user_module_name)    struct user_module_name : ::sc_core::sc_channel

Definition at line 580 of file sc_module.h.

#define SC_CTHREAD (   func,
  edge,
  seg_id,
  inst_id 
)
Value:
declare_cthread_process( func ## _handle, \
#func, \
SC_CURRENT_USER_MODULE, \
func, \
edge, \
seg_id, \
inst_id )
#define declare_cthread_process(handle, name, host_tag, func, edge,seg_id, inst_id)
Two new parameters segment ID and instance ID are added for the out-of-order simulation.
Definition: sc_module.h:641

Two new parameters segment ID and instance ID are added for the out-of-order simulation.

Definition at line 658 of file sc_module.h.

#define SC_CTOR (   user_module_name)
Value:
typedef user_module_name SC_CURRENT_USER_MODULE; \
user_module_name( ::sc_core::sc_module_name )
Module name class.

Definition at line 583 of file sc_module.h.

#define SC_HAS_PROCESS (   user_module_name)    typedef user_module_name SC_CURRENT_USER_MODULE

Definition at line 588 of file sc_module.h.

#define SC_METHOD (   func,
  seg_id,
  inst_id 
)
Value:
declare_method_process( func ## _handle, \
#func, \
SC_CURRENT_USER_MODULE, \
func, \
seg_id, \
inst_id )
#define declare_method_process(handle, name, host_tag, func, seg_id, inst_id)
Two new parameters segment ID and instance ID are added for the out-of-order simulation.
Definition: sc_module.h:606

Two new parameters segment ID and instance ID are added for the out-of-order simulation.

Definition at line 673 of file sc_module.h.

#define SC_MODULE (   user_module_name)    struct user_module_name : ::sc_core::sc_module

Definition at line 576 of file sc_module.h.

#define SC_NEW (   x)    ::sc_core::sc_module_dynalloc(new x);

Definition at line 569 of file sc_module.h.

#define SC_THREAD (   func,
  seg_id,
  inst_id 
)
Value:
declare_thread_process( func ## _handle, \
#func, \
SC_CURRENT_USER_MODULE, \
func, \
seg_id, \
inst_id )
#define declare_thread_process(handle, name, host_tag, func, seg_id, inst_id)
Two new parameters segment ID and instance ID are added for the out-of-order simulation.
Definition: sc_module.h:623

Two new parameters segment ID and instance ID are added for the out-of-order simulation.

Definition at line 687 of file sc_module.h.