MultiplexerCrossbar.h revision 10447
1#ifndef __DSENT_MODEL_ELECTRICAL_MULTIPLEXER_CROSSBAR_H__ 2#define __DSENT_MODEL_ELECTRICAL_MULTIPLEXER_CROSSBAR_H__ 3 4#include "util/CommonType.h" 5#include "model/ElectricalModel.h" 6 7namespace DSENT 8{ 9 // A model for a NxM W-bit multiplexer-based crossbar 10 class MultiplexerCrossbar : public ElectricalModel 11 { 12 public: 13 MultiplexerCrossbar(const String& instance_name_, const TechModel* tech_model_); 14 virtual ~MultiplexerCrossbar(); 15 16 public: 17 // Set a list of paramerters' name needed to construct model 18 void initParameters(); 19 // Set a list of peroperties' name needed to construct model 20 void initProperties(); 21 22 // Clone and return a new instance 23 virtual MultiplexerCrossbar* clone() const; 24 25 protected: 26 // Build the model 27 virtual void constructModel(); 28 virtual void updateModel(); 29 virtual void propagateTransitionInfo(); 30 31 private: 32 // Disable copy constructor 33 MultiplexerCrossbar(const MultiplexerCrossbar& crossbar_); 34 }; // class MultiplexerCrossbar 35} // namespace DSENT 36 37#endif // __DSENT_MODEL_ELECTRICAL_MULTIPLEXER_CROSSBAR_H__ 38 39