gem5
|
#include <RoutingUnit.hh>
Public Member Functions | |
RoutingUnit (Router *router) | |
int | outportCompute (RouteInfo route, int inport, PortDirection inport_dirn) |
void | addRoute (const 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) |
Private Attributes | |
Router * | m_router |
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 46 of file RoutingUnit.hh.
RoutingUnit::RoutingUnit | ( | Router * | router | ) |
Definition at line 41 of file RoutingUnit.cc.
References m_router, m_routing_table, and m_weight_table.
void RoutingUnit::addInDirection | ( | PortDirection | inport_dirn, |
int | inport | ||
) |
Definition at line 119 of file RoutingUnit.cc.
References m_inports_dirn2idx, and m_inports_idx2dirn.
Referenced by Router::addInPort().
void RoutingUnit::addOutDirection | ( | PortDirection | outport_dirn, |
int | outport | ||
) |
Definition at line 126 of file RoutingUnit.cc.
References m_outports_dirn2idx, and m_outports_idx2dirn.
Referenced by Router::addOutPort().
void RoutingUnit::addRoute | ( | const NetDest & | routing_table_entry | ) |
Definition at line 49 of file RoutingUnit.cc.
References m_routing_table.
Referenced by Router::addOutPort().
void RoutingUnit::addWeight | ( | int | link_weight | ) |
Definition at line 55 of file RoutingUnit.cc.
References m_weight_table.
Referenced by Router::addOutPort().
int RoutingUnit::lookupRoutingTable | ( | int | vnet, |
NetDest | net_dest | ||
) |
Definition at line 68 of file RoutingUnit.cc.
References X86ISA::exit, fatal, Router::get_net_ptr(), INFINITE_, NetDest::intersectionIsNotEmpty(), m_router, m_routing_table, and m_weight_table.
Referenced by outportCompute().
int RoutingUnit::outportCompute | ( | RouteInfo | route, |
int | inport, | ||
PortDirection | inport_dirn | ||
) |
Definition at line 139 of file RoutingUnit.cc.
References CUSTOM_, RouteInfo::dest_router, Router::get_id(), Router::get_net_ptr(), GarnetNetwork::getRoutingAlgorithm(), lookupRoutingTable(), m_router, RouteInfo::net_dest, outportComputeCustom(), outportComputeXY(), TABLE_, RouteInfo::vnet, and XY_.
Referenced by Router::route_compute().
int RoutingUnit::outportComputeCustom | ( | RouteInfo | route, |
int | inport, | ||
PortDirection | inport_dirn | ||
) |
Definition at line 236 of file RoutingUnit.cc.
Referenced by outportCompute().
int RoutingUnit::outportComputeXY | ( | RouteInfo | route, |
int | inport, | ||
PortDirection | inport_dirn | ||
) |
Definition at line 178 of file RoutingUnit.cc.
References RouteInfo::dest_router, Router::get_id(), Router::get_net_ptr(), GarnetNetwork::getNumCols(), GarnetNetwork::getNumRows(), M5_VAR_USED, m_outports_dirn2idx, and m_router.
Referenced by outportCompute().
|
private |
Definition at line 83 of file RoutingUnit.hh.
Referenced by addInDirection().
|
private |
Definition at line 84 of file RoutingUnit.hh.
Referenced by addInDirection().
|
private |
Definition at line 86 of file RoutingUnit.hh.
Referenced by addOutDirection(), and outportComputeXY().
|
private |
Definition at line 85 of file RoutingUnit.hh.
Referenced by addOutDirection().
|
private |
Definition at line 76 of file RoutingUnit.hh.
Referenced by lookupRoutingTable(), outportCompute(), outportComputeXY(), and RoutingUnit().
|
private |
Definition at line 79 of file RoutingUnit.hh.
Referenced by addRoute(), lookupRoutingTable(), and RoutingUnit().
|
private |
Definition at line 80 of file RoutingUnit.hh.
Referenced by addWeight(), lookupRoutingTable(), and RoutingUnit().