#include <rc_process_support.h>
rc_process_reset is a reset channel that implements rc_reset_channel_if. In constrast to normal reset signals it is attached to process by method reset_is(). Another difference is that it does not possess an active level. Instead rc_process_reset only provides a trigger() method that can be called to trigger a single discrete reset and, thus, get_current_level() will always return false. The reset will occur in same delta cycle as the trigger call.
Example:
rc_process_reset preset; // declaration at class scope [...] RC_THREAD(proc); // creation of the thread process reset_is(preset); // proc is reset by preset now [...] preset.trigger(); // trigger the reset (e.g. from another process)
Definition at line 266 of file rc_process_support.h.
Public Member Functions | |
rc_process_reset () | |
rc_process_reset (const char *name_) | |
virtual void | trigger () |
Trigger a reset on this object. | |
Protected Member Functions | |
virtual void | register_process_control (rc_process_control &pctrl, bool active_level) const |
Registers a process control at the channel's reset list. | |
virtual void | unregister_process_control (rc_process_control &pctrl) const |
Unregisters a process control from the channel's reset list. | |
virtual bool | get_current_level () const |
Returns the reset channel's current level. | |
virtual const sc_signal< bool > * | get_underlying_reset_signal () const |
Returns the underlying SystemC signal (if such exists). | |
Private Types | |
typedef std::set < rc_process_control * > | pctrl_set |
Private Attributes | |
pctrl_set | p_pctrl_set |
Friends | |
class | internals::process_support |
Grants the process functionality access to the protected interface methods. |
typedef std::set<rc_process_control*> pctrl_set [private] |
Definition at line 273 of file rc_process_support.h.
rc_process_reset | ( | ) | [explicit] |
Definition at line 636 of file rc_process_support.cpp.
rc_process_reset | ( | const char * | name_ | ) | [explicit] |
Definition at line 640 of file rc_process_support.cpp.
void trigger | ( | ) | [virtual] |
void register_process_control | ( | rc_process_control & | pctrl, | |
bool | active_level | |||
) | const [protected, virtual] |
Registers a process control at the channel's reset list.
pctrl | The process control object that shall be deactivated in case of a reset. | |
active_level | The reset trigger level (high or low). |
Implements rc_reset_channel_if.
Definition at line 665 of file rc_process_support.cpp.
void unregister_process_control | ( | rc_process_control & | pctrl | ) | const [protected, virtual] |
Unregisters a process control from the channel's reset list.
pctrl | The process control object that shall be unregistered |
Implements rc_reset_channel_if.
Definition at line 675 of file rc_process_support.cpp.
virtual bool get_current_level | ( | ) | const [inline, protected, virtual] |
Returns the reset channel's current level.
Implements rc_reset_channel_if.
Definition at line 296 of file rc_process_support.h.
virtual const sc_signal<bool>* get_underlying_reset_signal | ( | ) | const [inline, protected, virtual] |
Returns the underlying SystemC signal (if such exists).
Implements rc_reset_channel_if.
Definition at line 300 of file rc_process_support.h.
friend class internals::process_support [friend] |
Grants the process functionality access to the protected interface methods.
Reimplemented from rc_reset_channel_if.
Definition at line 270 of file rc_process_support.h.
pctrl_set p_pctrl_set [mutable, private] |
Definition at line 304 of file rc_process_support.h.
Referenced by rc_process_reset::register_process_control(), rc_process_reset::trigger(), and rc_process_reset::unregister_process_control().