gem5 v24.0.0.0
Loading...
Searching...
No Matches
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(), 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(), and 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()

◆ 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(), and size().

Referenced by addReset(), and finalize().

◆ fromPort()

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

Definition at line 121 of file port.hh.

Referenced by sc_gem5::newReset().

◆ getInterface()

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

Definition at line 82 of file port.hh.

References sc_core::sc_port_base::_gem5Interface(), and portBase.

Referenced by finalizeFinder(), finalizePort(), finalizeReset(), and regPort().

◆ 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)

Definition at line 67 of file port.cc.

References finalized, finalizePort(), and sensitivities.

◆ 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(), bind(), and finalize().

◆ finalized

bool sc_gem5::Port::finalized
private

Definition at line 55 of file port.hh.

Referenced by addReset(), finalize(), sensitive(), 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(), sensitive(), and sensitive().


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

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