Go to the documentation of this file.
34 #include "debug/RubyNetwork.hh"
39 :
Consumer(router), m_router(router), m_id(
id), m_direction(direction),
40 m_vc_per_vnet(m_router->get_vc_per_vnet())
52 for (
int i=0;
i < m_num_vcs;
i++) {
74 DPRINTF(RubyNetwork,
"Router[%d] Consuming:%s Width: %d Flit:%s\n",
111 if (pipe_stages == 1) {
116 assert(pipe_stages > 1);
138 DPRINTF(RubyNetwork,
"Router[%d]: Sending a credit vc:%d free:%d to %s\n",
140 Credit *t_credit =
new Credit(in_vc, free_signal, curTime);
149 uint32_t num_functional_writes = 0;
151 num_functional_writes += virtual_channel.functionalWrite(pkt);
154 return num_functional_writes;
void advance_stage(flit_stage t_stage, Tick newTime)
uint64_t Tick
Tick count type.
void schedule_wakeup(Cycles time)
Tick clockEdge(Cycles cycles=Cycles(0)) const
Determine the tick when a cycle begins, by default the current one, but the argument also enables the...
int route_compute(RouteInfo route, int inport, PortDirection direction)
virtual const std::string name() const
void scheduleEventAbsolute(Tick timeAbs)
A Packet is used to encapsulate a transfer between two objects in the memory system (e....
Cycles is a wrapper class for representing cycle counts, i.e.
std::string PortDirection
Tick curTick()
The universal simulation clock.
bool isReady(Tick curTime)
Generated on Tue Jun 22 2021 15:28:29 for gem5 by doxygen 1.8.17