Main Page   Namespace List   Class Hierarchy   Alphabetical List   Compound List   File List   Namespace Members   Compound Members   File Members  

sc_module.h File Reference

#include "systemc/kernel/sc_kernel_ids.h"
#include "systemc/kernel/sc_lambda.h"
#include "systemc/kernel/sc_module_name.h"
#include "systemc/kernel/sc_process.h"
#include "systemc/kernel/sc_sensitive.h"
#include "systemc/kernel/sc_time.h"
#include "systemc/kernel/sc_wait.h"
#include "systemc/kernel/sc_wait_cthread.h"
#include "systemc/kernel/sc_process_host.h"
#include "systemc/utils/sc_list.h"
#include "systemc/utils/sc_string.h"

Include dependency graph for sc_module.h:

Include dependency graph

This graph shows which files directly or indirectly include this file:

Included by dependency graph

Go to the source code of this file.

Compounds

struct  sc_bind_proxy
class  sc_module

Defines

#define SC_NEW(x)   sc_module_dynalloc(new x);
#define SC_MODULE(user_module_name)   struct user_module_name : 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_channel
typedef sc_module sc_behavior

Functions

sc_modulesc_module_dynalloc (sc_module *)

Variables

const sc_bind_proxy SC_BIND_PROXY_NIL


Define Documentation

#define declare_cthread_process handle,
name,
host_tag,
func,
edge   
 

Value:

{                                                                         \
        sc_cthread_handle handle = simcontext()->register_cthread_process(name,\
                     SC_MAKE_FUNC_PTR( host_tag, func ), this );              \
        sc_module::sensitive.operator() ( handle, edge );                     \
    }

Definition at line 433 of file sc_module.h.

#define declare_method_process handle,
name,
host_tag,
func   
 

Value:

{   \
        sc_method_handle handle = simcontext()->register_method_process( name,\
                     SC_MAKE_FUNC_PTR( host_tag, func ), this );            \
        sc_module::sensitive << handle;                                       \
        sc_module::sensitive_pos << handle;                                   \
        sc_module::sensitive_neg << handle;                                   \
    }

Definition at line 415 of file sc_module.h.

#define declare_thread_process handle,
name,
host_tag,
func   
 

Value:

{                                                       \
        sc_thread_handle handle = simcontext()->register_thread_process( name,\
                     SC_MAKE_FUNC_PTR( host_tag, func ), this );            \
        sc_module::sensitive << handle;                                       \
        sc_module::sensitive_pos << handle;                                   \
        sc_module::sensitive_neg << handle;                                   \
    }

Definition at line 424 of file sc_module.h.

#define SC_CTHREAD func,
edge   
 

Value:

declare_cthread_process( func ## _handle,                                 \
                             sc_gen_unique_name(#func),                       \
                             SC_CURRENT_USER_MODULE,                          \
                             func,                                            \
                             edge )

Definition at line 440 of file sc_module.h.

#define SC_CTOR user_module_name   
 

Value:

typedef user_module_name SC_CURRENT_USER_MODULE;                          \
    user_module_name( sc_module_name )

Definition at line 406 of file sc_module.h.

#define SC_HAS_PROCESS user_module_name       typedef user_module_name SC_CURRENT_USER_MODULE
 

Definition at line 411 of file sc_module.h.

#define SC_METHOD func   
 

Value:

declare_method_process( func ## _handle,                                  \
                            sc_gen_unique_name(#func),                        \
                            SC_CURRENT_USER_MODULE,                           \
                            func )

Definition at line 447 of file sc_module.h.

Referenced by sc_event_queue::sc_event_queue().

#define SC_MODULE user_module_name       struct user_module_name : sc_module
 

Definition at line 403 of file sc_module.h.

#define SC_NEW      sc_module_dynalloc(new x);
 

Definition at line 396 of file sc_module.h.

#define SC_THREAD func   
 

Value:

declare_thread_process( func ## _handle,                                  \
                            sc_gen_unique_name(#func),                        \
                            SC_CURRENT_USER_MODULE,                           \
                            func )

Definition at line 453 of file sc_module.h.


Typedef Documentation

typedef sc_module sc_behavior
 

Definition at line 466 of file sc_module.h.

typedef sc_module sc_channel
 

Definition at line 465 of file sc_module.h.


Function Documentation

sc_module* sc_module_dynalloc sc_module  
 

Definition at line 110 of file sc_module.cpp.

References sc_module_dynalloc_list::add().


Variable Documentation

const sc_bind_proxy SC_BIND_PROXY_NIL
 

Definition at line 86 of file sc_module.h.


Generated on Fri Jan 14 08:29:57 2005 for SystemC2.1beta11(excludingMSLib)(IncludingSCV)\nProvidedby:www.openverificationfoundation.org by doxygen1.2.18