gem5
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
Public Member Functions | Private Attributes | List of all members
RoutingUnit Class Reference

#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

Routerm_router
 
std::vector< NetDestm_routing_table
 
std::vector< int > m_weight_table
 
std::map< PortDirection, int > m_inports_dirn2idx
 
std::map< int, PortDirectionm_inports_idx2dirn
 
std::map< int, PortDirectionm_outports_idx2dirn
 
std::map< PortDirection, int > m_outports_dirn2idx
 

Detailed Description

Definition at line 46 of file RoutingUnit.hh.

Constructor & Destructor Documentation

RoutingUnit::RoutingUnit ( Router router)

Definition at line 41 of file RoutingUnit.cc.

References m_router, m_routing_table, and m_weight_table.

Member Function Documentation

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 
)
int RoutingUnit::outportCompute ( RouteInfo  route,
int  inport,
PortDirection  inport_dirn 
)
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 
)

Member Data Documentation

std::map<PortDirection, int> RoutingUnit::m_inports_dirn2idx
private

Definition at line 83 of file RoutingUnit.hh.

Referenced by addInDirection().

std::map<int, PortDirection> RoutingUnit::m_inports_idx2dirn
private

Definition at line 84 of file RoutingUnit.hh.

Referenced by addInDirection().

std::map<PortDirection, int> RoutingUnit::m_outports_dirn2idx
private

Definition at line 86 of file RoutingUnit.hh.

Referenced by addOutDirection(), and outportComputeXY().

std::map<int, PortDirection> RoutingUnit::m_outports_idx2dirn
private

Definition at line 85 of file RoutingUnit.hh.

Referenced by addOutDirection().

Router* RoutingUnit::m_router
private

Definition at line 76 of file RoutingUnit.hh.

Referenced by lookupRoutingTable(), outportCompute(), outportComputeXY(), and RoutingUnit().

std::vector<NetDest> RoutingUnit::m_routing_table
private

Definition at line 79 of file RoutingUnit.hh.

Referenced by addRoute(), lookupRoutingTable(), and RoutingUnit().

std::vector<int> RoutingUnit::m_weight_table
private

Definition at line 80 of file RoutingUnit.hh.

Referenced by addWeight(), lookupRoutingTable(), and RoutingUnit().


The documentation for this class was generated from the following files:

Generated on Fri Jun 9 2017 13:04:18 for gem5 by doxygen 1.8.6