GenericVcAllocator Class Reference

This class allocates an output virtual channel to all requesting input messages. Only head flits pass through VCA. =====================================================================================. More...

#include <genericVcAllocator.h>

List of all members.

Public Member Functions

 GenericVcAllocator ()
 ~GenericVcAllocator ()
void setup (uint p, uint v)
bool request (uint out_port, uint out_vc, uint in_port, uint in_vc)
bool is_empty (void)
bool is_empty (uint i)
void pick_winner (void)
void set_request_matrix (void)
void do_round_robin_arbitration (void)
void clear_winner (uint op, uint ovc, uint ip, uint ivc)
void squash_requests (uint op, uint ovc, uint ip, uint ivc)
string toString () const
bool is_requested (uint op, uint ovc, uint ip, uint ivc)

Public Attributes

vector< uintcurrent_winners
uint address
uint node_ip

Private Attributes

uint ports
uint vcs
string name
vector< bool > done
vector< bool > locked
vector< uintlast_winner
vector< vector< bool > > requested
vector< vector< uint > > last_inport_winner
vector< vector< vector< short
int > > > 
requestor_inport


Detailed Description

This class allocates an output virtual channel to all requesting input messages. Only head flits pass through VCA. =====================================================================================.

===================================================================================== Class: GenericVcAllocator Description:

Definition at line 43 of file genericVcAllocator.h.


Constructor & Destructor Documentation

GenericVcAllocator::GenericVcAllocator (  ) 

Definition at line 25 of file genericVcAllocator.cc.

References name.

GenericVcAllocator::~GenericVcAllocator (  ) 

Definition at line 30 of file genericVcAllocator.cc.


Member Function Documentation

void GenericVcAllocator::clear_winner ( uint  op,
uint  ovc,
uint  ip,
uint  ivc 
)

Definition at line 277 of file genericVcAllocator.cc.

References _DBG, current_winners, done, locked, requested, requestor_inport, and vcs.

Referenced by GenericRouter4Stg::do_switch_traversal().

Here is the caller graph for this function:

void GenericVcAllocator::do_round_robin_arbitration ( void   ) 

Definition at line 229 of file genericVcAllocator.cc.

References current_winners, done, last_inport_winner, last_winner, locked, ports, requested, and vcs.

Referenced by pick_winner().

Here is the caller graph for this function:

bool GenericVcAllocator::is_empty ( uint  i  ) 

Definition at line 127 of file genericVcAllocator.cc.

References ports, requestor_inport, and vcs.

bool GenericVcAllocator::is_empty ( void   ) 

Definition at line 115 of file genericVcAllocator.cc.

References ports, requestor_inport, and vcs.

Referenced by GenericRouter4Stg::handle_tick_event(), and pick_winner().

Here is the caller graph for this function:

bool GenericVcAllocator::is_requested ( uint  op,
uint  ovc,
uint  ip,
uint  ivc 
)

Definition at line 318 of file genericVcAllocator.cc.

References requestor_inport, and vcs.

Referenced by GenericRouter4Stg::handle_tick_event().

Here is the caller graph for this function:

void GenericVcAllocator::pick_winner ( void   ) 

Definition at line 138 of file genericVcAllocator.cc.

References do_round_robin_arbitration(), is_empty(), and set_request_matrix().

Referenced by GenericRouter4Stg::handle_tick_event().

Here is the call graph for this function:

Here is the caller graph for this function:

bool GenericVcAllocator::request ( uint  out_port,
uint  out_vc,
uint  in_port,
uint  in_vc 
)

Definition at line 76 of file genericVcAllocator.cc.

References locked, requestor_inport, and vcs.

Referenced by GenericRouter4Stg::handle_tick_event().

Here is the caller graph for this function:

void GenericVcAllocator::set_request_matrix ( void   ) 

Definition at line 181 of file genericVcAllocator.cc.

References last_inport_winner, locked, ports, requested, requestor_inport, and vcs.

Referenced by pick_winner().

Here is the caller graph for this function:

void GenericVcAllocator::setup ( uint  p,
uint  v 
)

Definition at line 36 of file genericVcAllocator.cc.

References current_winners, done, last_inport_winner, last_winner, locked, ports, requested, requestor_inport, and vcs.

Referenced by GenericRouter4Stg::init().

Here is the caller graph for this function:

void GenericVcAllocator::squash_requests ( uint  op,
uint  ovc,
uint  ip,
uint  ivc 
)

Definition at line 324 of file genericVcAllocator.cc.

References current_winners, done, locked, requested, requestor_inport, and vcs.

Referenced by GenericRouter4Stg::handle_tick_event().

Here is the caller graph for this function:

string GenericVcAllocator::toString (  )  const


Member Data Documentation

Definition at line 63 of file genericVcAllocator.h.

Referenced by GenericRouter4Stg::init().

vector< bool > GenericVcAllocator::done [private]

vector< vector < uint > > GenericVcAllocator::last_inport_winner [private]

Definition at line 74 of file genericVcAllocator.h.

Referenced by do_round_robin_arbitration(), set_request_matrix(), and setup().

Definition at line 72 of file genericVcAllocator.h.

Referenced by do_round_robin_arbitration(), and setup().

vector< bool > GenericVcAllocator::locked [private]

string GenericVcAllocator::name [private]

Definition at line 69 of file genericVcAllocator.h.

Referenced by GenericVcAllocator().

Definition at line 64 of file genericVcAllocator.h.

Referenced by GenericRouter4Stg::init().

vector< vector < bool > > GenericVcAllocator::requested [private]

vector< vector < vector <short int > > > GenericVcAllocator::requestor_inport [private]


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

Generated on Tue Oct 19 17:22:19 2010 for IRIS by  doxygen 1.5.8