DSENT.h revision 10447
1#ifndef __DSENT_DSENT_H__ 2#define __DSENT_DSENT_H__ 3 4// For DSENT operations 5#include "libutil/OptionParser.h" 6#include "libutil/Calculator.h" 7#include "util/CommonType.h" 8#include "util/Config.h" 9#include "util/Result.h" 10#include "model/Model.h" 11#include "model/ModelGen.h" 12 13// For timing optimization 14#include "model/ElectricalModel.h" 15#include "model/timing_graph/ElectricalNet.h" 16#include "model/timing_graph/ElectricalTimingTree.h" 17#include "model/timing_graph/ElectricalTimingOptimizer.h" 18#include "model/PortInfo.h" 19 20namespace DSENT 21{ 22 using LibUtil::OptionParser; 23 using LibUtil::Calculator; 24 25 class DSENT 26 { 27 protected: 28 class DSENTCalculator : public Calculator 29 { 30 public: 31 DSENTCalculator(); 32 virtual ~DSENTCalculator(); 33 34 protected: 35 virtual double getEnvVar(const String& var_name_) const; 36 }; // class DSENTCalculator 37 38 public: 39 static void run(int argc_, char** argv_); 40 41 protected: 42 static void setRuntimeOptions(OptionParser* option_parser_); 43 static void initialize(int argc_, char** argv_); 44 static void buildModel(); 45 static void processQuery(); 46 static const void* processQuery(const String& query_str_, bool is_print_); 47 static void finalize(); 48 49 static void performTimingOpt(); 50 static void reportTiming(); 51 52 static void processEvaluate(); 53 54 protected: 55 static Model* ms_model_; 56 57 static bool ms_is_verbose_; 58 59 }; // class DSENT 60 61} // namespace DSENT 62 63#endif // __DSENT_DSENT_H__ 64 65