ElectricalDelay.cc revision 10447
110447Snilay@cs.wisc.edu 210447Snilay@cs.wisc.edu#include "model/timing_graph/ElectricalDelay.h" 310447Snilay@cs.wisc.edu#include "model/timing_graph/ElectricalLoad.h" 410447Snilay@cs.wisc.edu 510447Snilay@cs.wisc.edunamespace DSENT 610447Snilay@cs.wisc.edu{ 710447Snilay@cs.wisc.edu //------------------------------------------------------------------------- 810447Snilay@cs.wisc.edu // Electrical Delay 910447Snilay@cs.wisc.edu //------------------------------------------------------------------------- 1010447Snilay@cs.wisc.edu 1110447Snilay@cs.wisc.edu ElectricalDelay::ElectricalDelay(const String& instance_name_, ElectricalModel* model_) 1210447Snilay@cs.wisc.edu : ElectricalTimingNode(instance_name_, model_), m_delay_(0.0) 1310447Snilay@cs.wisc.edu { 1410447Snilay@cs.wisc.edu 1510447Snilay@cs.wisc.edu } 1610447Snilay@cs.wisc.edu 1710447Snilay@cs.wisc.edu ElectricalDelay::~ElectricalDelay() 1810447Snilay@cs.wisc.edu { 1910447Snilay@cs.wisc.edu 2010447Snilay@cs.wisc.edu } 2110447Snilay@cs.wisc.edu 2210447Snilay@cs.wisc.edu void ElectricalDelay::setDelay(double delay_) 2310447Snilay@cs.wisc.edu { 2410447Snilay@cs.wisc.edu m_delay_ = delay_; 2510447Snilay@cs.wisc.edu return; 2610447Snilay@cs.wisc.edu } 2710447Snilay@cs.wisc.edu 2810447Snilay@cs.wisc.edu double ElectricalDelay::getDelay() const 2910447Snilay@cs.wisc.edu { 3010447Snilay@cs.wisc.edu return m_delay_; 3110447Snilay@cs.wisc.edu } 3210447Snilay@cs.wisc.edu 3310447Snilay@cs.wisc.edu double ElectricalDelay::calculateDelay() const 3410447Snilay@cs.wisc.edu { 3510447Snilay@cs.wisc.edu return m_delay_; 3610447Snilay@cs.wisc.edu } 3710447Snilay@cs.wisc.edu 3810447Snilay@cs.wisc.edu double ElectricalDelay::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 ElectricalDelay::getMaxUpstreamRes() const 4410447Snilay@cs.wisc.edu { 4510447Snilay@cs.wisc.edu return ElectricalTimingNode::getMaxUpstreamRes(); 4610447Snilay@cs.wisc.edu } 4710447Snilay@cs.wisc.edu 4810447Snilay@cs.wisc.edu double ElectricalDelay::getTotalDownstreamCap() const 4910447Snilay@cs.wisc.edu { 5010447Snilay@cs.wisc.edu return ElectricalTimingNode::getTotalDownstreamCap(); 5110447Snilay@cs.wisc.edu } 5210447Snilay@cs.wisc.edu 5310447Snilay@cs.wisc.edu} // namespace DSENT 5410447Snilay@cs.wisc.edu 5510447Snilay@cs.wisc.edu 56