00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012 #ifndef HotSpot_H
00013 #define HotSpot_H
00014
00015 #include "interface.h"
00016
00017
00018
00019 extern "C"{
00020 #ifdef HotSpot_H
00021 #include "../sst/core/techModels/libHotSpot/flp.h"
00022 #include "../sst/core/techModels/libHotSpot/npe.h"
00023 #include "../sst/core/techModels/libHotSpot/package.h"
00024 #include "../sst/core/techModels/libHotSpot/shape.h"
00025 #include "../sst/core/techModels/libHotSpot/temperature.h"
00026 #include "../sst/core/techModels/libHotSpot/temperature_block.h"
00027 #include "../sst/core/techModels/libHotSpot/temperature_grid.h"
00028 #include "../sst/core/techModels/libHotSpot/util.h"
00029 #endif //hotspot_h
00030 }
00031
00032
00033 namespace SST {
00034
00035 class HotSpot_library : public thermal_library_t
00036 {
00037 public:
00038 HotSpot_library(parameters_chip_t p_chip);
00039 virtual ~HotSpot_library() {}
00040
00041 private:
00042 thermal_config_t thermal_config;
00043 RC_model_t *model;
00044
00045 double *temperature, *power;
00046
00047 virtual void compute(std::map<int,floorplan_t> *floorplan);
00048
00049 friend class boost::serialization::access;
00050 template<class Archive>
00051 void serialize(Archive & ar, const unsigned int version );
00052
00053 };
00054
00055 }
00056 #endif //HotSpot_H