gem5 v24.0.0.0
|
#include <RoutingUnit.hh>
Public Member Functions | |
RoutingUnit (Router *router) | |
int | outportCompute (RouteInfo route, int inport, PortDirection inport_dirn) |
void | addRoute (std::vector< NetDest > &routing_table_entry) |
void | addWeight (int link_weight) |
int | lookupRoutingTable (int vnet, NetDest net_dest) |
void | addInDirection (PortDirection inport_dirn, int inport) |
void | addOutDirection (PortDirection outport_dirn, int outport) |
int | outportComputeXY (RouteInfo route, int inport, PortDirection inport_dirn) |
int | outportComputeCustom (RouteInfo route, int inport, PortDirection inport_dirn) |
bool | supportsVnet (int vnet, std::vector< int > sVnets) |
Private Attributes | |
Router * | m_router |
std::vector< std::vector< NetDest > > | m_routing_table |
std::vector< int > | m_weight_table |
std::map< PortDirection, int > | m_inports_dirn2idx |
std::map< int, PortDirection > | m_inports_idx2dirn |
std::map< int, PortDirection > | m_outports_idx2dirn |
std::map< PortDirection, int > | m_outports_dirn2idx |
Definition at line 52 of file RoutingUnit.hh.
gem5::ruby::garnet::RoutingUnit::RoutingUnit | ( | Router * | router | ) |
Definition at line 49 of file RoutingUnit.cc.
References m_router, m_routing_table, and m_weight_table.
void gem5::ruby::garnet::RoutingUnit::addInDirection | ( | PortDirection | inport_dirn, |
int | inport ) |
Definition at line 149 of file RoutingUnit.cc.
References m_inports_dirn2idx, and m_inports_idx2dirn.
Referenced by gem5::ruby::garnet::Router::addInPort().
void gem5::ruby::garnet::RoutingUnit::addOutDirection | ( | PortDirection | outport_dirn, |
int | outport ) |
Definition at line 156 of file RoutingUnit.cc.
References m_outports_dirn2idx, and m_outports_idx2dirn.
Referenced by gem5::ruby::garnet::Router::addOutPort().
void gem5::ruby::garnet::RoutingUnit::addRoute | ( | std::vector< NetDest > & | routing_table_entry | ) |
Definition at line 57 of file RoutingUnit.cc.
References m_routing_table, and gem5::ArmISA::v.
Referenced by gem5::ruby::garnet::Router::addOutPort().
void gem5::ruby::garnet::RoutingUnit::addWeight | ( | int | link_weight | ) |
Definition at line 68 of file RoutingUnit.cc.
References m_weight_table.
Referenced by gem5::ruby::garnet::Router::addOutPort().
int gem5::ruby::garnet::RoutingUnit::lookupRoutingTable | ( | int | vnet, |
NetDest | net_dest ) |
Definition at line 97 of file RoutingUnit.cc.
References gem5::X86ISA::exit, fatal, gem5::ruby::garnet::Router::get_net_ptr(), INFINITE_, gem5::ruby::NetDest::intersectionIsNotEmpty(), m_router, m_routing_table, and m_weight_table.
Referenced by outportCompute().
int gem5::ruby::garnet::RoutingUnit::outportCompute | ( | RouteInfo | route, |
int | inport, | ||
PortDirection | inport_dirn ) |
Definition at line 169 of file RoutingUnit.cc.
References gem5::ruby::garnet::CUSTOM_, gem5::ruby::garnet::RouteInfo::dest_router, gem5::ruby::garnet::Router::get_id(), gem5::ruby::garnet::Router::get_net_ptr(), gem5::ruby::garnet::GarnetNetwork::getRoutingAlgorithm(), lookupRoutingTable(), m_router, gem5::ruby::garnet::RouteInfo::net_dest, outportComputeCustom(), outportComputeXY(), gem5::ruby::garnet::TABLE_, gem5::ruby::garnet::RouteInfo::vnet, and gem5::ruby::garnet::XY_.
Referenced by gem5::ruby::garnet::Router::route_compute().
int gem5::ruby::garnet::RoutingUnit::outportComputeCustom | ( | RouteInfo | route, |
int | inport, | ||
PortDirection | inport_dirn ) |
int gem5::ruby::garnet::RoutingUnit::outportComputeXY | ( | RouteInfo | route, |
int | inport, | ||
PortDirection | inport_dirn ) |
Definition at line 208 of file RoutingUnit.cc.
References gem5::ruby::garnet::RouteInfo::dest_router, gem5::ruby::garnet::Router::get_id(), gem5::ruby::garnet::Router::get_net_ptr(), gem5::ruby::garnet::GarnetNetwork::getNumCols(), gem5::ruby::garnet::GarnetNetwork::getNumRows(), m_outports_dirn2idx, m_router, and panic.
Referenced by outportCompute().
bool gem5::ruby::garnet::RoutingUnit::supportsVnet | ( | int | vnet, |
std::vector< int > | sVnets ) |
Definition at line 74 of file RoutingUnit.cc.
|
private |
Definition at line 94 of file RoutingUnit.hh.
Referenced by addInDirection().
|
private |
Definition at line 95 of file RoutingUnit.hh.
Referenced by addInDirection().
|
private |
Definition at line 97 of file RoutingUnit.hh.
Referenced by addOutDirection(), and outportComputeXY().
|
private |
Definition at line 96 of file RoutingUnit.hh.
Referenced by addOutDirection().
|
private |
Definition at line 87 of file RoutingUnit.hh.
Referenced by lookupRoutingTable(), outportCompute(), outportComputeXY(), and RoutingUnit().
|
private |
Definition at line 90 of file RoutingUnit.hh.
Referenced by addRoute(), lookupRoutingTable(), and RoutingUnit().
|
private |
Definition at line 91 of file RoutingUnit.hh.
Referenced by addWeight(), lookupRoutingTable(), and RoutingUnit().