ElectricalLoad.cc revision 10447:a465576671d4
1
2#include "model/timing_graph/ElectricalLoad.h"
3#include "model/ElectricalModel.h"
4#include "model/timing_graph/ElectricalDriver.h"
5
6namespace DSENT
7{
8    ElectricalLoad::ElectricalLoad(const String& instance_name_, ElectricalModel* model_)
9        : ElectricalTimingNode(instance_name_, model_), m_load_cap_(0.0)
10    {
11    }
12
13    ElectricalLoad::~ElectricalLoad()
14    {
15    }
16
17    void ElectricalLoad::setLoadCap(double load_cap_)
18    {
19        m_load_cap_ = load_cap_;
20        return;
21    }
22
23    double ElectricalLoad::getLoadCap() const
24    {
25        return m_load_cap_;
26    }
27
28    bool ElectricalLoad::isLoad() const
29    {
30        return true;
31    }
32
33    double ElectricalLoad::calculateDelay() const
34    {
35        return 0;
36    }
37
38    double ElectricalLoad::calculateTransition() const
39    {
40        return 1.386 * getMaxUpstreamRes() * getTotalDownstreamCap();
41    }
42
43    double ElectricalLoad::getTotalDownstreamCap() const
44    {
45        return m_load_cap_;
46    }
47
48} // namespace DSENT
49
50