diff --git a/dram/resources/configs/memconfigs/_old/fr_fcfs_bankwise.xml b/dram/resources/configs/memconfigs/_old/fr_fcfs_bankwise.xml new file mode 100644 index 00000000..1c2d4e9d --- /dev/null +++ b/dram/resources/configs/memconfigs/_old/fr_fcfs_bankwise.xml @@ -0,0 +1,15 @@ + + + + + + + + + + + + + + + diff --git a/dram/resources/configs/memconfigs/_old/fr_fcfs_unaware.xml b/dram/resources/configs/memconfigs/_old/fr_fcfs_unaware.xml new file mode 100644 index 00000000..167af96e --- /dev/null +++ b/dram/resources/configs/memconfigs/_old/fr_fcfs_unaware.xml @@ -0,0 +1,15 @@ + + + + + + + + + + + + + + + diff --git a/dram/resources/configs/memconfigs/_old/grouper.xml b/dram/resources/configs/memconfigs/_old/grouper.xml new file mode 100644 index 00000000..73116e13 --- /dev/null +++ b/dram/resources/configs/memconfigs/_old/grouper.xml @@ -0,0 +1,14 @@ + + + + + + + + + + + + + + diff --git a/dram/resources/configs/memconfigs/_old/par_bs.xml b/dram/resources/configs/memconfigs/_old/par_bs.xml new file mode 100644 index 00000000..d2f77288 --- /dev/null +++ b/dram/resources/configs/memconfigs/_old/par_bs.xml @@ -0,0 +1,15 @@ + + + + + + + + + + + + + + + diff --git a/dram/resources/configs/memconfigs/_old/par_bs_unaware.xml b/dram/resources/configs/memconfigs/_old/par_bs_unaware.xml new file mode 100644 index 00000000..aed501d7 --- /dev/null +++ b/dram/resources/configs/memconfigs/_old/par_bs_unaware.xml @@ -0,0 +1,15 @@ + + + + + + + + + + + + + + + diff --git a/dram/resources/configs/simconfigs/simple.xml b/dram/resources/configs/simconfigs/simple.xml new file mode 100644 index 00000000..2afec97e --- /dev/null +++ b/dram/resources/configs/simconfigs/simple.xml @@ -0,0 +1,5 @@ + + + + + \ No newline at end of file diff --git a/dram/resources/simulations/sim-batch.xml b/dram/resources/simulations/sim-batch.xml index 3ce68d4f..4d4d7562 100644 --- a/dram/resources/simulations/sim-batch.xml +++ b/dram/resources/simulations/sim-batch.xml @@ -3,13 +3,13 @@ - + - + - + @@ -17,7 +17,7 @@ - medium.stl + small.stl diff --git a/dram/src/common/Utils.cpp b/dram/src/common/Utils.cpp index 96bd6d63..82a96635 100644 --- a/dram/src/common/Utils.cpp +++ b/dram/src/common/Utils.cpp @@ -129,14 +129,40 @@ string queryStringParameter(XMLElement* node, string name) return 0; } +string errorToString(XMLError error) +{ + switch(error){ + case XML_NO_ERROR: return "no error"; case XML_NO_ATTRIBUTE: return "NO_ATTRIBUTE"; + case XML_WRONG_ATTRIBUTE_TYPE: return "WRONG_ATTRIBUTE_TYPE"; + case XML_ERROR_FILE_NOT_FOUND: return "FILE_NOT_FOUND"; + case XML_ERROR_FILE_COULD_NOT_BE_OPENED: return "FILE_COULD_NOT_BE_OPENED"; + case XML_ERROR_FILE_READ_ERROR: return "FILE_READ_ERROR"; + case XML_ERROR_ELEMENT_MISMATCH: return "ERROR_ELEMENT_MISMATCH"; + case XML_ERROR_PARSING_ELEMENT: return "ERROR_PARSING_ELEMENT"; + case XML_ERROR_PARSING_ATTRIBUTE: return "ERROR_PARSING_ATTRIBUTE"; + case XML_ERROR_IDENTIFYING_TAG: return "ERROR_IDENTIFYING_TAG"; + case XML_ERROR_PARSING_TEXT: return "ERROR_PARSING_TEXT"; + case XML_ERROR_PARSING_CDATA: return "ERROR_PARSING_CDATA"; + case XML_ERROR_PARSING_COMMENT: return "ERROR_PARSING_COMMENT"; + case XML_ERROR_PARSING_DECLARATION: return "ERROR_PARSING_DECLARATION"; + case XML_ERROR_PARSING_UNKNOWN: return "ERROR_PARSING_UNKNOWN"; + case XML_ERROR_EMPTY_DOCUMENT: return "ERROR_EMPTY_DOCUMENT"; + case XML_ERROR_MISMATCHED_ELEMENT: return "ERROR_MISMATCHED_ELEMENT"; + case XML_ERROR_PARSING: return "ERROR_PARSING"; + case XML_CAN_NOT_CONVERT_TEXT: return "CAN_NOT_CONVERT_TEXT"; + case XML_NO_TEXT_NODE: return "NO_TEXT_NODE"; + default: ""; + } +} + void loadXML(string uri, XMLDocument& doc) { XMLError error = doc.LoadFile(uri.c_str()); if (error) { - //TODO specify error - reportFatal("Configuration", "Error loading xml from: " + uri); + reportFatal("Configuration", "Error loading xml from: " + uri + " " + + errorToString(error)); } } diff --git a/dram/src/controller/core/configuration/ConfigurationLoader.cpp b/dram/src/controller/core/configuration/ConfigurationLoader.cpp index 433d8cac..d8bf7caa 100644 --- a/dram/src/controller/core/configuration/ConfigurationLoader.cpp +++ b/dram/src/controller/core/configuration/ConfigurationLoader.cpp @@ -51,7 +51,6 @@ void ConfigurationLoader::loadSimConfig(Configuration& config, XMLElement* simco { XMLDocument doc; string src(simconfig->Attribute("src")); - std::cout<<"inner first"< +#include "../../../common/third_party/tinyxml2.h" +#include "../../../common/Utils.h" +#include "Configuration.h" + +namespace core { + +class MemSpecLoader +{ +public: + //void loadConfiguration(Configuration& config, std::string memspecUri, std::string memconfigUri); + static void loadMemConfig(std::string memconfigUri); + static void loadMemConfig(XMLElement* memconfig); +private: + //void loadMemConfig(Configuration& config, tinyxml2::XMLElement* memspec); + //void loadMemSpec(Configuration& config, tinyxml2::XMLElement* memspec); + //void loadDDR4(Configuration& config, tinyxml2::XMLElement* memspec); + //void loadWideIO(Configuration& config, tinyxml2::XMLElement* memspec); +}; + +} /* namespace core */ + +#endif /* MEMSPECLOADER_H_ */ diff --git a/dram/src/controller/core/scheduling/checker/PrechargeChecker.cpp b/dram/src/controller/core/scheduling/checker/PrechargeChecker.cpp index 58ed2ffb..8df83b68 100644 --- a/dram/src/controller/core/scheduling/checker/PrechargeChecker.cpp +++ b/dram/src/controller/core/scheduling/checker/PrechargeChecker.cpp @@ -25,7 +25,17 @@ void PrechargeChecker::delayToSatisfyConstraints(ScheduledCommand& command) cons } else if (lastCommand.getCommand() == Command::Write) { - //command.delayToMeetConstraint(lastCommand.getStart(), config.memSpec.tWL + getWriteAccessTime() + config.memSpec.tWR); + + std::cout<<"\nPrechargecheck----- "<PowerAnalysys +//configuration->ModelStorage +//configuration->ModelErrotInjection #ifdef POWER #define IFPOW(x) x diff --git a/dram/src/simulation/SimulationManager.cpp b/dram/src/simulation/SimulationManager.cpp index 7c161b5a..33d63c44 100644 --- a/dram/src/simulation/SimulationManager.cpp +++ b/dram/src/simulation/SimulationManager.cpp @@ -13,8 +13,7 @@ using namespace std; using namespace tinyxml2; -SimulationManager::SimulationManager(string resources) : - silent(false), resources(resources) +SimulationManager::SimulationManager(string resources) : resources(resources) { } diff --git a/dram/src/simulation/SimulationManager.h b/dram/src/simulation/SimulationManager.h index 432d8c1c..4c832b93 100644 --- a/dram/src/simulation/SimulationManager.h +++ b/dram/src/simulation/SimulationManager.h @@ -16,8 +16,6 @@ struct SimulationBatch { - //std::string simulationName; - std::vector dramSetups; std::map> traceSetups; void print(); @@ -34,7 +32,6 @@ public: void runSimulations(); void startTraceAnalyzer(); - bool silent; private: std::string resources; std::string exportPath; @@ -47,7 +44,6 @@ private: void runSimulation(std::string traceName, DramSetup dramSetup, std::vector traceSetup); void parseSimulationBatch(tinyxml2::XMLElement* simulation); void addTraceSetup(SimulationBatch& batch, tinyxml2::XMLElement* element); - void checkPaths(); void report(std::string message); };