41#ifndef __MEM_RUBY_NETWORK_SIMPLE_SIMPLENETWORK_HH__
42#define __MEM_RUBY_NETWORK_SIMPLE_SIMPLENETWORK_HH__
48#include "params/SimpleNetwork.hh"
89 void print(std::ostream& out)
const;
98 const NetDest& routing_table_entry,
int link_latency);
ClockedObjectParams Params
Parameters of ClockedObject.
A Packet is used to encapsulate a transfer between two objects in the memory system (e....
std::vector< bool > m_ordered
void regStats()
Callback to set stat parameters.
int getEndpointBandwidth()
const int m_endpoint_bandwidth
void print(std::ostream &out) const
SimpleNetwork & operator=(const SimpleNetwork &obj)
std::vector< MessageBuffer * > m_int_link_buffers
void makeInternalLink(SwitchID src, SwitchID dest, BasicLink *link, std::vector< NetDest > &routing_table_entry, PortDirection src_outport, PortDirection dst_inport)
void addLink(SwitchID src, SwitchID dest, int link_latency)
std::unordered_map< int, Switch * > m_switches
bool functionalRead(Packet *pkt)
uint32_t functionalWrite(Packet *pkt)
void makeExtOutLink(SwitchID src, NodeID dest, BasicLink *link, std::vector< NetDest > &routing_table_entry)
void makeLink(SwitchID src, SwitchID dest, const NetDest &routing_table_entry, int link_latency)
gem5::ruby::SimpleNetwork::NetworkStats networkStats
SimpleNetwork(const Params &p)
bool isVNetOrdered(int vnet) const
void init()
init() is called after all C++ SimObjects have been created and all ports are connected.
void makeExtInLink(NodeID src, SwitchID dest, BasicLink *link, std::vector< NetDest > &routing_table_entry)
SimpleNetwork(const SimpleNetwork &obj)
std::string PortDirection
std::ostream & operator<<(std::ostream &os, const BoolVec &myvector)
Copyright (c) 2024 - Pranith Kumar Copyright (c) 2020 Inria All rights reserved.
statistics::Formula * m_msg_bytes[MessageSizeType_NUM]
NetworkStats(statistics::Group *parent)
statistics::Formula * m_msg_counts[MessageSizeType_NUM]