addressDecoder.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
00019 #ifndef _addressdecoder_h_INC
00020 #define _addressdecoder_h_INC
00021
00022 #include "../../data_types/impl/flit.h"
00023 using namespace std;
00024
00025
00026
00027
00028
00029
00030
00031 class AddressDecoder
00032 {
00033 public:
00034 AddressDecoder ();
00035 virtual void push ( Flit* f, unsigned int vc) = 0;
00036 virtual Flit* pull ( unsigned int vc ) = 0;
00037 virtual unsigned int get_putput_port ( unsigned int channe ) = 0;
00038 virtual unsigned int get_vc ( unsigned int channel ) = 0;
00039 virtual void no_channels ( unsigned int channels ) = 0;
00040 virtual unsigned int set_no_channels () = 0;
00041 virtual bool is_channel_empty ( unsigned int channel ) = 0;
00042 virtual bool is_empty () = 0;
00043 virtual unsigned int speculate_port ( Flit* f, unsigned int port ) = 0;
00044 virtual unsigned int speculate_channel ( Flit* f, unsigned int channel ) = 0;
00045
00046
00047 protected:
00048
00049 private:
00050
00051 };
00052
00053 #endif
00054