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