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