gem5  v22.0.0.1
Classes | Public Member Functions | Static Public Member Functions | Private Member Functions | Private Attributes | List of all members
sc_gem5::Port Class Reference

#include <port.hh>

Classes

struct  Binding
 
struct  Sensitivity
 

Public Member Functions

::sc_core::sc_port_basesc_port_base ()
 
 Port (::sc_core::sc_port_base *port_base, int max)
 
 ~Port ()
 
void bind (::sc_core::sc_interface *interface)
 
void bind (::sc_core::sc_port_base *port)
 
void sensitive (StaticSensitivityPort *port)
 
void sensitive (StaticSensitivityFinder *finder)
 
void addReset (Reset *reset)
 
void finalize ()
 
void regPort ()
 
int size ()
 
int maxSize ()
 

Static Public Member Functions

static PortfromPort (const ::sc_core::sc_port_base *pb)
 

Private Member Functions

void finalizePort (StaticSensitivityPort *port)
 
void finalizeFinder (StaticSensitivityFinder *finder)
 
void finalizeReset (Reset *reset)
 
void addInterface (::sc_core::sc_interface *iface)
 
void addInterfaces (::sc_core::sc_port_base *pb)
 
::sc_core::sc_interfacegetInterface (int i)
 

Private Attributes

::sc_core::sc_port_baseportBase
 
bool finalized
 
int _maxSize
 
int _size
 
bool regPortNeeded
 
std::vector< Binding * > bindings
 
std::vector< Sensitivity * > sensitivities
 
std::vector< Reset * > resets
 

Detailed Description

Definition at line 50 of file port.hh.

Constructor & Destructor Documentation

◆ Port()

sc_gem5::Port::Port ( ::sc_core::sc_port_base port_base,
int  max 
)
inline

Definition at line 128 of file port.hh.

References sc_gem5::allPorts.

◆ ~Port()

sc_gem5::Port::~Port ( )
inline

Definition at line 135 of file port.hh.

References sc_gem5::allPorts.

Member Function Documentation

◆ addInterface()

void sc_gem5::Port::addInterface ( ::sc_core::sc_interface iface)
inlineprivate

Definition at line 66 of file port.hh.

References sc_core::sc_port_base::_gem5AddInterface(), _size, and portBase.

Referenced by addInterfaces(), bind(), and finalize().

◆ addInterfaces()

void sc_gem5::Port::addInterfaces ( ::sc_core::sc_port_base pb)
inlineprivate

◆ addReset()

void sc_gem5::Port::addReset ( Reset reset)

Definition at line 85 of file port.cc.

References finalized, finalizeReset(), gem5::statistics::reset(), and resets.

Referenced by sc_gem5::newReset().

◆ bind() [1/2]

void sc_gem5::Port::bind ( ::sc_core::sc_interface interface)
inline

Definition at line 138 of file port.hh.

References addInterface(), and bindings.

Referenced by sc_core::sc_port_base::bind().

◆ bind() [2/2]

void sc_gem5::Port::bind ( ::sc_core::sc_port_base port)
inline

Definition at line 147 of file port.hh.

References bindings.

◆ finalize()

void sc_gem5::Port::finalize ( )

◆ finalizeFinder()

void sc_gem5::Port::finalizeFinder ( StaticSensitivityFinder finder)
private

◆ finalizePort()

void sc_gem5::Port::finalizePort ( StaticSensitivityPort port)
private

◆ finalizeReset()

void sc_gem5::Port::finalizeReset ( Reset reset)
private

Definition at line 54 of file port.cc.

References getInterface(), gem5::statistics::reset(), and size().

Referenced by addReset(), and finalize().

◆ fromPort()

static Port* sc_gem5::Port::fromPort ( const ::sc_core::sc_port_base pb)
inlinestatic

◆ getInterface()

::sc_core::sc_interface* sc_gem5::Port::getInterface ( int  i)
inlineprivate

◆ maxSize()

int sc_gem5::Port::maxSize ( )
inline

Definition at line 160 of file port.hh.

References _maxSize, and _size.

Referenced by finalize(), and sc_core::sc_port_base::maxSize().

◆ regPort()

void sc_gem5::Port::regPort ( )

◆ sc_port_base()

::sc_core::sc_port_base* sc_gem5::Port::sc_port_base ( )
inline

Definition at line 126 of file port.hh.

References portBase.

◆ sensitive() [1/2]

void sc_gem5::Port::sensitive ( StaticSensitivityFinder finder)

Definition at line 76 of file port.cc.

References finalized, finalizeFinder(), and sensitivities.

◆ sensitive() [2/2]

void sc_gem5::Port::sensitive ( StaticSensitivityPort port)

◆ size()

int sc_gem5::Port::size ( )
inline

Definition at line 159 of file port.hh.

References _size.

Referenced by finalize(), finalizeFinder(), finalizePort(), finalizeReset(), regPort(), and sc_core::sc_port_base::size().

Member Data Documentation

◆ _maxSize

int sc_gem5::Port::_maxSize
private

Definition at line 56 of file port.hh.

Referenced by maxSize().

◆ _size

int sc_gem5::Port::_size
private

Definition at line 57 of file port.hh.

Referenced by addInterface(), maxSize(), and size().

◆ bindings

std::vector<Binding *> sc_gem5::Port::bindings
private

Definition at line 115 of file port.hh.

Referenced by bind(), and finalize().

◆ finalized

bool sc_gem5::Port::finalized
private

Definition at line 55 of file port.hh.

Referenced by addReset(), finalize(), and sensitive().

◆ portBase

::sc_core::sc_port_base* sc_gem5::Port::portBase
private

Definition at line 53 of file port.hh.

Referenced by addInterface(), finalize(), getInterface(), regPort(), and sc_port_base().

◆ regPortNeeded

bool sc_gem5::Port::regPortNeeded
private

Definition at line 59 of file port.hh.

Referenced by addInterfaces(), and regPort().

◆ resets

std::vector<Reset *> sc_gem5::Port::resets
private

Definition at line 117 of file port.hh.

Referenced by addReset(), and finalize().

◆ sensitivities

std::vector<Sensitivity *> sc_gem5::Port::sensitivities
private

Definition at line 116 of file port.hh.

Referenced by finalize(), and sensitive().


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

Generated on Sat Jun 18 2022 08:15:26 for gem5 by doxygen 1.8.17