#include "sysc/kernel/sc_kernel_ids.h"#include "sysc/kernel/sc_lambda.h"#include "sysc/kernel/sc_module_name.h"#include "sysc/kernel/sc_process.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_host.h"#include "sysc/utils/sc_list.h"#include "sysc/utils/sc_string.h"ネームスペース | |
| namespace | sc_core |
構成 | |
| struct | sc_core::sc_bind_proxy |
| class | sc_core::sc_module |
マクロ定義 | |
| #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) |
型定義 | |
| typedef sc_module | sc_core::sc_channel |
| typedef sc_module | sc_core::sc_behavior |
関数 | |
| sc_module * | sc_core::sc_module_dynalloc (sc_module *module_) |
| #define declare_cthread_process | ( | handle, | |||
| name, | |||||
| host_tag, | |||||
| func, | |||||
| edge | ) |
値:
{ \
::sc_core::sc_cthread_process* handle = \
simcontext()->register_cthread_process(name, \
SC_MAKE_FUNC_PTR( host_tag, func ), this ); \
sensitive.operator() ( handle, edge );\
}
| #define declare_method_process | ( | handle, | |||
| name, | |||||
| host_tag, | |||||
| func | ) |
値:
{ \
::sc_core::sc_method_process* handle = \
simcontext()->register_method_process( name, \
SC_MAKE_FUNC_PTR( host_tag, func ), this ); \
sensitive << handle; \
sensitive_pos << handle; \
sensitive_neg << handle; \
}
| #define declare_thread_process | ( | handle, | |||
| name, | |||||
| host_tag, | |||||
| func | ) |
値:
{ \
::sc_core::sc_thread_process* handle = \
simcontext()->register_thread_process( name, \
SC_MAKE_FUNC_PTR( host_tag, func ), this ); \
sensitive << handle; \
sensitive_pos << handle; \
sensitive_neg << handle; \
}
| #define SC_CTHREAD | ( | func, | |||
| edge | ) |
値:
declare_cthread_process( func ## _handle, \ #func, \ SC_CURRENT_USER_MODULE, \ func, \ edge )
| #define SC_CTOR | ( | user_module_name | ) |
値:
typedef user_module_name SC_CURRENT_USER_MODULE; \ user_module_name( ::sc_core::sc_module_name )
| #define SC_HAS_PROCESS | ( | user_module_name | ) | typedef user_module_name SC_CURRENT_USER_MODULE |
| #define SC_METHOD | ( | func | ) |
値:
declare_method_process( func ## _handle, \ #func, \ SC_CURRENT_USER_MODULE, \ func )
| #define SC_MODULE | ( | user_module_name | ) | struct user_module_name : ::sc_core::sc_module |
| #define SC_NEW | ( | x | ) | ::sc_core::sc_module_dynalloc(new x); |
| #define SC_THREAD | ( | func | ) |
値:
declare_thread_process( func ## _handle, \ #func, \ SC_CURRENT_USER_MODULE, \ func )
1.5.6