diff --git a/DRAMSys/simulator/resources/configs/mcconfigs/fifo.xml b/DRAMSys/simulator/resources/configs/mcconfigs/fifo.xml
index 2048948f..86322a2f 100644
--- a/DRAMSys/simulator/resources/configs/mcconfigs/fifo.xml
+++ b/DRAMSys/simulator/resources/configs/mcconfigs/fifo.xml
@@ -11,4 +11,5 @@
+
diff --git a/DRAMSys/simulator/resources/configs/mcconfigs/fifoStrict.xml b/DRAMSys/simulator/resources/configs/mcconfigs/fifoStrict.xml
index 164f89f6..9ca4b1b4 100644
--- a/DRAMSys/simulator/resources/configs/mcconfigs/fifoStrict.xml
+++ b/DRAMSys/simulator/resources/configs/mcconfigs/fifoStrict.xml
@@ -10,6 +10,7 @@
-
+
+
diff --git a/DRAMSys/simulator/resources/configs/mcconfigs/fr_fcfs.xml b/DRAMSys/simulator/resources/configs/mcconfigs/fr_fcfs.xml
index 50532f62..b0dc6ba4 100644
--- a/DRAMSys/simulator/resources/configs/mcconfigs/fr_fcfs.xml
+++ b/DRAMSys/simulator/resources/configs/mcconfigs/fr_fcfs.xml
@@ -11,12 +11,6 @@
-
+
diff --git a/DRAMSys/simulator/resources/configs/mcconfigs/par_bs.xml b/DRAMSys/simulator/resources/configs/mcconfigs/par_bs.xml
index 24418246..a919e8c3 100644
--- a/DRAMSys/simulator/resources/configs/mcconfigs/par_bs.xml
+++ b/DRAMSys/simulator/resources/configs/mcconfigs/par_bs.xml
@@ -11,5 +11,6 @@
+
diff --git a/DRAMSys/simulator/resources/configs/memspecs/WideIO.xml b/DRAMSys/simulator/resources/configs/memspecs/wideio.xml
similarity index 100%
rename from DRAMSys/simulator/resources/configs/memspecs/WideIO.xml
rename to DRAMSys/simulator/resources/configs/memspecs/wideio.xml
diff --git a/DRAMSys/simulator/resources/configs/simulator/ddr3.xml b/DRAMSys/simulator/resources/configs/simulator/ddr3.xml
new file mode 100644
index 00000000..cc8f9de5
--- /dev/null
+++ b/DRAMSys/simulator/resources/configs/simulator/ddr3.xml
@@ -0,0 +1,12 @@
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/DRAMSys/simulator/resources/configs/simulator/wideio.xml b/DRAMSys/simulator/resources/configs/simulator/wideio.xml
new file mode 100644
index 00000000..607db393
--- /dev/null
+++ b/DRAMSys/simulator/resources/configs/simulator/wideio.xml
@@ -0,0 +1,13 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/DRAMSys/simulator/resources/configs/thermalsim/config.xml b/DRAMSys/simulator/resources/configs/thermalsim/config.xml
new file mode 100644
index 00000000..9c71f8c6
--- /dev/null
+++ b/DRAMSys/simulator/resources/configs/thermalsim/config.xml
@@ -0,0 +1,14 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/DRAMSys/simulator/resources/resources.pri b/DRAMSys/simulator/resources/resources.pri
index 1d6ffe46..2a29a7d0 100644
--- a/DRAMSys/simulator/resources/resources.pri
+++ b/DRAMSys/simulator/resources/resources.pri
@@ -6,6 +6,9 @@ OTHER_FILES += resources/simulations/sim-batch.xml
OTHER_FILES += resources/simulations/ddr3-example.xml
OTHER_FILES += resources/simulations/ddr3-single-device.xml
+# Simulator Configuration:
+OTHER_FILES +=
+
# scripts
OTHER_FILES += resources/scripts/address_scrambler.pl
OTHER_FILES += resources/scripts/createTraceDB.sql
@@ -68,7 +71,7 @@ OTHER_FILES += resources/configs/mcconfigs/par_bs.xml
OTHER_FILES += resources/configs/memspecs/memspec.dtd
OTHER_FILES += resources/configs/memspecs/MatzesWideIO.xml
OTHER_FILES += resources/configs/memspecs/DDR4.xml
-OTHER_FILES += resources/configs/memspecs/WideIO.xml
+OTHER_FILES +=
OTHER_FILES += resources/configs/memspecs/MatzesWideIO-short.xml
OTHER_FILES += resources/configs/memspecs/MICRON_1Gb_DDR3-1600_8bit_G.xml
OTHER_FILES += resources/configs/memspecs/JEDEC_256Mb_WIDEIO_SDR-200_128bit.xml
@@ -131,3 +134,9 @@ OTHER_FILES += resources/configs/thermalsim/mem.flp
OTHER_FILES += resources/configs/thermalsim/powerInfo.xml
OTHER_FILES += resources/configs/thermalsim/stack.stk
+DISTFILES += \
+ $$PWD/configs/thermalsim/config.xml \
+ $$PWD/configs/simulator/wideio.xml \
+ $$PWD/configs/simulator/ddr3.xml \
+ $$PWD/configs/memspecs/wideio.xml
+
diff --git a/DRAMSys/simulator/resources/simulations/ddr3-example.xml b/DRAMSys/simulator/resources/simulations/ddr3-example.xml
index 643716ef..9c921124 100644
--- a/DRAMSys/simulator/resources/simulations/ddr3-example.xml
+++ b/DRAMSys/simulator/resources/simulations/ddr3-example.xml
@@ -1,32 +1,10 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
@@ -50,12 +28,12 @@
-
+
- ddr3_example.stl
+ _128x128_64-Pixelgroesse_scram.stl
diff --git a/DRAMSys/simulator/resources/simulations/ddr3-single-device.xml b/DRAMSys/simulator/resources/simulations/ddr3-single-device.xml
index e6653583..5181342a 100644
--- a/DRAMSys/simulator/resources/simulations/ddr3-single-device.xml
+++ b/DRAMSys/simulator/resources/simulations/ddr3-single-device.xml
@@ -1,32 +1,10 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/DRAMSys/simulator/resources/simulations/sim-batch.xml b/DRAMSys/simulator/resources/simulations/sim-batch.xml
index 0752914c..84ed962b 100644
--- a/DRAMSys/simulator/resources/simulations/sim-batch.xml
+++ b/DRAMSys/simulator/resources/simulations/sim-batch.xml
@@ -1,39 +1,15 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
diff --git a/DRAMSys/simulator/src/common/Utils.cpp b/DRAMSys/simulator/src/common/Utils.cpp
index a791071b..e5b09fee 100644
--- a/DRAMSys/simulator/src/common/Utils.cpp
+++ b/DRAMSys/simulator/src/common/Utils.cpp
@@ -44,7 +44,6 @@
using namespace std;
using namespace tinyxml2;
-
bool TimeInterval::timeIsInInterval(sc_time time)
{
return (start < time && time < end);
diff --git a/DRAMSys/simulator/src/common/Utils.h b/DRAMSys/simulator/src/common/Utils.h
index 1de06366..c8c8d85e 100644
--- a/DRAMSys/simulator/src/common/Utils.h
+++ b/DRAMSys/simulator/src/common/Utils.h
@@ -48,6 +48,15 @@
#include "dramExtension.h"
#include "third_party/tinyxml2/tinyxml2.h"
+
+#define DEF_SINGLETON( NAME ) \
+public: \
+ static NAME& getInstance() \
+ { \
+ static NAME _instance; \
+ return _instance; \
+ }
+
//TODO : move to timing specific header
sc_time getDistance(sc_time a, sc_time b);
diff --git a/DRAMSys/simulator/src/common/xmlAddressdecoder.cpp b/DRAMSys/simulator/src/common/xmlAddressdecoder.cpp
index 24c3c356..ae790ea8 100644
--- a/DRAMSys/simulator/src/common/xmlAddressdecoder.cpp
+++ b/DRAMSys/simulator/src/common/xmlAddressdecoder.cpp
@@ -44,32 +44,44 @@
using namespace std;
using namespace tinyxml2;
-tinyxml2::XMLElement* xmlAddressDecoder::addressmapping = NULL;
+//tinyxml2::XMLElement* xmlAddressDecoder::addressmapping = NULL;
+//xmlAddressDecoder* xmlAddressDecoder::decoder = NULL;
+
+xmlAddressDecoder::xmlAddressDecoder()
+{
+ addressmapping = NULL;
+}
xmlAddressDecoder::xmlAddressDecoder(string addressConfigURI)
{
- tinyxml2::XMLDocument doc;
-
- loadXML(addressConfigURI, doc);
- xmlAddressDecoder(doc.FirstChildElement("dramconfig")->FirstChildElement("addressmap"));
-
+ setConfiguration(addressConfigURI);
}
xmlAddressDecoder::xmlAddressDecoder(XMLElement* addressmap)
{
- tinyxml2::XMLDocument doc;
- string xmlNodeName(addressmap->Name());
- if( xmlNodeName != "addressmapping")
- reportFatal("AddressDecorder", "addressmap node expected");
+ setConfiguration(addressmap);
+}
- if(addressmap->Attribute("src"))
+void xmlAddressDecoder::setConfiguration(std::string addressConfigURI)
+{
+ tinyxml2::XMLDocument doc;
+ loadXML(addressConfigURI, doc);
+ setConfiguration(doc.RootElement());
+}
+
+void xmlAddressDecoder::setConfiguration(tinyxml2::XMLElement* addressMap)
+{
+ tinyxml2::XMLDocument doc;
+ string xmlNodeName(addressMap->Name());
+
+ if( xmlNodeName != "addressmapping")
{
- string src(addressmap->Attribute("src"));
- loadXML(src, doc);
- addressmap = (doc.FirstChildElement("addressmapping"));
+ reportFatal("AddressDecorder", "addressmap node expected");
}
- for(XMLElement* child = addressmap->FirstChildElement(); child != NULL; child = child->NextSiblingElement())
+ for(XMLElement* child = addressMap->FirstChildElement();
+ child != NULL;
+ child = child->NextSiblingElement())
{
int from;
int to;
@@ -80,10 +92,10 @@ xmlAddressDecoder::xmlAddressDecoder(XMLElement* addressmap)
shifts[child->Name()] = from;
masks[child->Name()] = pow(2.0, to + 1.0) - pow(2.0, from + 0.0);
amount[child->Name()] = pow(2.0, to - from + 1.0);
- //std::cout << child->Name() << " XXXX " << pow(2.0, to - from + 1.0) <(pair.second)<
#include