ModelGen.h revision 10447
110447Snilay@cs.wisc.edu#ifndef __DSENT_MODEL_MODELGEN_H__ 210447Snilay@cs.wisc.edu#define __DSENT_MODEL_MODELGEN_H__ 310447Snilay@cs.wisc.edu 410447Snilay@cs.wisc.edu#include "util/CommonType.h" 510447Snilay@cs.wisc.edu 610447Snilay@cs.wisc.edunamespace DSENT 710447Snilay@cs.wisc.edu{ 810447Snilay@cs.wisc.edu class Model; 910447Snilay@cs.wisc.edu class ElectricalModel; 1010447Snilay@cs.wisc.edu class StdCell; 1110447Snilay@cs.wisc.edu class TechModel; 1210447Snilay@cs.wisc.edu 1310447Snilay@cs.wisc.edu class ModelGen 1410447Snilay@cs.wisc.edu { 1510447Snilay@cs.wisc.edu public: 1610447Snilay@cs.wisc.edu // Create the model corresponding to the given String 1710447Snilay@cs.wisc.edu static Model* createModel(const String& model_name_, const String& instance_name_, const TechModel* tech_model_); 1810447Snilay@cs.wisc.edu // Create the standard cell corresponding to the given String 1910447Snilay@cs.wisc.edu static StdCell* createStdCell(const String& std_cell_name_, const String& instance_name_, const TechModel* tech_model_); 2010447Snilay@cs.wisc.edu // Create the ram corresponding to the given String 2110447Snilay@cs.wisc.edu static ElectricalModel* createRAM(const String& ram_name_, const String& instance_name_, const TechModel* tech_model_); 2210447Snilay@cs.wisc.edu // Create the crossbar corresponding to the given String 2310447Snilay@cs.wisc.edu static ElectricalModel* createCrossbar(const String& crossbar_name_, const String& instance_name_, const TechModel* tech_model_); 2410447Snilay@cs.wisc.edu // Print the available models 2510447Snilay@cs.wisc.edu static void printAvailableModels(); 2610447Snilay@cs.wisc.edu }; 2710447Snilay@cs.wisc.edu} // namespace DSENT 2810447Snilay@cs.wisc.edu 2910447Snilay@cs.wisc.edu#endif // __DSENT_MODEL_MODELGEN_H__ 3010447Snilay@cs.wisc.edu 31