gem5 v24.0.0.0
|
#include <CrossbarSwitch.hh>
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) |
ClockedObject * | getObject () |
void | scheduleEventAbsolute (Tick timeAbs) |
void | scheduleEvent (Cycles timeDelta) |
Private Attributes | |
Router * | m_router |
int | m_num_vcs |
double | m_crossbar_activity |
std::vector< flitBuffer > | switchBuffers |
Definition at line 53 of file CrossbarSwitch.hh.
gem5::ruby::garnet::CrossbarSwitch::CrossbarSwitch | ( | Router * | router | ) |
Definition at line 47 of file CrossbarSwitch.cc.
|
default |
Definition at line 95 of file CrossbarSwitch.cc.
References gem5::ArmISA::mask, and switchBuffers.
Referenced by gem5::ruby::garnet::Router::functionalRead().
uint32_t gem5::ruby::garnet::CrossbarSwitch::functionalWrite | ( | Packet * | pkt | ) |
Definition at line 106 of file CrossbarSwitch.cc.
References switchBuffers.
Referenced by gem5::ruby::garnet::Router::functionalWrite().
|
inline |
Definition at line 68 of file CrossbarSwitch.hh.
References m_crossbar_activity.
Referenced by gem5::ruby::garnet::Router::collateStats().
void gem5::ruby::garnet::CrossbarSwitch::init | ( | ) |
Definition at line 54 of file CrossbarSwitch.cc.
References gem5::ruby::garnet::Router::get_num_inports(), m_router, and switchBuffers.
Referenced by gem5::ruby::garnet::Router::init().
|
inlinevirtual |
Implements gem5::ruby::Consumer.
Definition at line 60 of file CrossbarSwitch.hh.
void gem5::ruby::garnet::CrossbarSwitch::resetStats | ( | ) |
Definition at line 118 of file CrossbarSwitch.cc.
References m_crossbar_activity.
Referenced by gem5::ruby::garnet::Router::resetStats().
|
inline |
Definition at line 63 of file CrossbarSwitch.hh.
References switchBuffers.
Referenced by gem5::ruby::garnet::Router::grant_switch().
|
virtual |
Implements gem5::ruby::Consumer.
Definition at line 66 of file CrossbarSwitch.cc.
References gem5::ruby::garnet::flit::advance_stage(), gem5::Clocked::clockEdge(), gem5::Clocked::curCycle(), gem5::curTick(), DPRINTF, gem5::ruby::garnet::Router::get_id(), gem5::ruby::garnet::flit::get_outport(), gem5::ruby::garnet::Router::getOutputUnit(), gem5::ruby::garnet::OutputUnit::insert_flit(), gem5::ruby::garnet::flit::is_stage(), gem5::ruby::garnet::LT_, m_crossbar_activity, m_router, gem5::ruby::garnet::flit::set_time(), gem5::ruby::garnet::ST_, and switchBuffers.
Referenced by gem5::ruby::garnet::Router::wakeup().
|
private |
Definition at line 77 of file CrossbarSwitch.hh.
Referenced by get_crossbar_activity(), resetStats(), and wakeup().
|
private |
Definition at line 76 of file CrossbarSwitch.hh.
|
private |
Definition at line 75 of file CrossbarSwitch.hh.
|
private |
Definition at line 78 of file CrossbarSwitch.hh.
Referenced by functionalRead(), functionalWrite(), init(), update_sw_winner(), and wakeup().