gem5
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
Public Member Functions | Private Attributes | List of all members
CrossbarSwitch Class Reference

#include <CrossbarSwitch.hh>

Inheritance diagram for CrossbarSwitch:
Consumer

Public Member Functions

 CrossbarSwitch (Router *router)
 
 ~CrossbarSwitch ()
 
void wakeup ()
 
void init ()
 
void print (std::ostream &out) const
 
void update_sw_winner (int inport, flit *t_flit)
 
double get_crossbar_activity ()
 
uint32_t functionalWrite (Packet *pkt)
 
- Public Member Functions inherited from Consumer
 Consumer (ClockedObject *_em)
 
virtual ~Consumer ()
 
virtual void storeEventInfo (int info)
 
bool alreadyScheduled (Tick time)
 
void insertScheduledWakeupTime (Tick time)
 
void scheduleEventAbsolute (Tick timeAbs)
 

Private Attributes

int m_num_vcs
 
int m_num_inports
 
double m_crossbar_activity
 
Routerm_router
 
std::vector< flitBuffer * > m_switch_buffer
 
std::vector< OutputUnit * > m_output_unit
 

Additional Inherited Members

- Protected Member Functions inherited from Consumer
void scheduleEvent (Cycles timeDelta)
 

Detailed Description

Definition at line 47 of file CrossbarSwitch.hh.

Constructor & Destructor Documentation

CrossbarSwitch::CrossbarSwitch ( Router router)

Definition at line 43 of file CrossbarSwitch.cc.

References Router::get_num_vcs(), m_crossbar_activity, m_num_vcs, and m_router.

CrossbarSwitch::~CrossbarSwitch ( )

Definition at line 51 of file CrossbarSwitch.cc.

References m5::stl_helpers::deletePointers(), and m_switch_buffer.

Member Function Documentation

uint32_t CrossbarSwitch::functionalWrite ( Packet pkt)

Definition at line 103 of file CrossbarSwitch.cc.

References ArmISA::i, and m_switch_buffer.

Referenced by Router::functionalWrite().

double CrossbarSwitch::get_crossbar_activity ( )
inline

Definition at line 59 of file CrossbarSwitch.hh.

References m_crossbar_activity.

Referenced by Router::collateStats().

void CrossbarSwitch::init ( )
void CrossbarSwitch::print ( std::ostream &  out) const
inlinevirtual

Implements Consumer.

Definition at line 54 of file CrossbarSwitch.hh.

void CrossbarSwitch::update_sw_winner ( int  inport,
flit t_flit 
)
inline

Definition at line 56 of file CrossbarSwitch.hh.

References m_switch_buffer.

Referenced by Router::grant_switch().

void CrossbarSwitch::wakeup ( )
virtual

Member Data Documentation

double CrossbarSwitch::m_crossbar_activity
private

Definition at line 66 of file CrossbarSwitch.hh.

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

int CrossbarSwitch::m_num_inports
private

Definition at line 65 of file CrossbarSwitch.hh.

Referenced by init(), and wakeup().

int CrossbarSwitch::m_num_vcs
private

Definition at line 64 of file CrossbarSwitch.hh.

Referenced by CrossbarSwitch().

std::vector<OutputUnit *> CrossbarSwitch::m_output_unit
private

Definition at line 69 of file CrossbarSwitch.hh.

Referenced by init(), and wakeup().

Router* CrossbarSwitch::m_router
private

Definition at line 67 of file CrossbarSwitch.hh.

Referenced by CrossbarSwitch(), init(), and wakeup().

std::vector<flitBuffer *> CrossbarSwitch::m_switch_buffer
private

Definition at line 68 of file CrossbarSwitch.hh.

Referenced by functionalWrite(), init(), update_sw_winner(), wakeup(), and ~CrossbarSwitch().


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

Generated on Fri Jun 9 2017 13:04:06 for gem5 by doxygen 1.8.6