gem5  v22.1.0.0
Public Member Functions | Private Attributes | List of all members
gem5::ruby::garnet::CrossbarSwitch Class Reference

#include <CrossbarSwitch.hh>

Inheritance diagram for gem5::ruby::garnet::CrossbarSwitch:

Public Member Functions

 CrossbarSwitch (Router *router)
 ~CrossbarSwitch ()=default
void wakeup ()
void init ()
void print (std::ostream &out) const
void update_sw_winner (int inport, flit *t_flit)
double get_crossbar_activity ()
bool functionalRead (Packet *pkt, WriteMask &mask)
uint32_t functionalWrite (Packet *pkt)
void resetStats ()
- Public Member Functions inherited from gem5::ruby::Consumer
 Consumer (ClockedObject *em, Event::Priority ev_prio=Event::Default_Pri)
virtual ~Consumer ()
virtual void storeEventInfo (int info)
bool alreadyScheduled (Tick time)
ClockedObjectgetObject ()
void scheduleEventAbsolute (Tick timeAbs)
void scheduleEvent (Cycles timeDelta)

Private Attributes

int m_num_vcs
double m_crossbar_activity
std::vector< flitBufferswitchBuffers

Detailed Description

Definition at line 53 of file CrossbarSwitch.hh.

Constructor & Destructor Documentation

◆ CrossbarSwitch()

gem5::ruby::garnet::CrossbarSwitch::CrossbarSwitch ( Router router)

Definition at line 47 of file

◆ ~CrossbarSwitch()

gem5::ruby::garnet::CrossbarSwitch::~CrossbarSwitch ( )

Member Function Documentation

◆ functionalRead()

bool gem5::ruby::garnet::CrossbarSwitch::functionalRead ( Packet pkt,
WriteMask mask 

Definition at line 95 of file

References gem5::mask(), and switchBuffers.

Referenced by gem5::ruby::garnet::Router::functionalRead().

◆ functionalWrite()

uint32_t gem5::ruby::garnet::CrossbarSwitch::functionalWrite ( Packet pkt)

Definition at line 106 of file

References switchBuffers.

Referenced by gem5::ruby::garnet::Router::functionalWrite().

◆ get_crossbar_activity()

double gem5::ruby::garnet::CrossbarSwitch::get_crossbar_activity ( )

Definition at line 68 of file CrossbarSwitch.hh.

References m_crossbar_activity.

Referenced by gem5::ruby::garnet::Router::collateStats().

◆ init()

void gem5::ruby::garnet::CrossbarSwitch::init ( )

◆ print()

void gem5::ruby::garnet::CrossbarSwitch::print ( std::ostream &  out) const

Implements gem5::ruby::Consumer.

Definition at line 60 of file CrossbarSwitch.hh.

◆ resetStats()

void gem5::ruby::garnet::CrossbarSwitch::resetStats ( )

Definition at line 118 of file

References m_crossbar_activity.

Referenced by gem5::ruby::garnet::Router::resetStats().

◆ update_sw_winner()

void gem5::ruby::garnet::CrossbarSwitch::update_sw_winner ( int  inport,
flit t_flit 

Definition at line 63 of file CrossbarSwitch.hh.

References switchBuffers.

Referenced by gem5::ruby::garnet::Router::grant_switch().

◆ wakeup()

void gem5::ruby::garnet::CrossbarSwitch::wakeup ( )

Member Data Documentation

◆ m_crossbar_activity

double gem5::ruby::garnet::CrossbarSwitch::m_crossbar_activity

Definition at line 77 of file CrossbarSwitch.hh.

Referenced by get_crossbar_activity(), resetStats(), and wakeup().

◆ m_num_vcs

int gem5::ruby::garnet::CrossbarSwitch::m_num_vcs

Definition at line 76 of file CrossbarSwitch.hh.

◆ m_router

Router* gem5::ruby::garnet::CrossbarSwitch::m_router

Definition at line 75 of file CrossbarSwitch.hh.

Referenced by init(), and wakeup().

◆ switchBuffers

std::vector<flitBuffer> gem5::ruby::garnet::CrossbarSwitch::switchBuffers

Definition at line 78 of file CrossbarSwitch.hh.

Referenced by functionalRead(), functionalWrite(), init(), update_sw_winner(), and wakeup().

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

Generated on Wed Dec 21 2022 10:24:23 for gem5 by doxygen 1.9.1