ElectricalLoad.cc revision 10447:a465576671d4
14680Sgblack@eecs.umich.edu
25442Sgblack@eecs.umich.edu#include "model/timing_graph/ElectricalLoad.h"
34680Sgblack@eecs.umich.edu#include "model/ElectricalModel.h"
44680Sgblack@eecs.umich.edu#include "model/timing_graph/ElectricalDriver.h"
54680Sgblack@eecs.umich.edu
64680Sgblack@eecs.umich.edunamespace DSENT
74680Sgblack@eecs.umich.edu{
84680Sgblack@eecs.umich.edu    ElectricalLoad::ElectricalLoad(const String& instance_name_, ElectricalModel* model_)
94680Sgblack@eecs.umich.edu        : ElectricalTimingNode(instance_name_, model_), m_load_cap_(0.0)
104680Sgblack@eecs.umich.edu    {
114680Sgblack@eecs.umich.edu    }
124680Sgblack@eecs.umich.edu
134680Sgblack@eecs.umich.edu    ElectricalLoad::~ElectricalLoad()
144680Sgblack@eecs.umich.edu    {
154680Sgblack@eecs.umich.edu    }
164680Sgblack@eecs.umich.edu
174680Sgblack@eecs.umich.edu    void ElectricalLoad::setLoadCap(double load_cap_)
184680Sgblack@eecs.umich.edu    {
194680Sgblack@eecs.umich.edu        m_load_cap_ = load_cap_;
204680Sgblack@eecs.umich.edu        return;
214680Sgblack@eecs.umich.edu    }
224680Sgblack@eecs.umich.edu
234680Sgblack@eecs.umich.edu    double ElectricalLoad::getLoadCap() const
244680Sgblack@eecs.umich.edu    {
254680Sgblack@eecs.umich.edu        return m_load_cap_;
264680Sgblack@eecs.umich.edu    }
274680Sgblack@eecs.umich.edu
284680Sgblack@eecs.umich.edu    bool ElectricalLoad::isLoad() const
294680Sgblack@eecs.umich.edu    {
304680Sgblack@eecs.umich.edu        return true;
314680Sgblack@eecs.umich.edu    }
324680Sgblack@eecs.umich.edu
334680Sgblack@eecs.umich.edu    double ElectricalLoad::calculateDelay() const
3412491Sgabeblack@google.com    {
3512625Sgabeblack@google.com        return 0;
3612450Sgabeblack@google.com    }
3712625Sgabeblack@google.com
3812450Sgabeblack@google.com    double ElectricalLoad::calculateTransition() const
394680Sgblack@eecs.umich.edu    {
404680Sgblack@eecs.umich.edu        return 1.386 * getMaxUpstreamRes() * getTotalDownstreamCap();
415543Ssaidi@eecs.umich.edu    }
424680Sgblack@eecs.umich.edu
434680Sgblack@eecs.umich.edu    double ElectricalLoad::getTotalDownstreamCap() const
444680Sgblack@eecs.umich.edu    {
454680Sgblack@eecs.umich.edu        return m_load_cap_;
464680Sgblack@eecs.umich.edu    }
474680Sgblack@eecs.umich.edu
484680Sgblack@eecs.umich.edu} // namespace DSENT
4912450Sgabeblack@google.com
5012450Sgabeblack@google.com