gem5 v25.0.0.1
Loading...
Searching...
No Matches
sc_gem5::ScPortWrapper< IF > Class Template Reference

#include <sc_port_wrapper.hh>

Inheritance diagram for sc_gem5::ScPortWrapper< IF >:
gem5::Port

Public Types

using ScPort = sc_core::sc_port_b<IF>

Public Member Functions

 ScPortWrapper (ScPort &p, const std::string &name, gem5::PortID id)
ScPortport ()
void unbind () override
 Dettach from a peer port.
void bind (gem5::Port &peer) override
 Attach to 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

ScPortport_

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 IF>
class sc_gem5::ScPortWrapper< IF >

Definition at line 52 of file sc_port_wrapper.hh.

Member Typedef Documentation

◆ ScPort

template<typename IF>
using sc_gem5::ScPortWrapper< IF >::ScPort = sc_core::sc_port_b<IF>

Definition at line 55 of file sc_port_wrapper.hh.

Constructor & Destructor Documentation

◆ ScPortWrapper()

template<typename IF>
sc_gem5::ScPortWrapper< IF >::ScPortWrapper ( ScPort & p,
const std::string & name,
gem5::PortID id )
inline

Definition at line 57 of file sc_port_wrapper.hh.

References gem5::Port::id, gem5::Port::name(), gem5::Port::Port(), and port_.

Referenced by bind().

Member Function Documentation

◆ bind()

template<typename IF>
void sc_gem5::ScPortWrapper< IF >::bind ( gem5::Port & peer)
inlineoverridevirtual

Attach to a peer port.

Reimplemented from gem5::Port.

Definition at line 76 of file sc_port_wrapper.hh.

References gem5::Port::bind(), fatal, gem5::Port::name(), port_, and ScPortWrapper().

◆ port()

template<typename IF>
ScPort & sc_gem5::ScPortWrapper< IF >::port ( )
inline

Definition at line 62 of file sc_port_wrapper.hh.

References port_.

◆ unbind()

template<typename IF>
void sc_gem5::ScPortWrapper< IF >::unbind ( )
inlineoverridevirtual

Dettach from a peer port.

Reimplemented from gem5::Port.

Definition at line 68 of file sc_port_wrapper.hh.

References panic.

Member Data Documentation

◆ port_

template<typename IF>
ScPort& sc_gem5::ScPortWrapper< IF >::port_
private

Definition at line 94 of file sc_port_wrapper.hh.

Referenced by bind(), port(), and ScPortWrapper().


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

Generated on Sat Oct 18 2025 08:07:54 for gem5 by doxygen 1.14.0