34 #ifndef __MEM_RUBY_NETWORK_GARNET_NETWORK_HH__
35 #define __MEM_RUBY_NETWORK_GARNET_NETWORK_HH__
43 #include "params/GarnetNetwork.hh"
92 const NetDest& routing_table_entry);
94 const NetDest& routing_table_entry);
96 const NetDest& routing_table_entry,
107 void print(std::ostream& out)
const;
208 #endif // __MEM_RUBY_NETWORK_GARNET_NETWORK_HH__
Stats::Formula m_avg_flit_queueing_latency
GarnetNetworkParams Params
void print(std::ostream &out) const
bool isVNetOrdered(int vnet) const
void init()
init() is called after all C++ SimObjects have been created and all ports are connected.
std::vector< CreditLink * > m_creditlinks
Stats::Vector m_packets_injected
Cycles is a wrapper class for representing cycle counts, i.e.
void increment_injected_flits(int vnet)
Stats::Vector m_flits_injected
Stats::Formula m_avg_packet_latency
uint32_t getVCsPerVnet() const
Stats::Formula m_avg_packet_network_latency
Stats::Vector m_flits_received
uint32_t m_buffers_per_ctrl_vc
Stats::Vector m_average_vc_load
A vector of scalar stats.
Stats::Scalar m_total_int_link_utilization
void regStats()
Register statistics for this object.
void increment_total_hops(int hops)
std::vector< bool > m_ordered
Stats::Scalar m_total_ext_out_link_utilization
This is a simple scalar statistic, like a counter.
Stats::Formula m_avg_packet_queueing_latency
void makeExtInLink(NodeID src, SwitchID dest, BasicLink *link, const NetDest &routing_table_entry)
std::vector< Router * > m_routers
Stats::Vector m_packet_network_latency
uint32_t getBuffersPerCtrlVC()
GarnetNetwork(const Params *p)
VNET_type get_vnet_type(int vc)
void increment_packet_queueing_latency(Cycles latency, int vnet)
std::vector< VNET_type > m_vnet_type
std::string PortDirection
void increment_injected_packets(int vnet)
std::ostream & operator<<(std::ostream &out, const GarnetNetwork &obj)
std::vector< NetworkInterface * > m_nis
uint32_t getNiFlitSize() const
A Packet is used to encapsulate a transfer between two objects in the memory system (e...
void increment_packet_network_latency(Cycles latency, int vnet)
GarnetNetwork & operator=(const GarnetNetwork &obj)
int get_router_id(int ni)
Stats::Formula m_avg_hops
Stats::Scalar m_average_link_utilization
Stats::Vector m_packets_received
uint32_t getBuffersPerDataVC()
Stats::Formula m_avg_packet_vqueue_latency
void increment_received_packets(int vnet)
void makeInternalLink(SwitchID src, SwitchID dest, BasicLink *link, const NetDest &routing_table_entry, PortDirection src_outport_dirn, PortDirection dest_inport_dirn)
void increment_flit_queueing_latency(Cycles latency, int vnet)
Stats::Scalar m_total_hops
Stats::Vector m_flit_network_latency
Stats::Formula m_avg_flit_vqueue_latency
Stats::Formula m_avg_flit_network_latency
std::vector< NetworkLink * > m_networklinks
bool isFaultModelEnabled() const
uint32_t functionalWrite(Packet *pkt)
Function for performing a functional write.
void increment_flit_network_latency(Cycles latency, int vnet)
Stats::Formula m_avg_flit_latency
Stats::Formula m_avg_packet_vnet_latency
int getRoutingAlgorithm() const
uint32_t m_buffers_per_data_vc
Stats::Scalar m_total_ext_in_link_utilization
void makeExtOutLink(SwitchID src, NodeID dest, BasicLink *link, const NetDest &routing_table_entry)
Stats::Vector m_flit_queueing_latency
Stats::Formula m_avg_flit_vnet_latency
Stats::Vector m_packet_queueing_latency
void increment_received_flits(int vnet)
bool m_enable_fault_model