Go to the documentation of this file.
58 :
Network(
p), m_buffer_size(
p->buffer_size),
59 m_endpoint_bandwidth(
p->endpoint_bandwidth),
60 m_adaptive_routing(
p->adaptive_routing)
64 i !=
p->routers.end(); ++
i) {
67 s->init_net_ptr(
this);
99 routing_table_entry[0], simple_link->
m_latency,
128 queues[
i] = buffer_ptr;
132 SimpleIntLink *simple_link = safe_cast<SimpleIntLink*>(link);
135 m_switches[src]->addOutPort(queues, routing_table_entry[0],
145 for (MessageSizeType
type = MessageSizeType_FIRST;
146 type < MessageSizeType_NUM; ++
type) {
148 .
name(
name() +
".msg_count." + MessageSizeType_to_string(
type))
152 .
name(
name() +
".msg_byte." + MessageSizeType_to_string(
type))
179 out <<
"[SimpleNetwork]";
183 SimpleNetworkParams::create()
211 uint32_t num_functional_writes = 0;
214 num_functional_writes +=
m_switches[
i]->functionalWrite(pkt);
220 return num_functional_writes;
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
void init() override
init() is called after all C++ SimObjects have been created and all ports are connected.
SimpleNetwork(const Params *p)
void init()
init() is called after all C++ SimObjects have been created and all ports are connected.
Stats::Formula m_msg_counts[MessageSizeType_NUM]
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)
Stats::Formula m_msg_bytes[MessageSizeType_NUM]
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
virtual const std::string name() const
Overload hash function for BasicBlockRange type.
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)
std::string PortDirection
void regStats()
Callback to set stat parameters.
Topology * m_topology_ptr
Generated on Wed Sep 30 2020 14:02:13 for gem5 by doxygen 1.8.17