42 using m5::stl_helpers::operator<<;
77 const NetDest& routing_table_entry,
78 Cycles link_latency,
int bw_multiplier)
83 link_latency, bw_multiplier,
92 for (
int i = 0;
i < out.size(); ++
i) {
96 intermediateBuffers.push_back(buffer_ptr);
103 throttle_ptr->
addLinks(intermediateBuffers, out);
118 for (
int link = 0; link <
m_throttles.size(); link++) {
128 for (
unsigned int type = MessageSizeType_FIRST;
129 type < MessageSizeType_NUM; ++
type) {
132 MessageSizeType_to_string(MessageSizeType(
type)))
137 MessageSizeType_to_string(MessageSizeType(
type)))
184 uint32_t num_functional_writes = 0;
188 return num_functional_writes;
192 SwitchParams::create()
void addInPort(const std::vector< MessageBuffer * > &in)
Cycles is a wrapper class for representing cycle counts, i.e.
void addLinks(const std::vector< MessageBuffer * > &in_vec, const std::vector< MessageBuffer * > &out_vec)
const Throttle * getThrottle(LinkID link_number) const
std::vector< MessageBuffer * > m_port_buffers
void resetStats()
Reset statistics associated with this object.
bool functionalRead(Packet *)
std::vector< Throttle * > m_throttles
PerfectSwitch * m_perfect_switch
Derived & flags(Flags _flags)
Set the flags and marks this stat to print at the end of simulation.
uint32_t functionalWrite(Packet *)
int getEndpointBandwidth()
Stats::Formula m_msg_bytes[MessageSizeType_NUM]
void init()
init() is called after all C++ SimObjects have been created and all ports are connected.
SimpleNetwork * m_network_ptr
void regStats()
Register statistics for this object.
const Params * params() const
void deletePointers(C< T, A > &container)
void init()
init() is called after all C++ SimObjects have been created and all ports are connected.
void print(std::ostream &out) const
unsigned m_num_connected_buffers
void addOutPort(const std::vector< MessageBuffer * > &out, const NetDest &routing_table_entry)
A Packet is used to encapsulate a transfer between two objects in the memory system (e...
static uint32_t MessageSizeType_to_int(MessageSizeType size_type)
void init(SimpleNetwork *)
Stats::Formula m_avg_utilization
Derived & name(const std::string &name)
Set the name and marks this stat to print at the end of simulation.
virtual const std::string name() const
Stats::Formula m_msg_counts[MessageSizeType_NUM]
void addOutPort(const std::vector< MessageBuffer * > &out, const NetDest &routing_table_entry, Cycles link_latency, int bw_multiplier)
const FlagsType nozero
Don't print if this is zero.
void addInPort(const std::vector< MessageBuffer * > &in)
void regStats() override
Register statistics for this object.