52#ifndef __MEM_RUBY_NETWORK_SIMPLE_SWITCH_HH__
53#define __MEM_RUBY_NETWORK_SIMPLE_SWITCH_HH__
65#include "mem/ruby/protocol/MessageSizeType.hh"
66#include "params/Switch.hh"
94 const NetDest& routing_table_entry,
95 Cycles link_latency,
int link_weight,
int bw_multiplier,
105 void print(std::ostream& out)
const;
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....
void addInPort(const std::vector< MessageBuffer * > &in)
void init()
init() is called after all C++ SimObjects have been created and all ports are connected.
BaseRoutingUnit & m_routing_unit
const Cycles m_int_routing_latency
PerfectSwitch perfectSwitch
Switch(const Switch &obj)
static constexpr Event::Priority THROTTLE_EV_PRI
bool functionalRead(Packet *)
uint32_t functionalWrite(Packet *)
SimpleNetwork * m_network_ptr
void print(std::ostream &out) const
const Cycles m_ext_routing_latency
unsigned m_num_connected_buffers
void addOutPort(const std::vector< MessageBuffer * > &out, const NetDest &routing_table_entry, Cycles link_latency, int link_weight, int bw_multiplier, bool is_external, PortDirection dst_inport="")
std::vector< MessageBuffer * > m_port_buffers
std::list< Throttle > throttles
const statistics::Formula & getMsgCount(unsigned int type) const
void resetStats()
Callback to reset stats.
void regStats()
Callback to set stat parameters.
Switch & operator=(const Switch &obj)
BaseRoutingUnit & getRoutingUnit()
static constexpr Event::Priority PERFECTSWITCH_EV_PRI
void init_net_ptr(SimpleNetwork *net_ptr)
gem5::ruby::Switch::SwitchStats switchStats
static const Priority Default_Pri
Default is zero for historical reasons.
std::string PortDirection
std::ostream & operator<<(std::ostream &os, const BoolVec &myvector)
Copyright (c) 2024 - Pranith Kumar Copyright (c) 2020 Inria All rights reserved.
Declaration of the Packet class.
SwitchStats(statistics::Group *parent)
statistics::Formula m_avg_utilization
statistics::Formula * m_msg_bytes[MessageSizeType_NUM]
statistics::Formula * m_msg_counts[MessageSizeType_NUM]