ElectricalDelay.h revision 10447:a465576671d4
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