Transaction-Level Modeling Framework for Space Applications
#include <sr_signal_selector.h>
Public Member Functions | |
signal_selector (sc_core::sc_module_name mn=NULL) | |
virtual | ~signal_selector () |
Virtual destructor. More... | |
virtual signal_out_bind_if < TYPE > * | bind (signal_in_if< TYPE > &receiver, const uint32_t &channel) |
virtual void | write (const uint32_t &mask, const TYPE &value, const sc_core::sc_time &time=sc_core::SC_ZERO_TIME) |
virtual TYPE | read (const uint32_t &channel) |
void | operator() (signal_in_if< TYPE > &receiver, const uint32_t &channel) |
Public Member Functions inherited from sr_signal::signal_base< TYPE, MODULE > | |
signal_base (sc_core::sc_module_name mn=NULL) | |
Default constructor. More... | |
virtual | ~signal_base () |
Public Member Functions inherited from sr_signal::signal_out_bind_if< TYPE > | |
virtual | ~signal_out_bind_if () |
Virtual destructor. More... | |
Additional Inherited Members | |
Protected Member Functions inherited from sr_signal::signal_base< TYPE, MODULE > | |
virtual MODULE * | get_module () |
sr_signal selector signal. This class implements a TLM Signal abstraction of an outgoing signal with multiple channels. The signal stores the value and triggers the update function of all receivers. Each channel can be updated seperately. The channels are addressed as bitmasks. This makes it possible to update multiple channels at once.
|
inline |
Constructor
mn | Signal name. |
|
inlinevirtual |
Virtual destructor.
|
inlinevirtual |
Selector signal bind method. This method implements the binding mechanism with an input signal on a specific channel.
receiver | Input interface to bind with. |
channel | The channel which has to be bind. |
Implements sr_signal::signal_out_bind_if< TYPE >.
References sr_signal::signal_out< TYPE, MODULE >::bind().
|
inline |
Connecting a channel with an input signal. Calls caller and receiver bind methods.
receiver | The input signal to connect with. |
channel | The channel which gets connected. |
References sr_signal::signal_in_if< TYPE >::bind().
|
inlinevirtual |
Read the value of a signal.
channel | The channel to be read. |
|
inlinevirtual |
Write the value of a signal. Stores the value in corresponding channel and triggers an updat in all receivers.
mask | The write mask with all channels to write to. |
value | The new value of the signal. |
time | The delay from sc_timestamp() at propagation. |
References i, and usi.systemc::time().
Referenced by usi.shell.console.Console::interact().