#include <genericBuffer.h>
Public Member Functions | |
GenericBuffer () | |
~GenericBuffer () | |
void | push (Flit *f) |
Flit * | pull () |
Flit * | peek () |
uint | get_occupancy (uint ch) const |
void | resize (uint vcs, uint buffer_size) |
uint | get_no_vcs () const |
void | change_pull_channel (uint ch) |
void | change_push_channel (uint ch) |
uint | get_pull_channel () const |
uint | get_push_channel () const |
bool | is_channel_full (uint ch) const |
bool | is_empty (uint ch) const |
string | toString () const |
void | got_credit (uint ch) |
uint | get_no_credits (uint ch) const |
void | set_no_credits (uint no) |
Public Attributes | |
vector< deque< Flit * > > | buffers |
vector< int > | next_port |
Private Attributes | |
vector< int > | credits |
uint | vcs |
uint | buffer_size |
uint | max_credits |
uint | pull_channel |
uint | push_channel |
Filename: genericbuffer.h
Description: implements a buffer component
Version: 1.0 Created: 02/20/2010 11:48:27 PM Revision: none Compiler: gcc
Author: Mitchelle Rasquinha (), mitchelle.rasquinha@gatech.edu Company: Georgia Institute of Technology
=====================================================================================
Definition at line 27 of file genericBuffer.h.
GenericBuffer::GenericBuffer | ( | ) |
=====================================================================================
Filename: genericbuffer.cc
Description: Implements the buffer class.
Version: 1.0 Created: 02/21/2010 12:55:17 AM Revision: none Compiler: gcc
Author: Mitchelle Rasquinha (), mitchelle.rasquinha@gatech.edu Company: Georgia Institute of Technology
=====================================================================================
Definition at line 23 of file genericBuffer.cc.
References pull_channel, and push_channel.
GenericBuffer::~GenericBuffer | ( | ) |
Definition at line 29 of file genericBuffer.cc.
void GenericBuffer::change_pull_channel | ( | uint | ch | ) |
Definition at line 115 of file genericBuffer.cc.
References pull_channel, and vcs.
Referenced by GenericInterfacePhy::handle_tick_event(), and GenericInterfaceNB::handle_tick_event().
void GenericBuffer::change_push_channel | ( | uint | ch | ) |
Definition at line 123 of file genericBuffer.cc.
References push_channel.
Referenced by GenericInterfacePhy::handle_link_arrival(), GenericInterfaceNB::handle_link_arrival(), GenericInterfacePhy::handle_tick_event(), and GenericInterfaceNB::handle_tick_event().
uint GenericBuffer::get_no_vcs | ( | ) | const |
Implements Buffer.
Definition at line 78 of file genericBuffer.cc.
References buffers.
Referenced by GenericInterfacePhy::handle_tick_event(), and GenericInterfaceNB::handle_tick_event().
uint GenericBuffer::get_pull_channel | ( | ) | const |
uint GenericBuffer::get_push_channel | ( | ) | const |
void GenericBuffer::got_credit | ( | uint | ch | ) |
bool GenericBuffer::is_channel_full | ( | uint | ch | ) | const |
bool GenericBuffer::is_empty | ( | uint | ch | ) | const |
Flit * GenericBuffer::peek | ( | ) |
=== FUNCTION ====================================================================== Name: peek Description: Uses the pull channel. Make sure to set it before peek is called. Normal usage is to get a pointer to the head of the buffer without actually pulling it out from the buffer =====================================================================================
Definition at line 65 of file genericBuffer.cc.
References buffer_size, buffers, and pull_channel.
Referenced by GenericInterfacePhy::handle_tick_event().
Flit * GenericBuffer::pull | ( | ) | [virtual] |
Implements Buffer.
Definition at line 42 of file genericBuffer.cc.
References buffer_size, buffers, and pull_channel.
Referenced by GenericInterfacePhy::handle_tick_event(), and GenericInterfaceNB::handle_tick_event().
void GenericBuffer::push | ( | Flit * | f | ) | [virtual] |
Implements Buffer.
Definition at line 34 of file genericBuffer.cc.
References buffer_size, buffers, and push_channel.
Referenced by GenericInterfacePhy::handle_link_arrival(), GenericInterfaceNB::handle_link_arrival(), GenericInterfacePhy::handle_tick_event(), and GenericInterfaceNB::handle_tick_event().
Definition at line 84 of file genericBuffer.cc.
References buffer_size, buffers, and vcs.
Referenced by GenericInterfacePhy::setup(), and GenericInterfaceNB::setup().
void GenericBuffer::set_no_credits | ( | uint | no | ) |
string GenericBuffer::toString | ( | ) | const |
Definition at line 156 of file genericBuffer.cc.
References buffer_size, and buffers.
Referenced by GenericInterfacePhy::toString(), and GenericInterfaceNB::toString().
uint GenericBuffer::buffer_size [private] |
Definition at line 58 of file genericBuffer.h.
Referenced by is_channel_full(), peek(), pull(), push(), resize(), and toString().
vector< deque<Flit*> > GenericBuffer::buffers |
Definition at line 50 of file genericBuffer.h.
Referenced by get_no_vcs(), get_occupancy(), is_channel_full(), is_empty(), peek(), pull(), push(), resize(), and toString().
vector< int > GenericBuffer::credits [private] |
Definition at line 56 of file genericBuffer.h.
uint GenericBuffer::max_credits [private] |
Definition at line 59 of file genericBuffer.h.
vector< int > GenericBuffer::next_port |
Definition at line 51 of file genericBuffer.h.
uint GenericBuffer::pull_channel [private] |
Definition at line 60 of file genericBuffer.h.
Referenced by change_pull_channel(), GenericBuffer(), get_pull_channel(), peek(), and pull().
uint GenericBuffer::push_channel [private] |
Definition at line 61 of file genericBuffer.h.
Referenced by change_push_channel(), GenericBuffer(), get_push_channel(), and push().
uint GenericBuffer::vcs [private] |