34 #ifndef __MEM_RUBY_NETWORK_GARNET_ROUTER_HH__
35 #define __MEM_RUBY_NETWORK_GARNET_ROUTER_HH__
46 #include "params/GarnetRouter.hh"
66 void print(std::ostream& out)
const {};
72 const NetDest& routing_table_entry,
112 float *aggregate_fault_prob) {
114 aggregate_fault_prob);
140 #endif // __MEM_RUBY_NETWORK_GARNET_ROUTER_HH__
Stats::Scalar m_buffer_reads
GarnetNetwork * m_network_ptr
Cycles is a wrapper class for representing cycle counts, i.e.
RoutingUnit * m_routing_unit
PortDirection getOutportDirection(int outport)
void init_net_ptr(GarnetNetwork *net_ptr)
std::vector< OutputUnit * > m_output_unit
void grant_switch(int inport, flit *t_flit)
int route_compute(RouteInfo route, int inport, PortDirection direction)
GarnetRouterParams Params
void resetStats()
Reset statistics associated with this object.
Stats::Scalar m_buffer_writes
bool get_aggregate_fault_probability(int temperature, float *aggregate_fault_prob)
std::string getPortDirectionName(PortDirection direction)
Stats::Scalar m_sw_output_arbiter_activity
This is a simple scalar statistic, like a counter.
Stats::Scalar m_sw_input_arbiter_activity
void print(std::ostream &out) const
uint32_t functionalWrite(Packet *)
void schedule_wakeup(Cycles time)
void addInPort(PortDirection inport_dirn, NetworkLink *link, CreditLink *credit_link)
SwitchAllocator * m_sw_alloc
Stats::Scalar m_crossbar_activity
bool fault_prob(int routerID, int temperature, float *aggregate_fault_prob)
std::string PortDirection
GarnetNetwork * get_net_ptr()
A Packet is used to encapsulate a transfer between two objects in the memory system (e...
void printFaultVector(std::ostream &out)
std::vector< InputUnit * > m_input_unit
bool get_fault_vector(int temperature, float fault_vector[])
void addOutPort(PortDirection outport_dirn, NetworkLink *link, const NetDest &routing_table_entry, int link_weight, CreditLink *credit_link)
void printAggregateFaultProbability(std::ostream &out)
std::vector< InputUnit * > & get_inputUnit_ref()
bool fault_vector(int routerID, int temperature, float fault_vector[])
std::vector< OutputUnit * > & get_outputUnit_ref()
void init()
init() is called after all C++ SimObjects have been created and all ports are connected.
void regStats()
Register statistics for this object.
CrossbarSwitch * m_switch
PortDirection getInportDirection(int inport)