00001
00002
00003
00004
00005
00006
00007
00008 #ifndef AREAMODEL_H_
00009 #define AREAMODEL_H_
00010
00011 #include "quantities/WiringPath.h"
00012 #include "quantities/Name.h"
00013 #include "quantities/onchipcommunication/LinkParameter.h"
00014 #include "quantities/onchipcommunication/Interface.h"
00015 #include "quantities/onchipcommunication/NodeParameter.h"
00016 #include "quantities/onchipcommunication/Ports.h"
00017
00018
00019 namespace cosi
00020 {
00021
00022 namespace models
00023 {
00024
00025 namespace onchipcommunication
00026 {
00027
00028 class LinkAreaModel
00029 {
00030 public:
00031 LinkAreaModel();
00032 virtual ~LinkAreaModel();
00033
00034
00035
00036 virtual double GetDeviceArea(Name pName , cosi::quantity::onchipcommunication::Interface pSource ,
00037 cosi::quantity::onchipcommunication::Interface pDest ,
00038 WiringPath pPath ,
00039 cosi::quantity::onchipcommunication::LinkParameter pParam) = 0 ;
00040 virtual double GetWiringArea(Name pName , cosi::quantity::onchipcommunication::Interface pSource ,
00041 cosi::quantity::onchipcommunication::Interface pDest ,
00042 WiringPath pPath ,
00043 cosi::quantity::onchipcommunication::LinkParameter pParam) = 0 ;
00044 };
00045
00046 class NodeAreaModel
00047 {
00048 public:
00049 NodeAreaModel();
00050 virtual ~NodeAreaModel();
00051
00052
00053 virtual double GetArea(Name pName , cosi::quantity::onchipcommunication::Ports pPorts ,
00054 cosi::quantity::onchipcommunication::NodeParameter pParam) = 0 ;
00055
00056 };
00057
00058
00059
00060 }
00061
00062 }
00063
00064 }
00065
00066 #endif