34 #include "debug/RubyNetwork.hh" 39 :
Consumer(router), m_router(router), m_num_vcs(m_router->get_num_vcs()),
40 m_crossbar_activity(0), switchBuffers(0)
59 DPRINTF(RubyNetwork,
"CrossbarSwitch at Router %d woke up " 68 flit *t_flit = switch_buffer.peekTopFlit();
79 switch_buffer.getTopFlit();
88 uint32_t num_functional_writes = 0;
91 num_functional_writes += switch_buffer.functionalWrite(pkt);
94 return num_functional_writes;
void set_time(Cycles time)
Cycles is a wrapper class for representing cycle counts, i.e.
uint32_t functionalWrite(Packet *pkt)
OutputUnit * getOutputUnit(unsigned port)
double m_crossbar_activity
Cycles curCycle() const
Determine the current cycle, corresponding to a tick aligned to a clock edge.
A Packet is used to encapsulate a transfer between two objects in the memory system (e...
bool is_stage(flit_stage stage, Cycles time)
std::vector< flitBuffer > switchBuffers
void advance_stage(flit_stage t_stage, Cycles newTime)
CrossbarSwitch(Router *router)
void insert_flit(flit *t_flit)