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