#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"ネームスペース | |
| 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_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 );\
}
sc_module.h の 510 行で定義されています。
| #define declare_method_process | ( | handle, | |||
| name, | |||||
| host_tag, | |||||
| func | ) |
値:
{ \
::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; \
}
sc_module.h の 488 行で定義されています。
| #define declare_thread_process | ( | handle, | |||
| name, | |||||
| host_tag, | |||||
| func | ) |
値:
{ \
::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; \
}
sc_module.h の 499 行で定義されています。
| #define SC_CTHREAD | ( | func, | |||
| edge | ) |
値:
declare_cthread_process( func ## _handle, \ #func, \ SC_CURRENT_USER_MODULE, \ func, \ edge )
sc_module.h の 519 行で定義されています。
| #define SC_CTOR | ( | user_module_name | ) |
値:
typedef user_module_name SC_CURRENT_USER_MODULE; \ user_module_name( ::sc_core::sc_module_name )
sc_module.h の 470 行で定義されています。
| #define SC_HAS_PROCESS | ( | user_module_name | ) | typedef user_module_name SC_CURRENT_USER_MODULE |
sc_module.h の 475 行で定義されています。
| #define SC_METHOD | ( | func | ) |
値:
declare_method_process( func ## _handle, \ #func, \ SC_CURRENT_USER_MODULE, \ func )
sc_module.h の 526 行で定義されています。
| #define SC_MODULE | ( | user_module_name | ) | struct user_module_name : ::sc_core::sc_module |
sc_module.h の 467 行で定義されています。
| #define SC_NEW | ( | x | ) | ::sc_core::sc_module_dynalloc(new x); |
sc_module.h の 460 行で定義されています。
| #define SC_THREAD | ( | func | ) |
値:
declare_thread_process( func ## _handle, \ #func, \ SC_CURRENT_USER_MODULE, \ func )
sc_module.h の 532 行で定義されています。
1.5.6