32#ifndef __MEM_RUBY_NETWORK_GARNET_0_GARNETNETWORK_HH__
33#define __MEM_RUBY_NETWORK_GARNET_0_GARNETNETWORK_HH__
41#include "params/GarnetNetwork.hh"
55class NetworkInterface;
118 void print(std::ostream& out)
const;
A Packet is used to encapsulate a transfer between two objects in the memory system (e....
std::vector< bool > m_ordered
GarnetNetworkParams Params
statistics::Vector m_packet_network_latency
statistics::Formula m_avg_packet_vqueue_latency
void makeInternalLink(SwitchID src, SwitchID dest, BasicLink *link, std::vector< NetDest > &routing_table_entry, PortDirection src_outport_dirn, PortDirection dest_inport_dirn)
bool isVNetOrdered(int vnet) const
uint32_t m_max_vcs_per_vnet
std::vector< VNET_type > m_vnet_type
uint32_t getBuffersPerDataVC()
uint32_t functionalWrite(Packet *pkt)
Function for performing a functional write.
void makeExtOutLink(SwitchID src, NodeID dest, BasicLink *link, std::vector< NetDest > &routing_table_entry)
std::vector< std::vector< statistics::Scalar * > > m_data_traffic_distribution
void regStats()
Callback to set stat parameters.
statistics::Scalar m_total_ext_in_link_utilization
int get_router_id(int ni, int vnet)
statistics::Formula m_avg_packet_queueing_latency
void increment_flit_queueing_latency(Tick latency, int vnet)
statistics::Formula m_avg_flit_queueing_latency
bool m_enable_fault_model
uint32_t getNiFlitSize() const
void increment_flit_network_latency(Tick latency, int vnet)
statistics::Vector m_flit_queueing_latency
statistics::Formula m_avg_flit_vqueue_latency
statistics::Scalar m_average_link_utilization
void resetStats()
Callback to reset stats.
void increment_received_packets(int vnet)
const char * garnetVersion
statistics::Formula m_avg_flit_network_latency
void increment_injected_flits(int vnet)
uint32_t m_buffers_per_ctrl_vc
void init()
init() is called after all C++ SimObjects have been created and all ports are connected.
statistics::Formula m_avg_hops
std::vector< NetworkLink * > m_networklinks
bool isFaultModelEnabled() const
GarnetNetwork & operator=(const GarnetNetwork &obj)
statistics::Vector m_flit_network_latency
void increment_packet_queueing_latency(Tick latency, int vnet)
std::vector< Router * > m_routers
statistics::Vector m_flits_received
statistics::Vector m_packets_received
statistics::Vector m_packets_injected
uint32_t getBuffersPerCtrlVC()
statistics::Scalar m_total_ext_out_link_utilization
GarnetNetwork(const GarnetNetwork &obj)
void increment_total_hops(int hops)
statistics::Scalar m_total_int_link_utilization
void increment_packet_network_latency(Tick latency, int vnet)
statistics::Vector m_flits_injected
uint32_t m_buffers_per_data_vc
statistics::Formula m_avg_packet_network_latency
VNET_type get_vnet_type(int vnet)
statistics::Formula m_avg_flit_latency
void update_traffic_distribution(RouteInfo route)
std::vector< std::vector< statistics::Scalar * > > m_ctrl_traffic_distribution
int getRoutingAlgorithm() const
std::vector< CreditLink * > m_creditlinks
void increment_injected_packets(int vnet)
statistics::Formula m_avg_packet_latency
void print(std::ostream &out) const
void increment_received_flits(int vnet)
statistics::Scalar m_total_hops
statistics::Formula m_avg_packet_vnet_latency
statistics::Formula m_avg_flit_vnet_latency
bool functionalRead(Packet *pkt, WriteMask &mask)
statistics::Vector m_packet_queueing_latency
GarnetNetwork(const Params &p)
statistics::Vector m_average_vc_load
void makeExtInLink(NodeID src, SwitchID dest, BasicLink *link, std::vector< NetDest > &routing_table_entry)
std::vector< NetworkInterface * > m_nis
std::vector< NetworkBridge * > m_networkbridges
This is a simple scalar statistic, like a counter.
A vector of scalar stats.
std::ostream & operator<<(std::ostream &out, const flit &obj)
std::string PortDirection
Copyright (c) 2024 - Pranith Kumar Copyright (c) 2020 Inria All rights reserved.
uint64_t Tick
Tick count type.