ElectricalDelay.cc revision 10447:a465576671d4
1
2#include "model/timing_graph/ElectricalDelay.h"
3#include "model/timing_graph/ElectricalLoad.h"
4
5namespace DSENT
6{
7    //-------------------------------------------------------------------------
8    // Electrical Delay
9    //-------------------------------------------------------------------------
10
11    ElectricalDelay::ElectricalDelay(const String& instance_name_, ElectricalModel* model_)
12        : ElectricalTimingNode(instance_name_, model_), m_delay_(0.0)
13    {
14
15    }
16
17    ElectricalDelay::~ElectricalDelay()
18    {
19
20    }
21
22    void ElectricalDelay::setDelay(double delay_)
23    {
24        m_delay_ = delay_;
25        return;
26    }
27
28    double ElectricalDelay::getDelay() const
29    {
30        return m_delay_;
31    }
32
33    double ElectricalDelay::calculateDelay() const
34    {
35        return m_delay_;
36    }
37
38    double ElectricalDelay::calculateTransition() const
39    {
40        return 1.386 * getMaxUpstreamRes() * getTotalDownstreamCap();
41    }
42
43    double ElectricalDelay::getMaxUpstreamRes() const
44    {
45        return ElectricalTimingNode::getMaxUpstreamRes();
46    }
47
48    double ElectricalDelay::getTotalDownstreamCap() const
49    {
50        return ElectricalTimingNode::getTotalDownstreamCap();
51    }
52
53} // namespace DSENT
54
55
56