#include <genericVcAllocator.h>
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< uint > | current_winners |
uint | address |
uint | node_ip |
Private Attributes | |
uint | ports |
uint | vcs |
string | name |
vector< bool > | done |
vector< bool > | locked |
vector< uint > | last_winner |
vector< vector< bool > > | requested |
vector< vector< uint > > | last_inport_winner |
vector< vector< vector< short int > > > | requestor_inport |
===================================================================================== Class: GenericVcAllocator Description:
Definition at line 43 of file genericVcAllocator.h.
GenericVcAllocator::GenericVcAllocator | ( | ) |
GenericVcAllocator::~GenericVcAllocator | ( | ) |
Definition at line 30 of file genericVcAllocator.cc.
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().
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().
bool GenericVcAllocator::is_empty | ( | uint | i | ) |
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().
Definition at line 318 of file genericVcAllocator.cc.
References requestor_inport, and vcs.
Referenced by GenericRouter4Stg::handle_tick_event().
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().
Definition at line 76 of file genericVcAllocator.cc.
References locked, requestor_inport, and vcs.
Referenced by GenericRouter4Stg::handle_tick_event().
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().
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().
Definition at line 324 of file genericVcAllocator.cc.
References current_winners, done, locked, requested, requestor_inport, and vcs.
Referenced by GenericRouter4Stg::handle_tick_event().
string GenericVcAllocator::toString | ( | ) | const |
vector< uint > GenericVcAllocator::current_winners |
Definition at line 62 of file genericVcAllocator.h.
Referenced by clear_winner(), do_round_robin_arbitration(), GenericRouter4Stg::handle_tick_event(), setup(), and squash_requests().
vector< bool > GenericVcAllocator::done [private] |
Definition at line 70 of file genericVcAllocator.h.
Referenced by clear_winner(), do_round_robin_arbitration(), setup(), and squash_requests().
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().
vector< uint > GenericVcAllocator::last_winner [private] |
Definition at line 72 of file genericVcAllocator.h.
Referenced by do_round_robin_arbitration(), and setup().
vector< bool > GenericVcAllocator::locked [private] |
Definition at line 71 of file genericVcAllocator.h.
Referenced by clear_winner(), do_round_robin_arbitration(), request(), set_request_matrix(), setup(), and squash_requests().
string GenericVcAllocator::name [private] |
uint GenericVcAllocator::ports [private] |
Definition at line 67 of file genericVcAllocator.h.
Referenced by do_round_robin_arbitration(), is_empty(), set_request_matrix(), and setup().
vector< vector < bool > > GenericVcAllocator::requested [private] |
Definition at line 73 of file genericVcAllocator.h.
Referenced by clear_winner(), do_round_robin_arbitration(), set_request_matrix(), setup(), and squash_requests().
vector< vector < vector <short int > > > GenericVcAllocator::requestor_inport [private] |
Definition at line 75 of file genericVcAllocator.h.
Referenced by clear_winner(), is_empty(), is_requested(), request(), set_request_matrix(), setup(), and squash_requests().
uint GenericVcAllocator::vcs [private] |
Definition at line 68 of file genericVcAllocator.h.
Referenced by clear_winner(), do_round_robin_arbitration(), is_empty(), is_requested(), request(), set_request_matrix(), setup(), and squash_requests().