#include <ptop_swa.h>
Public Member Functions | |
PToPSwitchArbiter () | |
~PToPSwitchArbiter () | |
void | resize (uint p) |
bool | is_requested (uint outp, uint inp) |
void | request (uint p, uint inp) |
SA_unit | pick_winner (uint p) |
SA_unit | do_round_robin_arbitration (uint p) |
SA_unit | do_priority_round_robin_arbitration (uint p) |
SA_unit | do_fcfs_arbitration (uint p) |
void | clear_winner (uint p, uint ip) |
void | clear_requested (uint p, uint ip) |
void | request (uint oport, uint inport, message_class m) |
bool | is_empty () |
string | toString () const |
Public Attributes | |
uint | address |
string | name |
uint | node_ip |
Private Attributes | |
uint | PORTS |
uint | CHANNELS |
vector< bool > | locked |
vector< bool > | done |
vector< vector< bool > > | requested |
vector< vector< bool > > | priority_reqs |
vector< bool > | port_locked |
vector< vector< SA_unit > > | requesting_inputs |
vector< SA_unit > | last_winner |
vector< uint > | last_port_winner |
Definition at line 31 of file ptop_swa.h.
PToPSwitchArbiter::PToPSwitchArbiter | ( | ) |
PToPSwitchArbiter::~PToPSwitchArbiter | ( | ) |
Definition at line 29 of file ptop_swa.cc.
Definition at line 300 of file ptop_swa.cc.
References priority_reqs, and requested.
Referenced by GenericRouterPhy::do_switch_allocation().
Definition at line 289 of file ptop_swa.cc.
References done, locked, priority_reqs, and requested.
Referenced by GenericRouterPhy::do_switch_traversal().
Definition at line 245 of file ptop_swa.cc.
References _DBG_NOARG, done, last_winner, locked, Simulator::Now(), PORTS, requested, and requesting_inputs.
Referenced by pick_winner().
Definition at line 177 of file ptop_swa.cc.
References _DBG_NOARG, done, last_port_winner, last_winner, locked, PORTS, priority_reqs, requested, and requesting_inputs.
Referenced by pick_winner().
Definition at line 121 of file ptop_swa.cc.
References _DBG_NOARG, done, last_port_winner, last_winner, locked, PORTS, requested, and requesting_inputs.
Referenced by pick_winner().
bool PToPSwitchArbiter::is_empty | ( | void | ) |
Definition at line 308 of file ptop_swa.cc.
References PORTS, and requested.
Referenced by GenericRouterPhy::do_switch_allocation().
Definition at line 70 of file ptop_swa.cc.
References requested.
Referenced by GenericRouterPhy::handle_tick_event().
Definition at line 100 of file ptop_swa.cc.
References do_fcfs_arbitration(), do_priority_round_robin_arbitration(), do_round_robin_arbitration(), FCFS, ROUND_ROBIN, ROUND_ROBIN_PRIORITY, and sw_arbitration.
Referenced by GenericRouterPhy::do_switch_allocation().
void PToPSwitchArbiter::request | ( | uint | oport, | |
uint | inport, | |||
message_class | m | |||
) |
Definition at line 86 of file ptop_swa.cc.
References done, Simulator::Now(), priority_msg_type, priority_reqs, requested, and requesting_inputs.
Definition at line 76 of file ptop_swa.cc.
References done, Simulator::Now(), requested, and requesting_inputs.
Referenced by GenericRouterPhy::handle_tick_event().
void PToPSwitchArbiter::resize | ( | uint | p | ) |
Definition at line 34 of file ptop_swa.cc.
References done, last_port_winner, last_winner, locked, port_locked, PORTS, priority_reqs, requested, and requesting_inputs.
Referenced by GenericRouterPhy::init().
string PToPSwitchArbiter::toString | ( | ) | const |
Definition at line 321 of file ptop_swa.cc.
References requested.
Referenced by GenericRouterPhy::toString().
uint PToPSwitchArbiter::CHANNELS [private] |
Definition at line 56 of file ptop_swa.h.
vector< bool> PToPSwitchArbiter::done [private] |
Definition at line 58 of file ptop_swa.h.
Referenced by clear_winner(), do_fcfs_arbitration(), do_priority_round_robin_arbitration(), do_round_robin_arbitration(), request(), and resize().
vector< uint> PToPSwitchArbiter::last_port_winner [private] |
Definition at line 64 of file ptop_swa.h.
Referenced by do_priority_round_robin_arbitration(), do_round_robin_arbitration(), and resize().
vector< SA_unit > PToPSwitchArbiter::last_winner [private] |
Definition at line 63 of file ptop_swa.h.
Referenced by do_fcfs_arbitration(), do_priority_round_robin_arbitration(), do_round_robin_arbitration(), and resize().
vector< bool> PToPSwitchArbiter::locked [private] |
Definition at line 57 of file ptop_swa.h.
Referenced by clear_winner(), do_fcfs_arbitration(), do_priority_round_robin_arbitration(), do_round_robin_arbitration(), and resize().
string PToPSwitchArbiter::name |
vector< bool> PToPSwitchArbiter::port_locked [private] |
uint PToPSwitchArbiter::PORTS [private] |
Definition at line 55 of file ptop_swa.h.
Referenced by do_fcfs_arbitration(), do_priority_round_robin_arbitration(), do_round_robin_arbitration(), is_empty(), and resize().
vector< vector <bool> > PToPSwitchArbiter::priority_reqs [private] |
Definition at line 60 of file ptop_swa.h.
Referenced by clear_requested(), clear_winner(), do_priority_round_robin_arbitration(), request(), and resize().
vector< vector <bool> > PToPSwitchArbiter::requested [private] |
Definition at line 59 of file ptop_swa.h.
Referenced by clear_requested(), clear_winner(), do_fcfs_arbitration(), do_priority_round_robin_arbitration(), do_round_robin_arbitration(), is_empty(), is_requested(), request(), resize(), and toString().
vector< vector<SA_unit> > PToPSwitchArbiter::requesting_inputs [private] |
Definition at line 62 of file ptop_swa.h.
Referenced by do_fcfs_arbitration(), do_priority_round_robin_arbitration(), do_round_robin_arbitration(), request(), and resize().