rc_process_reset Class Reference

#include <rc_process_support.h>

Inheritance diagram for rc_process_reset:

rc_reset_channel_if

List of all members.


Detailed Description

This class resets resettable processes in the same delta cycle.

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.

Member Typedef Documentation

typedef std::set<rc_process_control*> pctrl_set [private]

Definition at line 273 of file rc_process_support.h.


Constructor & Destructor Documentation

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.


Member Function Documentation

void trigger (  )  [virtual]

Trigger a reset on this object.

Definition at line 645 of file rc_process_support.cpp.

void register_process_control ( rc_process_control pctrl,
bool  active_level 
) const [protected, 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

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.

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

See also:
rc_process_control

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.

Returns:
the current level of the channel.

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

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

Implements rc_reset_channel_if.

Definition at line 300 of file rc_process_support.h.


Friends And Related Function Documentation

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.


Member Data Documentation

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


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