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 "sysc/utils/sc_string.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.

Namespaces

namespace  sc_core

Classes

struct  sc_core::sc_bind_proxy
class  sc_core::sc_module

Defines

#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 *module_)


Define Documentation

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

Value:

{                                                               \
        ::sc_core::sc_process_handle handle =                     \
         sc_core::sc_get_curr_simcontext()->create_cthread_process( \
            name,  false,          \
                     SC_MAKE_FUNC_PTR( host_tag, func ), this, 0 ); \
        this->sensitive.operator() ( handle, edge );\
    }

Definition at line 510 of file sc_module.h.

#define declare_method_process ( handle,
name,
host_tag,
func   ) 

Value:

{                                                           \
        ::sc_core::sc_process_handle handle =                      \
        sc_core::sc_get_curr_simcontext()->create_method_process( \
        name,  false, SC_MAKE_FUNC_PTR( host_tag, func ), \
        this, 0 ); \
        this->sensitive << handle;                                        \
        this->sensitive_pos << handle;                                    \
        this->sensitive_neg << handle;                                    \
    }

Definition at line 488 of file sc_module.h.

#define declare_thread_process ( handle,
name,
host_tag,
func   ) 

Value:

{                                                               \
        ::sc_core::sc_process_handle handle =                      \
         sc_core::sc_get_curr_simcontext()->create_thread_process( \
                 name,  false,           \
                 SC_MAKE_FUNC_PTR( host_tag, func ), this, 0 ); \
        this->sensitive << handle;                                        \
        this->sensitive_pos << handle;                                    \
        this->sensitive_neg << handle;                                    \
    }

Definition at line 499 of file sc_module.h.

#define SC_CTHREAD ( func,
edge   ) 

Value:

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

Definition at line 519 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 470 of file sc_module.h.

#define SC_HAS_PROCESS ( user_module_name   )     typedef user_module_name SC_CURRENT_USER_MODULE

Definition at line 475 of file sc_module.h.

#define SC_METHOD ( func   ) 

Value:

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

Definition at line 526 of file sc_module.h.

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

Definition at line 467 of file sc_module.h.

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

Definition at line 460 of file sc_module.h.

#define SC_THREAD ( func   ) 

Value:

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

Definition at line 532 of file sc_module.h.


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