ElectricalLoad.h revision 10447
1#ifndef __DSENT_MODEL_ELECTRICAL_LOAD_H__ 2#define __DSENT_MODEL_ELECTRICAL_LOAD_H__ 3 4#include "util/CommonType.h" 5#include "model/timing_graph/ElectricalTimingNode.h" 6 7namespace DSENT 8{ 9 class ElectricalModel; 10 class ElectricalDriver; 11 12 class ElectricalLoad : public ElectricalTimingNode 13 { 14 public: 15 ElectricalLoad(const String& instance_name_, ElectricalModel* model_); 16 virtual ~ElectricalLoad(); 17 18 public: 19 // Set the input capacitance of this input port 20 void setLoadCap(double load_cap_); 21 // Get the load capacitance 22 double getLoadCap() const; 23 // Get total load capacitance 24 double getTotalDownstreamCap() const; 25 // Calculate delay due to total load capacitance 26 double calculateDelay() const; 27 // Calculate transition 28 double calculateTransition() const; 29 30 bool isLoad() const; 31 32 private: 33 // Disable copy constructor 34 ElectricalLoad(const ElectricalLoad& load_); 35 36 private: 37 // Load capacitance 38 double m_load_cap_; 39 }; 40} // namespace DSENT 41 42#endif // __DSENT_MODEL_ELECTRICAL_LOAD_H__ 43 44