libraries/onchipcommunication/node/Router.h

Go to the documentation of this file.
00001 //============================================================================
00002 // Author      : Alessandro Pinto <apinto@eecs.berkeley.edu>
00003 //               University of California, Berkeley
00004 //               545 Cory Hall, Berkeley, CA 94720
00005 // Copyright   : See COPYING file that comes with this distribution
00006 //============================================================================
00007 
00008 #ifndef ROUTER_H_
00009 #define ROUTER_H_
00010 
00011 #include <string>
00012 #include <sstream>
00013 #include "libraries/onchipcommunication/common/Node.h"
00014 #include "quantities/onchipcommunication/Interface.h"
00015 #include "quantities/onchipcommunication/NodeParameter.h"
00016 #include "networks/onchipcommunication/PlatformInstance.h"
00017 #include "networks/onchipcommunication/Implementation.h"
00018 #include "models/onchipcommunication/common/AreaModel.h"
00019 #include "models/onchipcommunication/common/PowerModel.h"
00020 
00021 namespace cosi {
00022 
00023 namespace library {
00024 
00025 namespace onchipcommunication {
00026 
00027 class Router : public cosi::library::onchipcommunication::Node {
00028 
00029         cosi::quantity::onchipcommunication::NodeParameter* mParam;
00030 
00031 public:
00032 
00033         Router(int Nin, int Nout, int Vch, int Length, int Width, double Fclk,
00034                         cosi::library::onchipcommunication::Technology pTech);
00035 
00036         virtual ~Router();
00037 
00038         cosi::commstruct::onchipcommunication::PlatformInstance
00039                         * GetPlatformInstance(int V, Position pP);
00040 
00041         cosi::commstruct::onchipcommunication::Implementation
00042                         * GetImplementationInstance(int V, Position pP, TransferTable pT);
00043 
00044         double GetArea();
00045 
00046         double GetStaticPower();
00047 
00048         double GetDynamicPower(std::map< std::string , CommoditySet > pCommodities);
00049 
00050         std::string ComponentName;
00051         static std::string ComponentType;
00052 
00053         std::string GetComponentName();
00054         std::string GetComponentType();
00055 
00056 };
00057 
00058 }
00059 
00060 }
00061 
00062 }
00063 
00064 #endif /*ROUTER_H_*/

Generated on Sun Sep 7 18:37:42 2008 for COSI by  doxygen 1.5.4
Contact 
©2002-2018 U.C. Regents