Go to the documentation of this file.
52 using m5::stl_helpers::operator<<;
56 m_num_connected_buffers(0)
59 for (
auto& buffer :
p->port_buffers) {
79 const NetDest& routing_table_entry,
80 Cycles link_latency,
int bw_multiplier)
84 throttles.size(), link_latency, bw_multiplier,
90 for (
int i = 0;
i < out.size(); ++
i) {
95 intermediateBuffers.push_back(buffer_ptr);
102 throttles.back().addLinks(intermediateBuffers, out);
111 throttle.regStats(
name());
120 for (
unsigned int type = MessageSizeType_FIRST;
121 type < MessageSizeType_NUM; ++
type) {
124 MessageSizeType_to_string(MessageSizeType(
type)))
129 MessageSizeType_to_string(MessageSizeType(
type)))
146 throttle.clearStats();
155 throttle.collateStats();
180 uint32_t num_functional_writes = 0;
184 return num_functional_writes;
188 SwitchParams::create()
void init()
init() is called after all C++ SimObjects have been created and all ports are connected.
virtual void regStats()
Callback to set stat parameters.
void addOutPort(const std::vector< MessageBuffer * > &out, const NetDest &routing_table_entry)
void addInPort(const std::vector< MessageBuffer * > &in)
SimpleNetwork * m_network_ptr
std::list< Throttle > throttles
void resetStats()
Callback to reset stats.
Derived & flags(Flags _flags)
Set the flags and marks this stat to print at the end of simulation.
std::vector< MessageBuffer * > m_port_buffers
void addInPort(const std::vector< MessageBuffer * > &in)
PerfectSwitch perfectSwitch
void print(std::ostream &out) const
void init(SimpleNetwork *)
Stats::Formula m_msg_counts[MessageSizeType_NUM]
uint32_t functionalWrite(Packet *)
static uint32_t MessageSizeType_to_int(MessageSizeType size_type)
void regStats()
Callback to set stat parameters.
Stats::Formula m_msg_bytes[MessageSizeType_NUM]
void init()
init() is called after all C++ SimObjects have been created and all ports are connected.
Derived & name(const std::string &name)
Set the name and marks this stat to print at the end of simulation.
const FlagsType nozero
Don't print if this is zero.
void addOutPort(const std::vector< MessageBuffer * > &out, const NetDest &routing_table_entry, Cycles link_latency, int bw_multiplier)
const Params * params() const
int getEndpointBandwidth()
virtual const std::string name() const
Overload hash function for BasicBlockRange type.
A Packet is used to encapsulate a transfer between two objects in the memory system (e....
unsigned m_num_connected_buffers
Cycles is a wrapper class for representing cycle counts, i.e.
Stats::Formula m_avg_utilization
bool functionalRead(Packet *)
Generated on Wed Sep 30 2020 14:02:13 for gem5 by doxygen 1.8.17