#include <rc_process_support.h>
Resettable processes can only be used if a process support object is available at a modules scope.
The macro RC_HAS_PROCESS() can be invoked within resettable modules to add an process_support object as a member of this module. Resettable processes may now be declared by the respective process declaration macros. Furthermore rc_spawn() will be available within that module.
Definition at line 68 of file rc_process_support.h.
Public Member Functions | |
process_support () | |
bool | has_reconfigurable_context () const |
bool | has_non_reconfigurable_context () const |
rc_reconfigurable & | get_context () const |
rc_reconfigurable * | get_reconfigurable_context () const |
void | declare_process (const sc_object &host, const boost::function< void(void)> &declare_proc_callback, const boost::function< void(void)> &func, sc_sensitive &sensitive, bool is_thread=false, bool dont_initialize=false, bool has_sync_reset=false) |
void | method_process () |
void | thread_process () |
void | dont_initialize (const sc_object &host) const |
rc_process_handle | rc_spawn (boost::function< void(void)> func, const char *name_p=NULL, rc_spawn_options *opt_p=NULL) |
void | terminate () |
bool | reset_signal_is (const sc_object &host, const sc_in< bool > &port_, bool active_level) |
bool | reset_signal_is (const sc_object &host, const sc_signal< bool > &signal_, bool active_level) |
const sc_signal< bool > * | reset_channel_is (const sc_object &host, rc_reset_channel_if &reset_, bool active_level) |
void | reset_is (const sc_object &host, rc_process_reset &process_reset) |
void | set_sync_reset (const sc_object &host, bool b) const |
rc_process_behavior_change | disable_process_control () const |
Protected Member Functions | |
void | before_end_of_elaboration () |
Private Types | |
typedef rc_hash_map < sc_object *, process_info * > | process_info_map |
Private Member Functions | |
process_info * | _rc_find_process_info (sc_object *proc_obj) const |
process_info * | _rc_fetch_process_info (sc_object *proc_obj) |
bool | _rc_check_valid_last_proc (const sc_object &host) const |
Static Private Member Functions | |
static rc_reconfigurable & | _rc_find_context (sc_object *start_search) |
static void | register_process_control (const rc_reset_channel_if &reset_channel, rc_process_control &pctrl, bool active_level) |
static void | unregister_process_control (const rc_reset_channel_if &reset_channel, rc_process_control &pctrl) |
static bool | get_current_level (const rc_reset_channel_if &reset_channel) |
Private Attributes | |
rc_reconfigurable & | p_reconf |
process_info_map | p_reconf_pinfo_map |
process_info * | p_last_pinfo |
const sc_object * | p_last_host |
unsigned int | p_last_host_child_count |
Classes | |
class | process_info |
This class is used to store additional process information (internally used). More... |
typedef rc_hash_map<sc_object*, process_info*> process_info_map [private] |
Definition at line 72 of file rc_process_support.h.
process_support | ( | ) |
Definition at line 179 of file rc_process_support.cpp.
bool has_reconfigurable_context | ( | ) | const [inline] |
Definition at line 80 of file rc_process_support.h.
bool has_non_reconfigurable_context | ( | ) | const [inline] |
Definition at line 83 of file rc_process_support.h.
rc_reconfigurable& get_context | ( | ) | const [inline] |
Definition at line 86 of file rc_process_support.h.
rc_reconfigurable * get_reconfigurable_context | ( | ) | const [inline] |
Definition at line 312 of file rc_process_support.h.
void declare_process | ( | const sc_object & | host, | |
const boost::function< void(void)> & | declare_proc_callback, | |||
const boost::function< void(void)> & | func, | |||
sc_sensitive & | sensitive, | |||
bool | is_thread = false , |
|||
bool | dont_initialize = false , |
|||
bool | has_sync_reset = false | |||
) |
Definition at line 201 of file rc_process_support.cpp.
void method_process | ( | ) |
void thread_process | ( | ) |
void dont_initialize | ( | const sc_object & | host | ) | const |
rc_process_handle rc_spawn | ( | boost::function< void(void)> | func, | |
const char * | name_p = NULL , |
|||
rc_spawn_options * | opt_p = NULL | |||
) |
Definition at line 386 of file rc_process_support.cpp.
void terminate | ( | ) |
Definition at line 475 of file rc_process_support.cpp.
bool reset_signal_is | ( | const sc_object & | host, | |
const sc_in< bool > & | port_, | |||
bool | active_level | |||
) |
Definition at line 486 of file rc_process_support.cpp.
bool reset_signal_is | ( | const sc_object & | host, | |
const sc_signal< bool > & | signal_, | |||
bool | active_level | |||
) |
Definition at line 501 of file rc_process_support.cpp.
const sc_signal< bool > * reset_channel_is | ( | const sc_object & | host, | |
rc_reset_channel_if & | reset_, | |||
bool | active_level | |||
) |
Definition at line 516 of file rc_process_support.cpp.
void reset_is | ( | const sc_object & | host, | |
rc_process_reset & | process_reset | |||
) |
Definition at line 537 of file rc_process_support.cpp.
void set_sync_reset | ( | const sc_object & | host, | |
bool | b | |||
) | const |
Definition at line 550 of file rc_process_support.cpp.
rc_process_behavior_change disable_process_control | ( | ) | const |
Definition at line 569 of file rc_process_support.cpp.
void before_end_of_elaboration | ( | ) | [protected] |
Definition at line 581 of file rc_process_support.cpp.
process_support::process_info * _rc_find_process_info | ( | sc_object * | proc_obj | ) | const [private] |
Definition at line 591 of file rc_process_support.cpp.
Referenced by process_support::method_process().
process_support::process_info * _rc_fetch_process_info | ( | sc_object * | proc_obj | ) | [private] |
Definition at line 599 of file rc_process_support.cpp.
bool _rc_check_valid_last_proc | ( | const sc_object & | host | ) | const [private] |
Definition at line 613 of file rc_process_support.cpp.
Referenced by process_support::dont_initialize().
rc_reconfigurable & _rc_find_context | ( | sc_object * | start_search | ) | [static, private] |
Definition at line 621 of file rc_process_support.cpp.
static void register_process_control | ( | const rc_reset_channel_if & | reset_channel, | |
rc_process_control & | pctrl, | |||
bool | active_level | |||
) | [inline, static, private] |
Definition at line 142 of file rc_process_support.h.
Referenced by process_support::process_info::register_reset_channel().
static void unregister_process_control | ( | const rc_reset_channel_if & | reset_channel, | |
rc_process_control & | pctrl | |||
) | [inline, static, private] |
Definition at line 147 of file rc_process_support.h.
Referenced by process_support::process_info::~process_info().
static bool get_current_level | ( | const rc_reset_channel_if & | reset_channel | ) | [inline, static, private] |
Definition at line 152 of file rc_process_support.h.
Referenced by process_support::process_info::update_process_control_state().
rc_reconfigurable& p_reconf [private] |
Definition at line 157 of file rc_process_support.h.
Referenced by process_support::declare_process(), process_support::disable_process_control(), process_support::get_context(), process_support::get_reconfigurable_context(), process_support::has_non_reconfigurable_context(), process_support::has_reconfigurable_context(), process_support::method_process(), process_support::rc_spawn(), and process_support::thread_process().
process_info_map p_reconf_pinfo_map [private] |
Definition at line 158 of file rc_process_support.h.
Referenced by process_support::_rc_fetch_process_info(), process_support::_rc_find_process_info(), process_support::before_end_of_elaboration(), process_support::declare_process(), and process_support::rc_spawn().
process_info* p_last_pinfo [private] |
Definition at line 159 of file rc_process_support.h.
Referenced by process_support::_rc_check_valid_last_proc(), process_support::declare_process(), process_support::dont_initialize(), process_support::reset_channel_is(), process_support::reset_is(), process_support::reset_signal_is(), and process_support::set_sync_reset().
const sc_object* p_last_host [private] |
Definition at line 160 of file rc_process_support.h.
Referenced by process_support::_rc_check_valid_last_proc(), and process_support::declare_process().
unsigned int p_last_host_child_count [private] |
Definition at line 161 of file rc_process_support.h.
Referenced by process_support::_rc_check_valid_last_proc(), process_support::declare_process(), and process_support::reset_signal_is().