ElectricalLoad.cc revision 10447
110447Snilay@cs.wisc.edu
210447Snilay@cs.wisc.edu#include "model/timing_graph/ElectricalLoad.h"
310447Snilay@cs.wisc.edu#include "model/ElectricalModel.h"
410447Snilay@cs.wisc.edu#include "model/timing_graph/ElectricalDriver.h"
510447Snilay@cs.wisc.edu
610447Snilay@cs.wisc.edunamespace DSENT
710447Snilay@cs.wisc.edu{
810447Snilay@cs.wisc.edu    ElectricalLoad::ElectricalLoad(const String& instance_name_, ElectricalModel* model_)
910447Snilay@cs.wisc.edu        : ElectricalTimingNode(instance_name_, model_), m_load_cap_(0.0)
1010447Snilay@cs.wisc.edu    {
1110447Snilay@cs.wisc.edu    }
1210447Snilay@cs.wisc.edu
1310447Snilay@cs.wisc.edu    ElectricalLoad::~ElectricalLoad()
1410447Snilay@cs.wisc.edu    {
1510447Snilay@cs.wisc.edu    }
1610447Snilay@cs.wisc.edu
1710447Snilay@cs.wisc.edu    void ElectricalLoad::setLoadCap(double load_cap_)
1810447Snilay@cs.wisc.edu    {
1910447Snilay@cs.wisc.edu        m_load_cap_ = load_cap_;
2010447Snilay@cs.wisc.edu        return;
2110447Snilay@cs.wisc.edu    }
2210447Snilay@cs.wisc.edu
2310447Snilay@cs.wisc.edu    double ElectricalLoad::getLoadCap() const
2410447Snilay@cs.wisc.edu    {
2510447Snilay@cs.wisc.edu        return m_load_cap_;
2610447Snilay@cs.wisc.edu    }
2710447Snilay@cs.wisc.edu
2810447Snilay@cs.wisc.edu    bool ElectricalLoad::isLoad() const
2910447Snilay@cs.wisc.edu    {
3010447Snilay@cs.wisc.edu        return true;
3110447Snilay@cs.wisc.edu    }
3210447Snilay@cs.wisc.edu
3310447Snilay@cs.wisc.edu    double ElectricalLoad::calculateDelay() const
3410447Snilay@cs.wisc.edu    {
3510447Snilay@cs.wisc.edu        return 0;
3610447Snilay@cs.wisc.edu    }
3710447Snilay@cs.wisc.edu
3810447Snilay@cs.wisc.edu    double ElectricalLoad::calculateTransition() const
3910447Snilay@cs.wisc.edu    {
4010447Snilay@cs.wisc.edu        return 1.386 * getMaxUpstreamRes() * getTotalDownstreamCap();
4110447Snilay@cs.wisc.edu    }
4210447Snilay@cs.wisc.edu
4310447Snilay@cs.wisc.edu    double ElectricalLoad::getTotalDownstreamCap() const
4410447Snilay@cs.wisc.edu    {
4510447Snilay@cs.wisc.edu        return m_load_cap_;
4610447Snilay@cs.wisc.edu    }
4710447Snilay@cs.wisc.edu
4810447Snilay@cs.wisc.edu} // namespace DSENT
4910447Snilay@cs.wisc.edu
50