gem5 v24.0.0.0
Loading...
Searching...
No Matches
gem5::SignalSourcePort< State > Class Template Reference

#include <signal.hh>

Inheritance diagram for gem5::SignalSourcePort< State >:
gem5::Port

Public Member Functions

 SignalSourcePort (const std::string &_name, PortID _id=InvalidPortID)
 
 SignalSourcePort (const std::string &_name, PortID _id, const State &init_state)
 
void set (const State &new_state, const bool bypass_on_change=false)
 
const State & state () const
 
void bind (Port &peer) override
 Attach to a peer port.
 
void unbind () override
 Dettach from a peer port.
 
- Public Member Functions inherited from gem5::Port
virtual ~Port ()
 Virtual destructor due to inheritance.
 
PortgetPeer ()
 Return a reference to this port's peer.
 
const std::string name () const
 Return port name (for DPRINTF).
 
PortID getId () const
 Get the port id.
 
bool isConnected () const
 Is this port currently connected to a peer?
 
void takeOverFrom (Port *old)
 A utility function to make it easier to swap out ports.
 

Private Attributes

SignalSinkPort< State > * sink = nullptr
 
State _state
 

Additional Inherited Members

- Protected Member Functions inherited from gem5::Port
void reportUnbound () const
 
 Port (const std::string &_name, PortID _id)
 Abstract base class for ports.
 
- Protected Attributes inherited from gem5::Port
const PortID id
 A numeric identifier to distinguish ports in a vector, and set to InvalidPortID in case this port is not part of a vector.
 
Port_peer
 A pointer to this port's peer.
 
bool _connected
 Whether this port is currently connected to a peer port.
 

Detailed Description

template<typename State>
class gem5::SignalSourcePort< State >

Definition at line 97 of file signal.hh.

Constructor & Destructor Documentation

◆ SignalSourcePort() [1/2]

template<typename State >
gem5::SignalSourcePort< State >::SignalSourcePort ( const std::string & _name,
PortID _id = InvalidPortID )
inline

Definition at line 104 of file signal.hh.

References gem5::SignalSourcePort< State >::_state.

◆ SignalSourcePort() [2/2]

template<typename State >
gem5::SignalSourcePort< State >::SignalSourcePort ( const std::string & _name,
PortID _id,
const State & init_state )
inline

Definition at line 111 of file signal.hh.

References gem5::SignalSourcePort< State >::_state.

Member Function Documentation

◆ bind()

template<typename State >
void gem5::SignalSourcePort< State >::bind ( Port & peer)
inlineoverridevirtual

Attach to a peer port.

Reimplemented from gem5::Port.

Definition at line 130 of file signal.hh.

References gem5::Port::bind(), fatal_if, gem5::Port::name(), and gem5::SignalSourcePort< State >::sink.

◆ set()

template<typename State >
void gem5::SignalSourcePort< State >::set ( const State & new_state,
const bool bypass_on_change = false )
inline

◆ state()

template<typename State >
const State & gem5::SignalSourcePort< State >::state ( ) const
inline

Definition at line 127 of file signal.hh.

References gem5::SignalSourcePort< State >::_state.

◆ unbind()

template<typename State >
void gem5::SignalSourcePort< State >::unbind ( )
inlineoverridevirtual

Dettach from a peer port.

Reimplemented from gem5::Port.

Definition at line 138 of file signal.hh.

References gem5::SignalSourcePort< State >::sink, and gem5::Port::unbind().

Member Data Documentation

◆ _state

◆ sink

template<typename State >
SignalSinkPort<State>* gem5::SignalSourcePort< State >::sink = nullptr
private

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

Generated on Tue Jun 18 2024 16:24:14 for gem5 by doxygen 1.11.0