|
models/onchipcommunication/common/PowerModel.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 POWERMODEL_H_ 00009 #define POWERMODEL_H_ 00010 00011 #include <map> 00012 #include <set> 00013 #include "quantities/WiringPath.h" 00014 #include "quantities/onchipcommunication/LinkParameter.h" 00015 #include "quantities/onchipcommunication/Interface.h" 00016 #include "quantities/onchipcommunication/NodeParameter.h" 00017 #include "quantities/onchipcommunication/Ports.h" 00018 #include "quantities/CommoditySet.h" 00019 #include "quantities/Name.h" 00020 00021 00022 namespace cosi { 00023 00024 namespace models { 00025 00026 namespace onchipcommunication { 00027 00028 class LinkPowerModel { 00029 public: 00030 LinkPowerModel(); 00031 virtual ~LinkPowerModel(); 00032 00033 //LINKS 00034 virtual double GetDynamicPower(Name pName , 00035 cosi::quantity::onchipcommunication::Interface pSource, 00036 cosi::quantity::onchipcommunication::Interface pDest, 00037 WiringPath pPath, 00038 CommoditySet pCommodities , 00039 cosi::quantity::onchipcommunication::LinkParameter pParam) = 0 ; 00040 virtual double GetStaticPower(Name pName , 00041 cosi::quantity::onchipcommunication::Interface pSource, 00042 cosi::quantity::onchipcommunication::Interface pDest, 00043 WiringPath pPath, 00044 cosi::quantity::onchipcommunication::LinkParameter pParam)= 0 ; 00045 }; 00046 00047 class NodePowerModel { 00048 public: 00049 NodePowerModel(); 00050 virtual ~NodePowerModel(); 00051 00052 //NODES 00053 virtual double GetDynamicPower(Name pName, cosi::quantity::onchipcommunication::Ports pPorts, 00054 std::map< std::string , CommoditySet > pCommodities , 00055 cosi::quantity::onchipcommunication::NodeParameter pParam)= 0 ; 00056 virtual double GetStaticPower(Name pName , cosi::quantity::onchipcommunication::Ports pPorts, 00057 cosi::quantity::onchipcommunication::NodeParameter pParam)= 0 ; 00058 00059 }; 00060 00061 } 00062 00063 } 00064 00065 } 00066 00067 #endif /*POWERMODEL_H_*/ Generated on Sun Sep 7 18:37:42 2008 for COSI by 1.5.4 |