pvtopv_swa.h

Go to the documentation of this file.
00001 /*
00002  * =====================================================================================
00003  *
00004  *       Filename:  myFullyVirtualArbiter.h
00005  *
00006  *    Description:  
00007  *
00008  *        Version:  1.0
00009  *        Created:  04/27/2010 01:52:11 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 
00019 #ifndef  _pvtopv_swa_h_INC
00020 #define  _pvtopv_swa_h_INC
00021 
00022 #include        "../interfaces/networkComponent.h"
00023 #include        "../../data_types/impl/flit.h"
00024 #include        "../../../util/genericData.h"
00025 #include        <vector>
00026 
00027 class PVToPV_swa
00028 {
00029     public:
00030         PVToPV_swa ();                             /* constructor */
00031         ~PVToPV_swa();
00032         void resize(uint p, uint c);
00033         bool is_requested(uint inp, uint inch, uint p, uint c);
00034         void request(uint p, uint c, uint inp, uint inch);
00035         SA_unit pick_winner( uint p, uint c);
00036         void clear_winner( uint p, uint c, uint ip, uint ic);
00037         bool is_empty();
00038         bool is_empty_for_ch(uint ch);
00039         uint no_requests_ch(uint ch);
00040         string toString() const;
00041         uint address;
00042         uint name;
00043         uint node_ip;
00044 
00045     protected:
00046 
00047     private:
00048         uint PORTS;
00049         uint CHANNELS;
00050         vector < vector<bool> > locked;
00051         vector < vector<bool> > done;
00052         vector < vector<bool> > requested;
00053         vector < bool> port_locked;
00054         vector < vector<SA_unit> > requesting_inputs;
00055         vector < vector<SA_unit> > last_winner;
00056         vector < vector<uint> > last_port_winner;
00057         vector < vector<uint> > last_ch_winner;
00058 
00059 
00060 }; /* -----  end of class PVToPV_swa  ----- */
00061 
00062 #endif   /* ----- #ifndef pvtopv_swa_INC  ----- */

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