Logo SoCRocket

Transaction-Level Modeling Framework for Space Applications

Public Member Functions | Protected Types | Protected Attributes | List of all members
sr_signal::signal_out< TYPE, MODULE > Class Template Reference

#include <sr_signal_out.h>

Inheritance diagram for sr_signal::signal_out< TYPE, MODULE >:
Collaboration diagram for sr_signal::signal_out< TYPE, MODULE >:

Public Member Functions

 signal_out (sc_core::sc_module_name mn=NULL)
 
virtual ~signal_out ()
 Virtual destructor. More...
 
virtual signal_out_bind_if
< TYPE > * 
bind (signal_in_if< TYPE > &receiver, const uint32_t &channel=0)
 
virtual void write (const TYPE &value, const sc_core::sc_time &time=sc_core::SC_ZERO_TIME)
 
void operator() (signal_in_if< TYPE > &receiver)
 
TYPE operator= (const TYPE &t)
 Set the value and call updates on all receivern. More...
 
TYPE operator= (const signal_if< TYPE > &t)
 Sets the value from another signal. More...
 
- 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_if< TYPE >
virtual ~signal_out_if ()
 Virtual destructor. More...
 
- Public Member Functions inherited from sr_signal::signal_if< TYPE >
virtual ~signal_if ()
 Virtual destructor. More...
 
virtual const TYPE & read ()
 Read the current signal value. More...
 
 operator TYPE () const
 Call operator to get the current signal value. More...
 
bool operator== (const TYPE &t) const
 Comparing the current signal value with a variable of the same type TYPE. More...
 
- Public Member Functions inherited from sr_signal::signal_out_bind_if< TYPE >
virtual ~signal_out_bind_if ()
 Virtual destructor. More...
 

Protected Types

typedef std::vector
< signal_in_if< TYPE > * > 
t_receiver
 Type of a list of receivers. More...
 

Protected Attributes

t_receiver m_receiver
 List of receivers. More...
 
- Protected Attributes inherited from sr_signal::signal_if< TYPE >
TYPE m_value
 The signal value. More...
 

Additional Inherited Members

- Protected Member Functions inherited from sr_signal::signal_base< TYPE, MODULE >
virtual MODULE * get_module ()
 

Detailed Description

template<class TYPE, class MODULE>
class sr_signal::signal_out< TYPE, MODULE >

sc_signal output signal. This class implements a TLM Signal abstraction of an outgoing signal. The signal stores the value and triggers the update function of all receivers.

Member Typedef Documentation

template<class TYPE, class MODULE>
typedef std::vector<signal_in_if<TYPE> *> sr_signal::signal_out< TYPE, MODULE >::t_receiver
protected

Type of a list of receivers.

Constructor & Destructor Documentation

template<class TYPE, class MODULE>
sr_signal::signal_out< TYPE, MODULE >::signal_out ( sc_core::sc_module_name  mn = NULL)
inline

Constructor

Parameters
mnSignal name.
template<class TYPE, class MODULE>
virtual sr_signal::signal_out< TYPE, MODULE >::~signal_out ( )
inlinevirtual

Virtual destructor.

Member Function Documentation

template<class TYPE, class MODULE>
virtual signal_out_bind_if<TYPE>* sr_signal::signal_out< TYPE, MODULE >::bind ( signal_in_if< TYPE > &  receiver,
const uint32_t channel = 0 
)
inlinevirtual

Output signal bind method. This method implements the binding mechanism with an input signal.

Parameters
receiverInput interface to bind with.
channelThe channel which has to be bind.

Implements sr_signal::signal_out_bind_if< TYPE >.

Referenced by sr_signal::signal_selector< TYPE, MODULE >::bind(), sr_signal::connect(), and sr_signal::signal_out< bool, Irqmp >::operator()().

template<class TYPE, class MODULE>
void sr_signal::signal_out< TYPE, MODULE >::operator() ( signal_in_if< TYPE > &  receiver)
inline

Connecting the Signal with an input signal. Calls caller and receiver bind methods.

Parameters
receiverThe input signal to connect with.
template<class TYPE, class MODULE>
TYPE sr_signal::signal_out< TYPE, MODULE >::operator= ( const TYPE &  t)
inlinevirtual

Set the value and call updates on all receivern.

Reimplemented from sr_signal::signal_out_if< TYPE >.

template<class TYPE, class MODULE>
TYPE sr_signal::signal_out< TYPE, MODULE >::operator= ( const signal_if< TYPE > &  t)
inlinevirtual

Sets the value from another signal.

Reimplemented from sr_signal::signal_out_if< TYPE >.

template<class TYPE, class MODULE>
virtual void sr_signal::signal_out< TYPE, MODULE >::write ( const TYPE &  value,
const sc_core::sc_time &  time = sc_core::SC_ZERO_TIME 
)
inlinevirtual

Write the value of a signal. Stores the value and triggers an update in all receivers.

Parameters
valueThe new value of the signal.
timeThe delay from sc_timestamp() at propagation.

Implements sr_signal::signal_out_if< TYPE >.

Referenced by usi.shell.console.Console::interact(), and sr_signal::signal_out< bool, Irqmp >::operator=().

Member Data Documentation

template<class TYPE, class MODULE>
t_receiver sr_signal::signal_out< TYPE, MODULE >::m_receiver
protected

The documentation for this class was generated from the following file: