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