#include <genericRC.h>
Classes | |
class | Address |
Public Member Functions | |
GenericRC () | |
~GenericRC () | |
void | push (Flit *f, uint vc) |
uint | get_output_port (uint channel) |
uint | speculate_port (Flit *f, uint ch) |
uint | speculate_channel (Flit *f, uint ch) |
uint | get_virtual_channel (uint ch) |
void | resize (uint ch) |
uint | get_no_channels () |
uint | no_adaptive_ports (uint ch) |
uint | no_adaptive_vcs (uint ch) |
bool | is_empty () |
string | toString () const |
Public Attributes | |
uint | node_ip |
uint | address |
vector< uint > | grid_xloc |
vector< uint > | grid_yloc |
Private Member Functions | |
uint | route_x_y (uint addr) |
void | route_torus (HeadFlit *hf) |
void | route_ring (HeadFlit *hf) |
void | route_negative_first (HeadFlit *hf) |
void | route_west_first (HeadFlit *hf) |
void | route_north_last (HeadFlit *hf) |
void | route_north_last_non_minimal (HeadFlit *hf) |
void | route_odd_even (HeadFlit *hf) |
Private Attributes | |
string | name |
uint | vcs |
vector< uint > | possible_out_ports |
vector< uint > | possible_out_vcs |
vector< Address > | addresses |
Definition at line 35 of file genericRC.h.
GenericRC::GenericRC | ( | ) |
GenericRC::~GenericRC | ( | ) | [inline] |
Definition at line 39 of file genericRC.h.
uint GenericRC::get_no_channels | ( | ) |
bool GenericRC::is_empty | ( | ) |
Definition at line 445 of file genericRC.cc.
References _DBG, _DBG_NOARG, HeadFlit::addr, addresses, BODY, do_request_reply_network, HeadFlit::dst_address, grid_size, HEAD, HeadFlit::inport, HeadFlit::msg_class, NEGATIVE_FIRST, node_ip, NORTH_LAST, NORTH_LAST_NON_MINIMAL, ODD_EVEN, possible_out_ports, possible_out_vcs, rc_method, RESPONSE_PKT, RING_ROUTING, route_negative_first(), route_north_last(), route_north_last_non_minimal(), route_odd_even(), route_ring(), route_west_first(), route_x_y(), HeadFlit::src_address, TAIL, TORUS_ROUTING, Flit::type, Flit::vc, vcs, and WEST_FIRST.
void GenericRC::resize | ( | uint | ch | ) |
void GenericRC::route_negative_first | ( | HeadFlit * | hf | ) | [private] |
Definition at line 86 of file genericRC.cc.
References _DBG, HeadFlit::dst_address, grid_xloc, grid_yloc, node_ip, and possible_out_ports.
Referenced by push().
void GenericRC::route_north_last | ( | HeadFlit * | hf | ) | [private] |
Definition at line 215 of file genericRC.cc.
References _DBG, HeadFlit::dst_address, grid_xloc, grid_yloc, node_ip, and possible_out_ports.
Referenced by push().
void GenericRC::route_north_last_non_minimal | ( | HeadFlit * | hf | ) | [private] |
Definition at line 295 of file genericRC.cc.
References _DBG, HeadFlit::dst_address, grid_size, grid_xloc, grid_yloc, HeadFlit::inport, no_nodes, node_ip, possible_out_ports, and route_x_y().
Referenced by push().
void GenericRC::route_odd_even | ( | HeadFlit * | hf | ) | [private] |
Definition at line 379 of file genericRC.cc.
References _DBG, HeadFlit::dst_address, grid_xloc, grid_yloc, node_ip, possible_out_ports, and HeadFlit::src_address.
Referenced by push().
void GenericRC::route_ring | ( | HeadFlit * | hf | ) | [private] |
Definition at line 79 of file genericRC.cc.
Referenced by push().
void GenericRC::route_torus | ( | HeadFlit * | hf | ) | [private] |
Definition at line 73 of file genericRC.cc.
void GenericRC::route_west_first | ( | HeadFlit * | hf | ) | [private] |
Definition at line 148 of file genericRC.cc.
References _DBG, HeadFlit::dst_address, grid_xloc, grid_yloc, node_ip, and possible_out_ports.
Referenced by push().
Definition at line 39 of file genericRC.cc.
References _DBG, grid_xloc, grid_yloc, and node_ip.
Referenced by push(), and route_north_last_non_minimal().
string GenericRC::toString | ( | ) | const |
vector<Address> GenericRC::addresses [private] |
Definition at line 94 of file genericRC.h.
Referenced by get_no_channels(), get_output_port(), get_virtual_channel(), is_empty(), no_adaptive_ports(), no_adaptive_vcs(), push(), resize(), and toString().
vector< uint > GenericRC::grid_xloc |
Definition at line 53 of file genericRC.h.
Referenced by route_negative_first(), route_north_last(), route_north_last_non_minimal(), route_odd_even(), route_west_first(), and route_x_y().
vector< uint > GenericRC::grid_yloc |
Definition at line 54 of file genericRC.h.
Referenced by route_negative_first(), route_north_last(), route_north_last_non_minimal(), route_odd_even(), route_west_first(), and route_x_y().
string GenericRC::name [private] |
Definition at line 51 of file genericRC.h.
Referenced by GenericRC(), push(), route_negative_first(), route_north_last(), route_north_last_non_minimal(), route_odd_even(), route_west_first(), and route_x_y().
vector< uint > GenericRC::possible_out_ports [private] |
Definition at line 69 of file genericRC.h.
Referenced by get_output_port(), push(), route_negative_first(), route_north_last(), route_north_last_non_minimal(), route_odd_even(), and route_west_first().
vector< uint > GenericRC::possible_out_vcs [private] |
uint GenericRC::vcs [private] |