32#ifndef __MEM_RUBY_NETWORK_GARNET_0_ROUTER_HH__
33#define __MEM_RUBY_NETWORK_GARNET_0_ROUTER_HH__
48#include "params/GarnetRouter.hh"
75 void print(std::ostream& out)
const {};
83 uint32_t consumerVcs);
137 float *aggregate_fault_prob) {
139 aggregate_fault_prob);
Cycles is a wrapper class for representing cycle counts, i.e.
A Packet is used to encapsulate a transfer between two objects in the memory system (e....
bool fault_prob(int routerID, int temperature, float *aggregate_fault_prob)
bool fault_vector(int routerID, int temperature, float fault_vector[])
bool get_fault_vector(int temperature, float fault_vector[])
PortDirection getOutportDirection(int outport)
void addInPort(PortDirection inport_dirn, NetworkLink *link, CreditLink *credit_link)
void init()
init() is called after all C++ SimObjects have been created and all ports are connected.
uint32_t m_virtual_networks
OutputUnit * getOutputUnit(unsigned port)
uint32_t functionalWrite(Packet *)
statistics::Scalar m_buffer_reads
bool get_aggregate_fault_probability(int temperature, float *aggregate_fault_prob)
statistics::Scalar m_buffer_writes
GarnetNetwork * m_network_ptr
void printFaultVector(std::ostream &out)
PortDirection getInportDirection(int inport)
std::vector< std::shared_ptr< InputUnit > > m_input_unit
GarnetRouterParams Params
statistics::Scalar m_sw_input_arbiter_activity
SwitchAllocator switchAllocator
bool functionalRead(Packet *pkt, WriteMask &mask)
GarnetNetwork * get_net_ptr()
void printAggregateFaultProbability(std::ostream &out)
void resetStats()
Callback to reset stats.
void init_net_ptr(GarnetNetwork *net_ptr)
std::string getPortDirectionName(PortDirection direction)
void grant_switch(int inport, flit *t_flit)
void print(std::ostream &out) const
statistics::Scalar m_crossbar_activity
statistics::Scalar m_sw_output_arbiter_activity
int route_compute(RouteInfo route, int inport, PortDirection direction)
void addOutPort(PortDirection outport_dirn, NetworkLink *link, std::vector< NetDest > &routing_table_entry, int link_weight, CreditLink *credit_link, uint32_t consumerVcs)
void schedule_wakeup(Cycles time)
void regStats()
Callback to set stat parameters.
uint32_t get_vc_per_vnet()
InputUnit * getInputUnit(unsigned port)
CrossbarSwitch crossbarSwitch
std::vector< std::shared_ptr< OutputUnit > > m_output_unit
This is a simple scalar statistic, like a counter.
std::string PortDirection
Copyright (c) 2024 - Pranith Kumar Copyright (c) 2020 Inria All rights reserved.