ext: add the source code for DSENT
[gem5.git] / ext / dsent / model / ModelGen.h
1 #ifndef __DSENT_MODEL_MODELGEN_H__
2 #define __DSENT_MODEL_MODELGEN_H__
3
4 #include "util/CommonType.h"
5
6 namespace DSENT
7 {
8 class Model;
9 class ElectricalModel;
10 class StdCell;
11 class TechModel;
12
13 class ModelGen
14 {
15 public:
16 // Create the model corresponding to the given String
17 static Model* createModel(const String& model_name_, const String& instance_name_, const TechModel* tech_model_);
18 // Create the standard cell corresponding to the given String
19 static StdCell* createStdCell(const String& std_cell_name_, const String& instance_name_, const TechModel* tech_model_);
20 // Create the ram corresponding to the given String
21 static ElectricalModel* createRAM(const String& ram_name_, const String& instance_name_, const TechModel* tech_model_);
22 // Create the crossbar corresponding to the given String
23 static ElectricalModel* createCrossbar(const String& crossbar_name_, const String& instance_name_, const TechModel* tech_model_);
24 // Print the available models
25 static void printAvailableModels();
26 };
27 } // namespace DSENT
28
29 #endif // __DSENT_MODEL_MODELGEN_H__
30