virtualChannelArbiter.h

Go to the documentation of this file.
00001 /*
00002  * =====================================================================================
00003  *
00004  *       Filename:  virtualChannelArbiter.h
00005  *
00006  *    Description:  
00007  *
00008  *        Version:  1.0
00009  *        Created:  02/19/2010 01:01:53 AM
00010  *       Revision:  none
00011  *       Compiler:  gcc
00012  *
00013  *         Author:  Mitchelle Rasquinha (), mitchelle.rasquinha@gatech.edu
00014  *        Company:  Georgia Institute of Technology
00015  *
00016  * =====================================================================================
00017  */
00018 #ifndef  _virtualchannelarbiter_h_INC
00019 #define  _virtualchannelarbiter_h_INC
00020 
00021 #include        "../../data_types/impl/flit.h"
00022 #include        <vector>
00023 
00024 using namespace std;
00025 
00026 /*
00027  * =====================================================================================
00028  *        Class:  VirtualChannelArbiter
00029  *  Description:  
00030  * =====================================================================================
00031  */
00032 class VirtualChannelArbiter
00033 {
00034     public:
00035         VirtualChannelArbiter (){}                             /* constructor */
00036         virtual void request ( Flit* f, uint vc ) = 0;
00037         virtual Flit* pull_winner () = 0;
00038 //        virtual Flit* peek_winner () = 0;
00039         virtual bool ready ( uint ch ) = 0;
00040         virtual uint size() = 0;
00041         virtual void resize( uint ports ) = 0;
00042 //        virtual vector< uint > pick_winners ( uint winners );
00043         virtual uint pick_winner () = 0;
00044         virtual void clear () = 0;
00045         virtual void clear_winner () = 0;
00046         virtual vector < uint > get_requests () = 0;
00047 
00048     protected:
00049 
00050     private:
00051 
00052 }; /* -----  end of class VirtualChannelArbiter  ----- */
00053 
00054 #endif   /* ----- #ifndef _virtualchannelarbiter_h_INC  ----- */

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