virtualChannelArbiter.h
Go to the documentation of this file.00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
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
00029
00030
00031
00032 class VirtualChannelArbiter
00033 {
00034 public:
00035 VirtualChannelArbiter (){}
00036 virtual void request ( Flit* f, uint vc ) = 0;
00037 virtual Flit* pull_winner () = 0;
00038
00039 virtual bool ready ( uint ch ) = 0;
00040 virtual uint size() = 0;
00041 virtual void resize( uint ports ) = 0;
00042
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 };
00053
00054 #endif