36#include "debug/RubyNetwork.hh"
51 m_latency(
p.link_latency), m_link_utilized(0),
52 m_virt_nets(
p.virt_nets), linkBuffer(),
53 link_consumer(nullptr), link_srcQueue(nullptr)
55 int num_vnets = (
p.supported_vnets).size();
58 for (
int i = 0;
i < num_vnets;
i++) {
85 DPRINTF(RubyNetwork,
"Woke up to transfer flits from %s\n",
91 DPRINTF(RubyNetwork,
"Transmission will finish at %ld :%s\n",
The ClockedObject class extends the SimObject with a clock and accessor functions to relate ticks to ...
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...
Cycles is a wrapper class for representing cycle counts, i.e.
virtual std::string name() const
A Packet is used to encapsulate a transfer between two objects in the memory system (e....
void scheduleEventAbsolute(Tick timeAbs)
void scheduleEvent(Cycles timeDelta)
NetworkLink(const Params &p)
uint32_t functionalWrite(Packet *)
std::vector< unsigned int > m_vc_load
void resetStats()
Callback to reset stats.
ClockedObject * src_object
std::vector< int > mVnets
void setLinkConsumer(Consumer *consumer)
void setSourceQueue(flitBuffer *src_queue, ClockedObject *srcClockObject)
virtual void setVcsPerVnet(uint32_t consumerVcs)
unsigned int m_link_utilized
flitBuffer * link_srcQueue
bool functionalRead(Packet *pkt, WriteMask &mask)
bool functionalRead(Packet *pkt, WriteMask &mask)
bool isReady(Tick curTime)
uint32_t functionalWrite(Packet *pkt)
Copyright (c) 2024 - Pranith Kumar Copyright (c) 2020 Inria All rights reserved.
Tick curTick()
The universal simulation clock.