ElectricalLoad.h revision 10447
110447Snilay@cs.wisc.edu#ifndef __DSENT_MODEL_ELECTRICAL_LOAD_H__ 210447Snilay@cs.wisc.edu#define __DSENT_MODEL_ELECTRICAL_LOAD_H__ 310447Snilay@cs.wisc.edu 410447Snilay@cs.wisc.edu#include "util/CommonType.h" 510447Snilay@cs.wisc.edu#include "model/timing_graph/ElectricalTimingNode.h" 610447Snilay@cs.wisc.edu 710447Snilay@cs.wisc.edunamespace DSENT 810447Snilay@cs.wisc.edu{ 910447Snilay@cs.wisc.edu class ElectricalModel; 1010447Snilay@cs.wisc.edu class ElectricalDriver; 1110447Snilay@cs.wisc.edu 1210447Snilay@cs.wisc.edu class ElectricalLoad : public ElectricalTimingNode 1310447Snilay@cs.wisc.edu { 1410447Snilay@cs.wisc.edu public: 1510447Snilay@cs.wisc.edu ElectricalLoad(const String& instance_name_, ElectricalModel* model_); 1610447Snilay@cs.wisc.edu virtual ~ElectricalLoad(); 1710447Snilay@cs.wisc.edu 1810447Snilay@cs.wisc.edu public: 1910447Snilay@cs.wisc.edu // Set the input capacitance of this input port 2010447Snilay@cs.wisc.edu void setLoadCap(double load_cap_); 2110447Snilay@cs.wisc.edu // Get the load capacitance 2210447Snilay@cs.wisc.edu double getLoadCap() const; 2310447Snilay@cs.wisc.edu // Get total load capacitance 2410447Snilay@cs.wisc.edu double getTotalDownstreamCap() const; 2510447Snilay@cs.wisc.edu // Calculate delay due to total load capacitance 2610447Snilay@cs.wisc.edu double calculateDelay() const; 2710447Snilay@cs.wisc.edu // Calculate transition 2810447Snilay@cs.wisc.edu double calculateTransition() const; 2910447Snilay@cs.wisc.edu 3010447Snilay@cs.wisc.edu bool isLoad() const; 3110447Snilay@cs.wisc.edu 3210447Snilay@cs.wisc.edu private: 3310447Snilay@cs.wisc.edu // Disable copy constructor 3410447Snilay@cs.wisc.edu ElectricalLoad(const ElectricalLoad& load_); 3510447Snilay@cs.wisc.edu 3610447Snilay@cs.wisc.edu private: 3710447Snilay@cs.wisc.edu // Load capacitance 3810447Snilay@cs.wisc.edu double m_load_cap_; 3910447Snilay@cs.wisc.edu }; 4010447Snilay@cs.wisc.edu} // namespace DSENT 4110447Snilay@cs.wisc.edu 4210447Snilay@cs.wisc.edu#endif // __DSENT_MODEL_ELECTRICAL_LOAD_H__ 4310447Snilay@cs.wisc.edu 44