#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 行で定義されています。