DSENT.h revision 10447
110447Snilay@cs.wisc.edu#ifndef __DSENT_DSENT_H__ 210447Snilay@cs.wisc.edu#define __DSENT_DSENT_H__ 310447Snilay@cs.wisc.edu 410447Snilay@cs.wisc.edu// For DSENT operations 510447Snilay@cs.wisc.edu#include "libutil/OptionParser.h" 610447Snilay@cs.wisc.edu#include "libutil/Calculator.h" 710447Snilay@cs.wisc.edu#include "util/CommonType.h" 810447Snilay@cs.wisc.edu#include "util/Config.h" 910447Snilay@cs.wisc.edu#include "util/Result.h" 1010447Snilay@cs.wisc.edu#include "model/Model.h" 1110447Snilay@cs.wisc.edu#include "model/ModelGen.h" 1210447Snilay@cs.wisc.edu 1310447Snilay@cs.wisc.edu// For timing optimization 1410447Snilay@cs.wisc.edu#include "model/ElectricalModel.h" 1510447Snilay@cs.wisc.edu#include "model/timing_graph/ElectricalNet.h" 1610447Snilay@cs.wisc.edu#include "model/timing_graph/ElectricalTimingTree.h" 1710447Snilay@cs.wisc.edu#include "model/timing_graph/ElectricalTimingOptimizer.h" 1810447Snilay@cs.wisc.edu#include "model/PortInfo.h" 1910447Snilay@cs.wisc.edu 2010447Snilay@cs.wisc.edunamespace DSENT 2110447Snilay@cs.wisc.edu{ 2210447Snilay@cs.wisc.edu using LibUtil::OptionParser; 2310447Snilay@cs.wisc.edu using LibUtil::Calculator; 2410447Snilay@cs.wisc.edu 2510447Snilay@cs.wisc.edu class DSENT 2610447Snilay@cs.wisc.edu { 2710447Snilay@cs.wisc.edu protected: 2810447Snilay@cs.wisc.edu class DSENTCalculator : public Calculator 2910447Snilay@cs.wisc.edu { 3010447Snilay@cs.wisc.edu public: 3110447Snilay@cs.wisc.edu DSENTCalculator(); 3210447Snilay@cs.wisc.edu virtual ~DSENTCalculator(); 3310447Snilay@cs.wisc.edu 3410447Snilay@cs.wisc.edu protected: 3510447Snilay@cs.wisc.edu virtual double getEnvVar(const String& var_name_) const; 3610447Snilay@cs.wisc.edu }; // class DSENTCalculator 3710447Snilay@cs.wisc.edu 3810447Snilay@cs.wisc.edu public: 3910447Snilay@cs.wisc.edu static void run(int argc_, char** argv_); 4010447Snilay@cs.wisc.edu 4110447Snilay@cs.wisc.edu protected: 4210447Snilay@cs.wisc.edu static void setRuntimeOptions(OptionParser* option_parser_); 4310447Snilay@cs.wisc.edu static void initialize(int argc_, char** argv_); 4410447Snilay@cs.wisc.edu static void buildModel(); 4510447Snilay@cs.wisc.edu static void processQuery(); 4610447Snilay@cs.wisc.edu static const void* processQuery(const String& query_str_, bool is_print_); 4710447Snilay@cs.wisc.edu static void finalize(); 4810447Snilay@cs.wisc.edu 4910447Snilay@cs.wisc.edu static void performTimingOpt(); 5010447Snilay@cs.wisc.edu static void reportTiming(); 5110447Snilay@cs.wisc.edu 5210447Snilay@cs.wisc.edu static void processEvaluate(); 5310447Snilay@cs.wisc.edu 5410447Snilay@cs.wisc.edu protected: 5510447Snilay@cs.wisc.edu static Model* ms_model_; 5610447Snilay@cs.wisc.edu 5710447Snilay@cs.wisc.edu static bool ms_is_verbose_; 5810447Snilay@cs.wisc.edu 5910447Snilay@cs.wisc.edu }; // class DSENT 6010447Snilay@cs.wisc.edu 6110447Snilay@cs.wisc.edu} // namespace DSENT 6210447Snilay@cs.wisc.edu 6310447Snilay@cs.wisc.edu#endif // __DSENT_DSENT_H__ 6410447Snilay@cs.wisc.edu 65