BarrelShifter.h revision 10447
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