Go to the documentation of this file.
34 #include "debug/RubyNetwork.hh"
41 :
Consumer(router), m_router(router), m_id(
id), m_direction(direction),
42 m_vc_per_vnet(m_router->get_vc_per_vnet())
54 for (
int i=0;
i < m_num_vcs;
i++) {
76 DPRINTF(RubyNetwork,
"Router[%d] Consuming:%s Width: %d Flit:%s\n",
113 if (pipe_stages == 1) {
118 assert(pipe_stages > 1);
140 DPRINTF(RubyNetwork,
"Router[%d]: Sending a credit vc:%d free:%d to %s\n",
142 Credit *t_credit =
new Credit(in_vc, free_signal, curTime);
151 uint32_t num_functional_writes = 0;
153 num_functional_writes += virtual_channel.functionalWrite(pkt);
156 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)
Overload hash function for BasicBlockRange type.
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
bool isReady(Tick curTime)
Tick curTick()
The current simulated tick.
Generated on Wed Sep 30 2020 14:02:13 for gem5 by doxygen 1.8.17