#include <vcaMsgAware.h>
Public Member Functions | |
VcaMsgAware () | |
~VcaMsgAware () | |
void | init (uint ports, uint vcs) |
void | set_no_msg_classes (uint no_msg_classes) |
void | request (uint output_port, uint msg_class_id, uint requestor_id, ullint req_arrival_time) |
uint | pick_winners (void) |
uint | get_no_requestors (void) |
void | clear_winner (uint winner, uint oc) |
Public Attributes | |
vector< vector< map< uint, uint > > > | winners |
Private Attributes | |
vector< vector< vector< uint > > > | arbiter |
vector< vector< vector< ullint > > > | arbiter_arrival_time |
vector< vector< deque< uint > > > | available_vcs |
uint | vcs |
uint | ports |
uint | no_mclasses |
Definition at line 33 of file vcaMsgAware.h.
VcaMsgAware::VcaMsgAware | ( | ) |
Definition at line 28 of file vcaMsgAware.cc.
VcaMsgAware::~VcaMsgAware | ( | ) |
Definition at line 32 of file vcaMsgAware.cc.
Definition at line 155 of file vcaMsgAware.cc.
References available_vcs, no_mclasses, ports, and winners.
Referenced by RouterReqReply::do_switch_traversal().
uint VcaMsgAware::get_no_requestors | ( | void | ) |
Definition at line 143 of file vcaMsgAware.cc.
References arbiter, no_mclasses, and ports.
Referenced by RouterReqReply::do_virtual_channel_allocation().
Definition at line 44 of file vcaMsgAware.cc.
References arbiter, arbiter_arrival_time, available_vcs, no_mclasses, ports, vcs, and winners.
Referenced by RouterReqReply::init().
uint VcaMsgAware::pick_winners | ( | void | ) |
-------------------------------------------------------------------------------------- Class: VcaMsgAware Method: pick_winners Description: Single vca unit per router. picks all possible winners in a given invocation. returns the number of winners that were picked in a given cycle --------------------------------------------------------------------------------------
Definition at line 106 of file vcaMsgAware.cc.
References arbiter, arbiter_arrival_time, available_vcs, no_mclasses, ports, and winners.
Referenced by RouterReqReply::do_virtual_channel_allocation().
void VcaMsgAware::request | ( | uint | output_port, | |
uint | msg_class_id, | |||
uint | requestor_id, | |||
ullint | req_arrival_time | |||
) |
Definition at line 75 of file vcaMsgAware.cc.
References arbiter, and arbiter_arrival_time.
Referenced by RouterReqReply::do_virtual_channel_allocation().
void VcaMsgAware::set_no_msg_classes | ( | uint | no_msg_classes | ) |
Definition at line 37 of file vcaMsgAware.cc.
References no_mclasses.
Referenced by RouterReqReply::init().
vector< vector< vector<uint> > > VcaMsgAware::arbiter [private] |
Definition at line 47 of file vcaMsgAware.h.
Referenced by get_no_requestors(), init(), pick_winners(), and request().
vector< vector< vector<ullint> > > VcaMsgAware::arbiter_arrival_time [private] |
vector< vector< deque<uint> > > VcaMsgAware::available_vcs [private] |
Definition at line 49 of file vcaMsgAware.h.
Referenced by clear_winner(), init(), and pick_winners().
uint VcaMsgAware::no_mclasses [private] |
Definition at line 52 of file vcaMsgAware.h.
Referenced by clear_winner(), get_no_requestors(), init(), pick_winners(), and set_no_msg_classes().
uint VcaMsgAware::ports [private] |
Definition at line 51 of file vcaMsgAware.h.
Referenced by clear_winner(), get_no_requestors(), init(), and pick_winners().
uint VcaMsgAware::vcs [private] |
vector< vector< map<uint, uint> > > VcaMsgAware::winners |
Definition at line 38 of file vcaMsgAware.h.
Referenced by clear_winner(), RouterReqReply::do_virtual_channel_allocation(), init(), and pick_winners().