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
 
class  sc_core::sc_module
 

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_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)
 
#define declare_thread_process(handle, name, host_tag, func)
 
#define declare_cthread_process(handle, name, host_tag, func, edge)
 
#define SC_CTHREAD(func, edge)
 
#define SC_METHOD(func)
 
#define SC_THREAD(func)
 

Typedefs

typedef sc_module sc_core::sc_channel
 
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 
)
Value:
{ \
name, false, \
SC_MAKE_FUNC_PTR( host_tag, func ), this, 0 ); \
this->sensitive.operator() ( handle, edge );\
}
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)
sc_simcontext * sc_get_curr_simcontext()
#define SC_MAKE_FUNC_PTR(callback_tag, func)
Definition: sc_process.h:144

Definition at line 436 of file sc_module.h.

#define declare_method_process (   handle,
  name,
  host_tag,
  func 
)
Value:
{ \
name, false, SC_MAKE_FUNC_PTR( host_tag, func ), \
this, 0 ); \
this->sensitive << handle; \
this->sensitive_pos << handle; \
this->sensitive_neg << handle; \
}
sc_simcontext * sc_get_curr_simcontext()
#define SC_MAKE_FUNC_PTR(callback_tag, func)
Definition: sc_process.h:144
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)

Definition at line 414 of file sc_module.h.

#define declare_thread_process (   handle,
  name,
  host_tag,
  func 
)
Value:
{ \
name, false, \
SC_MAKE_FUNC_PTR( host_tag, func ), this, 0 ); \
this->sensitive << handle; \
this->sensitive_pos << handle; \
this->sensitive_neg << handle; \
}
sc_simcontext * sc_get_curr_simcontext()
#define SC_MAKE_FUNC_PTR(callback_tag, func)
Definition: sc_process.h:144
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)

Definition at line 425 of file sc_module.h.

#define SC_CTHREAD (   func,
  edge 
)
Value:
declare_cthread_process( func ## _handle, \
#func, \
SC_CURRENT_USER_MODULE, \
func, \
edge )
#define declare_cthread_process(handle, name, host_tag, func, edge)
Definition: sc_module.h:436

Definition at line 445 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 )

Definition at line 397 of file sc_module.h.

#define SC_HAS_PROCESS (   user_module_name)    typedef user_module_name SC_CURRENT_USER_MODULE

Definition at line 402 of file sc_module.h.

#define SC_METHOD (   func)
Value:
declare_method_process( func ## _handle, \
#func, \
SC_CURRENT_USER_MODULE, \
func )
#define declare_method_process(handle, name, host_tag, func)
Definition: sc_module.h:414

Definition at line 452 of file sc_module.h.

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

Definition at line 394 of file sc_module.h.

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

Definition at line 387 of file sc_module.h.

#define SC_THREAD (   func)
Value:
declare_thread_process( func ## _handle, \
#func, \
SC_CURRENT_USER_MODULE, \
func )
#define declare_thread_process(handle, name, host_tag, func)
Definition: sc_module.h:425

Definition at line 458 of file sc_module.h.