#include <rc_reset_channel_if.h>
Reset channels implement the interface rc_reset_channel_if to enable them to be used as a reset trigger for ReChannel's resettable processes.
A reset channel has an internal state that is called the current level ("high" or "low"). The way this level is constituted, is subject to the respective channel implementation.
The reset condition of a registered process is met if the the current level of the channel equals the process's so-called active level. When a channel's current level changes, the reset shall be triggered by deactivating all processes whose reset condition is met.
Definition at line 70 of file rc_reset_channel_if.h.
Protected Member Functions | |
virtual void | register_process_control (rc_process_control &pctrl, bool active_level) const =0 |
Registers a process control at the channel's reset list. | |
virtual void | unregister_process_control (rc_process_control &pctrl) const =0 |
Unregisters a process control from the channel's reset list. | |
virtual bool | get_current_level () const =0 |
Returns the reset channel's current level. | |
virtual const sc_signal< bool > * | get_underlying_reset_signal () const =0 |
Returns the underlying SystemC signal (if such exists). | |
Friends | |
class | internals::process_support |
Grants the process functionality access to the protected interface methods. |
virtual void register_process_control | ( | rc_process_control & | pctrl, | |
bool | active_level | |||
) | const [protected, pure 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). |
Implemented in rc_accessor< sc_signal_in_if< bool > >, rc_accessor< sc_signal_inout_if< bool > >, rc_sc_buffer< bool >, rc_sc_signal< bool >, rc_signal< bool >, rc_process_reset, reset_signal, and reset_buffer.
Referenced by process_support::register_process_control().
virtual void unregister_process_control | ( | rc_process_control & | pctrl | ) | const [protected, pure virtual] |
Unregisters a process control from the channel's reset list.
pctrl | The process control object that shall be unregistered |
Implemented in rc_accessor< sc_signal_in_if< bool > >, rc_accessor< sc_signal_inout_if< bool > >, rc_sc_buffer< bool >, rc_sc_signal< bool >, rc_signal< bool >, rc_process_reset, reset_signal, and reset_buffer.
Referenced by process_support::unregister_process_control().
virtual bool get_current_level | ( | ) | const [protected, pure virtual] |
Returns the reset channel's current level.
Implemented in rc_accessor< sc_signal_in_if< bool > >, rc_accessor< sc_signal_inout_if< bool > >, rc_sc_buffer< bool >, rc_sc_signal< bool >, rc_signal< bool >, rc_process_reset, reset_signal, and reset_buffer.
Referenced by process_support::get_current_level().
virtual const sc_signal<bool>* get_underlying_reset_signal | ( | ) | const [protected, pure virtual] |
Returns the underlying SystemC signal (if such exists).
Implemented in rc_accessor< sc_signal_in_if< bool > >, rc_accessor< sc_signal_inout_if< bool > >, rc_sc_buffer< bool >, rc_sc_signal< bool >, rc_signal< bool >, rc_process_reset, reset_signal, and reset_buffer.
Referenced by process_support::reset_channel_is().
friend class internals::process_support [friend] |
Grants the process functionality access to the protected interface methods.
Reimplemented in rc_process_reset.
Definition at line 77 of file rc_reset_channel_if.h.