gem5  v20.1.0.0
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 (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

Routerm_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, PortDirectionm_inports_idx2dirn
 
std::map< int, PortDirectionm_outports_idx2dirn
 
std::map< PortDirection, int > m_outports_dirn2idx
 

Detailed Description

Definition at line 43 of file RoutingUnit.hh.

Constructor & Destructor Documentation

◆ RoutingUnit()

RoutingUnit::RoutingUnit ( Router router)

Definition at line 39 of file RoutingUnit.cc.

References m_router, m_routing_table, and m_weight_table.

Member Function Documentation

◆ addInDirection()

void RoutingUnit::addInDirection ( PortDirection  inport_dirn,
int  inport 
)

Definition at line 139 of file RoutingUnit.cc.

References m_inports_dirn2idx, and m_inports_idx2dirn.

Referenced by Router::addInPort().

◆ addOutDirection()

void RoutingUnit::addOutDirection ( PortDirection  outport_dirn,
int  outport 
)

Definition at line 146 of file RoutingUnit.cc.

References m_outports_dirn2idx, and m_outports_idx2dirn.

Referenced by Router::addOutPort().

◆ addRoute()

void RoutingUnit::addRoute ( std::vector< NetDest > &  routing_table_entry)

Definition at line 47 of file RoutingUnit.cc.

References m_routing_table, and ArmISA::v.

Referenced by Router::addOutPort().

◆ addWeight()

void RoutingUnit::addWeight ( int  link_weight)

Definition at line 58 of file RoutingUnit.cc.

References m_weight_table.

Referenced by Router::addOutPort().

◆ lookupRoutingTable()

int RoutingUnit::lookupRoutingTable ( int  vnet,
NetDest  net_dest 
)

◆ outportCompute()

int RoutingUnit::outportCompute ( RouteInfo  route,
int  inport,
PortDirection  inport_dirn 
)

◆ outportComputeCustom()

int RoutingUnit::outportComputeCustom ( RouteInfo  route,
int  inport,
PortDirection  inport_dirn 
)

Definition at line 256 of file RoutingUnit.cc.

References panic.

Referenced by outportCompute().

◆ outportComputeXY()

int RoutingUnit::outportComputeXY ( RouteInfo  route,
int  inport,
PortDirection  inport_dirn 
)

◆ supportsVnet()

bool RoutingUnit::supportsVnet ( int  vnet,
std::vector< int >  sVnets 
)

Definition at line 64 of file RoutingUnit.cc.

Member Data Documentation

◆ m_inports_dirn2idx

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

Definition at line 85 of file RoutingUnit.hh.

Referenced by addInDirection().

◆ m_inports_idx2dirn

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

Definition at line 86 of file RoutingUnit.hh.

Referenced by addInDirection().

◆ m_outports_dirn2idx

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

Definition at line 88 of file RoutingUnit.hh.

Referenced by addOutDirection(), and outportComputeXY().

◆ m_outports_idx2dirn

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

Definition at line 87 of file RoutingUnit.hh.

Referenced by addOutDirection().

◆ m_router

Router* RoutingUnit::m_router
private

Definition at line 78 of file RoutingUnit.hh.

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

◆ m_routing_table

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

Definition at line 81 of file RoutingUnit.hh.

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

◆ m_weight_table

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

Definition at line 82 of file RoutingUnit.hh.

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


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

Generated on Wed Sep 30 2020 14:02:30 for gem5 by doxygen 1.8.17