sysc/kernel/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

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

namespace  sc_core

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_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.
#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.
#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.
#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.
#define SC_METHOD(func, seg_id, inst_id)
 Two new parameters segment ID and instance ID are added for the out-of-order simulation.
#define SC_THREAD(func, seg_id, inst_id)
 Two new parameters segment ID and instance ID are added for the out-of-order simulation.

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

Define Documentation

#define declare_cthread_process ( handle,
name,
host_tag,
func,
edge,
seg_id,
inst_id   ) 
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, seg_id, inst_id );                                   \
        this->sensitive.operator() ( handle, edge );                           \
    }

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

Definition at line 631 of file sc_module.h.

#define declare_method_process ( handle,
name,
host_tag,
func,
seg_id,
inst_id   ) 
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, seg_id, inst_id );                                    \
        this->sensitive << handle;                                             \
        this->sensitive_pos << handle;                                         \
        this->sensitive_neg << handle;                                         \
    }

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

Definition at line 595 of file sc_module.h.

#define declare_thread_process ( handle,
name,
host_tag,
func,
seg_id,
inst_id   ) 
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, seg_id, inst_id );                                   \
        this->sensitive << handle;                                             \
        this->sensitive_pos << handle;                                         \
        this->sensitive_neg << handle;                                         \
    }

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

Definition at line 612 of file sc_module.h.

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

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

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

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

#define SC_HAS_PROCESS ( user_module_name   )     typedef user_module_name SC_CURRENT_USER_MODULE

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

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

Definition at line 662 of file sc_module.h.

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

Definition at line 565 of file sc_module.h.

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

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

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

Definition at line 676 of file sc_module.h.


Generated on 29 Oct 2015 for SystemC by  doxygen 1.6.1