rc_reset_channel_if Class Reference

#include <rc_reset_channel_if.h>

Inheritance diagram for rc_reset_channel_if:

reset_buffer reset_signal rc_accessor< sc_signal_in_if< bool > > rc_accessor< sc_signal_inout_if< bool > > rc_process_reset rc_sc_buffer< bool > rc_sc_signal< bool > rc_signal< bool >

List of all members.


Detailed Description

The pure virtual interface of a reset channel.

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.

Remarks:
Processes are not registered directly, instead a process control object is passed that grants control of a particular process.
See also:
Resettable Processes

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.

Member Function Documentation

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.

Parameters:
pctrl The process control object that shall be deactivated in case of a reset.
active_level The reset trigger level (high or low).
See also:
rc_process_control

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.

Parameters:
pctrl The process control object that shall be unregistered
The opposite of register_process_control().

See also:
rc_process_control

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.

Returns:
the current level of the channel.

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).

Returns:
a SystemC signal this channel is based on.
Note:
SystemC's reset mechanism is not standardised. Hence for some SystemC implementations (e.g. OSCI SystemC) it may be useful to have access to a native channel.
See also:
sc_core::sc_signal_inout_if::reset_is()

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().


Friends And Related Function Documentation

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.


The documentation for this class was generated from the following file:
Generated on Tue Jan 1 23:14:14 2008 for ReChannel by  doxygen 1.5.3