|
libraries/onchipcommunication/common/Node.hGo 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 LIBRARIES_WIREDBAS_COMMON_NODE_H_ 00009 #define LIBRARIES_WIREDBAS_COMMON_NODE_H_ 00010 00011 #include "InstantiableNode.h" 00012 #include "quantities/CommoditySet.h" 00013 #include "models/onchipcommunication/common/AreaModel.h" 00014 #include "models/onchipcommunication/common/PowerModel.h" 00015 00016 00017 namespace cosi { 00018 00019 namespace library { 00020 00021 namespace onchipcommunication { 00022 00023 class Node : public cosi::library::onchipcommunication::InstantiableNode { 00024 protected: 00025 cosi::models::onchipcommunication::NodeAreaModel* mAreaModel; 00026 00027 cosi::models::onchipcommunication::NodePowerModel* mPowerModel; 00028 00029 public: 00030 Node(); 00031 virtual ~Node(); 00032 00033 void SetAreaModel(cosi::models::onchipcommunication::NodeAreaModel* pModel); 00034 00035 void 00036 SetPowerModel( 00037 cosi::models::onchipcommunication::NodePowerModel* pModel); 00038 00039 //COST METRICS 00040 virtual double GetArea() = 0 ; 00041 virtual double GetStaticPower() = 0 ; 00042 virtual double GetDynamicPower( 00043 std::map< std::string , CommoditySet > pCommodities) = 0 ; 00044 00045 virtual std::string GetComponentName() = 0 ; 00046 virtual std::string GetComponentType() = 0 ; 00047 00048 00049 }; 00050 00051 } 00052 00053 } 00054 00055 } 00056 00057 #endif /*NODE_H_*/ Generated on Sun Sep 7 18:37:42 2008 for COSI by 1.5.4 |