libraries/onchipcommunication/link/PointToPointBus.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 POINTTOPOINTBUS_H_
00009 #define POINTTOPOINTBUS_H_
00010 
00011 #include "networks/onchipcommunication/PlatformInstance.h"
00012 #include "networks/onchipcommunication/Implementation.h"
00013 #include "libraries/onchipcommunication/common/Link.h"
00014 #include "quantities/onchipcommunication/Interface.h"
00015 #include "models/onchipcommunication/common/AreaModel.h"
00016 #include "models/onchipcommunication/common/PowerModel.h"
00017 #include "include/onchipcommunication/typedefs.h"
00018 #include "quantities/onchipcommunication/LinkParameter.h"
00019 #include "quantities/onchipcommunication/NodeParameter.h"
00020 
00021 
00022 namespace cosi {
00023 
00024 namespace library {
00025 
00026 namespace onchipcommunication {
00027 
00028 class PointToPointBus : public Link {
00029 
00030         cosi::quantity::onchipcommunication::LinkParameter* mParam;
00031 public:
00032         //technology and paramters
00033         PointToPointBus(int Width , Technology pTech);
00034 
00035         virtual ~PointToPointBus();
00036 
00037 
00038         double GetDeviceArea(WiringPath P);
00039 
00040         double GetWiringArea(WiringPath P);
00041 
00042         double GetStaticPower(WiringPath P);
00043 
00044         double GetDynamicPower(WiringPath P, CommoditySet pCommodities);
00045 
00046         double GetDelay(WiringPath P) ;
00047 
00048         cosi::commstruct::onchipcommunication::PlatformInstance
00049                         * GetPlatformInstance(int U, std::string pPortsU, int V,
00050                                         std::string pPortV) ;
00051 
00052         cosi::commstruct::onchipcommunication::Implementation
00053                         * GetImplementationInstance(int U, std::string pPortsU, int V,
00054                                         std::string pPortV, WiringPath pPath) ;
00055 
00056         cosi::commstruct::onchipcommunication::Implementation
00057                         * GetImplementationInstance(int U, std::string pPortsU, int V,
00058                                         std::string pPortV, WiringPath pPath,
00059                                         CommoditySet pCommodities);
00060 
00061         static std::string ComponentName;
00062         static std::string ComponentType;
00063 
00064          std::string GetComponentName()  ;
00065          std::string GetComponentType()  ;
00066 
00067 };
00068 
00069 }
00070 
00071 }
00072 
00073 }
00074 
00075 #endif /*POINTTOPOINTBUS_H_*/

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