ADDF.h revision 10447
1#ifndef __DSENT_MODEL_STD_CELLS_ADDF_H__
2#define __DSENT_MODEL_STD_CELLS_ADDF_H__
3
4#include "util/CommonType.h"
5#include "model/std_cells/StdCell.h"
6#include "model/TransitionInfo.h"
7
8namespace DSENT
9{
10    // A full adder standard cell
11    class ADDF : public StdCell
12    {
13        public:
14            ADDF(const String& instance_name_, const TechModel* tech_model_);
15            virtual ~ADDF();
16
17        public:
18            // Set a list of properties needed to update model
19            void initProperties();
20            // Cache the standard cell
21            void cacheStdCell(StdCellLib* cell_lib_, double drive_strength_);
22        private:
23            TransitionInfo m_trans_P_;
24            TransitionInfo m_trans_G_;
25            TransitionInfo m_trans_CP_;
26
27        protected:
28            // Build the model
29            virtual void constructModel();
30            virtual void updateModel();
31            virtual void evaluateModel();
32            virtual void useModel();
33            virtual void propagateTransitionInfo();
34
35    }; // class ADDF
36} // namespace DSENT
37
38#endif // __DSENT_MODEL_STD_CELLS_ADDF_H__
39
40