ElectricalDelay.h revision 10447
1#ifndef __DSENT_MODEL_ELECTRICAL_DELAY_H__ 2#define __DSENT_MODEL_ELECTRICAL_DELAY_H__ 3 4#include "util/CommonType.h" 5#include "model/timing_graph/ElectricalTimingNode.h" 6 7namespace DSENT 8{ 9 class ElectricalLoad; 10 11 class ElectricalDelay : public ElectricalTimingNode 12 { 13 public: 14 ElectricalDelay(const String& instance_name_, ElectricalModel* model_); 15 virtual ~ElectricalDelay(); 16 17 public: 18 // Specify an ideal delay 19 void setDelay(double delay_); 20 // Get the ideal delay 21 double getDelay() const; 22 // Calculate delay 23 double calculateDelay() const; 24 // Calculate transition 25 double calculateTransition() const; 26 // get maximum of upstream drive resistance 27 double getMaxUpstreamRes() const; 28 // get total amount of downstream load capacitance 29 double getTotalDownstreamCap() const; 30 31 private: 32 // Disable copy constructor 33 ElectricalDelay(const ElectricalDelay& net_); 34 35 private: 36 // The amount of ideal delay 37 double m_delay_; 38 }; 39 40} // namespace DSENT 41 42#endif // __DSENT_MODEL_ELECTRICAL_DELAY_H__ 43 44