BarrelShifter.h revision 10447:a465576671d4
1#ifndef __DSENT_MODEL_ELECTRICAL_BARRELSHIFTER_H__
2#define __DSENT_MODEL_ELECTRICAL_BARRELSHIFTER_H__
3
4#include "util/CommonType.h"
5#include "model/ElectricalModel.h"
6
7namespace DSENT
8{
9    // A model on N-bit barrel-shifter. Shifts to the right by X
10    class BarrelShifter : public ElectricalModel
11    {
12        public:
13            BarrelShifter(const String& instance_name_, const TechModel* tech_model_);
14            virtual ~BarrelShifter();
15
16        public:
17            // Set a list of properties' name needed to construct model
18            void initParameters();
19            // Set a list of properties' name needed to construct model
20            void initProperties();
21
22            // Clone and return a new instance
23            virtual BarrelShifter* clone() const;
24
25        protected:
26            // Build the model
27            virtual void constructModel();
28            virtual void propagateTransitionInfo();
29
30    }; // class BarrelShifter
31} // namespace DSENT
32
33#endif // __DSENT_MODEL_ELECTRICAL_MULTIPLEXER_H__
34
35