Go to the documentation of this file.
56 :
Network(
p), m_buffer_size(
p.buffer_size),
57 m_endpoint_bandwidth(
p.endpoint_bandwidth),
58 m_adaptive_routing(
p.adaptive_routing),
63 i !=
p.routers.end(); ++
i) {
66 s->init_net_ptr(
this);
98 routing_table_entry[0], simple_link->
m_latency,
127 queues[
i] = buffer_ptr;
131 SimpleIntLink *simple_link = safe_cast<SimpleIntLink*>(link);
134 m_switches[src]->addOutPort(queues, routing_table_entry[0],
144 for (MessageSizeType
type = MessageSizeType_FIRST;
145 type < MessageSizeType_NUM; ++
type) {
148 csprintf(
"msg_count.%s", MessageSizeType_to_string(
type)).c_str());
155 csprintf(
"msg_byte.%s", MessageSizeType_to_string(
type)).c_str());
183 out <<
"[SimpleNetwork]";
224 uint32_t num_functional_writes = 0;
227 num_functional_writes +=
m_switches[
i]->functionalWrite(pkt);
233 return num_functional_writes;
238 :
Stats::Group(parent)
void makeExtInLink(NodeID src, SwitchID dest, BasicLink *link, std::vector< NetDest > &routing_table_entry)
virtual void regStats()
Callback to set stat parameters.
std::vector< std::vector< MessageBuffer * > > m_toNetQueues
static uint32_t m_virtual_networks
SimpleNetwork::NetworkStats networkStats
void init()
init() is called after all C++ SimObjects have been created and all ports are connected.
SimpleNetworkParams Params
bool functionalRead(Packet *pkt)
int m_num_connected_buffers
NodeID getLocalNodeID(NodeID global_id) const
std::vector< MessageBuffer * > m_int_link_buffers
void makeInternalLink(SwitchID src, SwitchID dest, BasicLink *link, std::vector< NetDest > &routing_table_entry, PortDirection src_outport, PortDirection dst_inport)
void makeExtOutLink(SwitchID src, NodeID dest, BasicLink *link, std::vector< NetDest > &routing_table_entry)
static uint32_t MessageSizeType_to_int(MessageSizeType size_type)
void print(std::ostream &out) const
const FlagsType nozero
Don't print if this is zero.
std::vector< std::vector< MessageBuffer * > > m_fromNetQueues
uint32_t functionalWrite(Packet *pkt)
A Packet is used to encapsulate a transfer between two objects in the memory system (e....
std::vector< Switch * > m_switches
void createLinks(Network *net)
SimpleNetwork(const Params &p)
virtual void init()
init() is called after all C++ SimObjects have been created and all ports are connected.
std::string PortDirection
Stats::Formula * m_msg_counts[MessageSizeType_NUM]
Stats::Formula * m_msg_bytes[MessageSizeType_NUM]
NetworkStats(Stats::Group *parent)
void regStats()
Callback to set stat parameters.
std::string csprintf(const char *format, const Args &...args)
Topology * m_topology_ptr
Generated on Tue Mar 23 2021 19:41:28 for gem5 by doxygen 1.8.17