diff --git a/DRAMSys/dramSys/dramSys.pro b/DRAMSys/dramSys/dramSys.pro
index 0d3d894e..22c0e37a 100644
--- a/DRAMSys/dramSys/dramSys.pro
+++ b/DRAMSys/dramSys/dramSys.pro
@@ -68,8 +68,7 @@ SOURCES += \
src/controller/RowBufferStates.cpp \
src/controller/scheduler/IScheduler.cpp \
src/controller/scheduler/FifoStrict.cpp \
- src/error/nest_map.cpp \
- src/error/flip_memory.cpp
+ src/error/errormodel.cpp
HEADERS += \
src/common/third_party/tinyxml2/tinyxml2.h \
@@ -116,6 +115,7 @@ HEADERS += \
src/simulation/ReorderBuffer.h \
src/controller/core/configuration/MemSpec.h \
src/simulation/StlPlayer.h \
+ src/simulation/StlDataPlayer.h \
src/simulation/TracePlayerListener.h \
src/simulation/TraceGenerator.h \
src/controller/core/powerdown/NoPowerDown.h \
@@ -127,6 +127,5 @@ HEADERS += \
src/controller/scheduler/FifoStrict.h \
src/controller/IController.h \
src/controller/core/configuration/ConfigurationLoader.h \
- src/error/nest_map.h \
- src/error/flip_memory.h
+ src/error/errormodel.h
diff --git a/DRAMSys/dramSys/resources/configs/memconfigs/fr_fcfs.xml b/DRAMSys/dramSys/resources/configs/memconfigs/fr_fcfs.xml
index 4285a3cb..bf05420a 100644
--- a/DRAMSys/dramSys/resources/configs/memconfigs/fr_fcfs.xml
+++ b/DRAMSys/dramSys/resources/configs/memconfigs/fr_fcfs.xml
@@ -8,8 +8,8 @@
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/DRAMSys/tests/error/am_wideio.xml b/DRAMSys/tests/error/am_wideio.xml
new file mode 100755
index 00000000..76d14bac
--- /dev/null
+++ b/DRAMSys/tests/error/am_wideio.xml
@@ -0,0 +1,18 @@
+
+
+
+
+
+
+
+
+
+
diff --git a/DRAMSys/tests/error/fr_fcfs.xml b/DRAMSys/tests/error/fr_fcfs.xml
new file mode 100644
index 00000000..bf05420a
--- /dev/null
+++ b/DRAMSys/tests/error/fr_fcfs.xml
@@ -0,0 +1,21 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/DRAMSys/tests/error/generateErrorTest.pl b/DRAMSys/tests/error/generateErrorTest.pl
new file mode 100644
index 00000000..a7a3e73a
--- /dev/null
+++ b/DRAMSys/tests/error/generateErrorTest.pl
@@ -0,0 +1,60 @@
+#!/usr/bin/perl -w
+use warnings;
+use strict;
+
+# Assuming this address mapping:
+#
+#
+#
+#
+#
+#
+#
+
+# This is how it should look like later:
+# 31: write 0x0 ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
+
+my $numberOfRows = 8192;
+my $numberOfColumnsPerRow = 128;
+
+my $rowOffset = 0x4000;
+my $colOffset = 0x80;
+
+# Generate Data Pattern:
+my $dataPatternByte = "ff";
+
+my $dataPattern = "";
+for(my $i = 0; $i < 64; $i++)
+{
+ $dataPattern .= $dataPatternByte;
+}
+
+my $clkCounter = 0;
+my $addr = 0;
+
+# Generate Trace file (writes):
+for(my $row = 0; $row < ($numberOfRows * $rowOffset); $row = $row + $rowOffset)
+{
+ for(my $col = 0; $col < ($numberOfColumnsPerRow * $colOffset); $col = $col + $colOffset)
+ {
+ my $addrHex = sprintf("0x%x", $addr);
+ print "$clkCounter:\twrite\t$addrHex\t$dataPattern\n";
+ $clkCounter++;
+ $addr += $colOffset;
+ }
+}
+
+$clkCounter = 350000000;
+$addr = 0;
+
+# Generate Trace file (reads):
+for(my $row = 0; $row < ($numberOfRows * $rowOffset); $row = $row + $rowOffset)
+{
+ for(my $col = 0; $col < ($numberOfColumnsPerRow * $colOffset); $col = $col + $colOffset)
+ {
+ my $addrHex = sprintf("0x%x", $addr);
+ print "$clkCounter:\tread\t$addrHex\t$dataPattern\n";
+ $clkCounter++;
+ $addr += $colOffset;
+ }
+}
diff --git a/DRAMSys/tests/error/sim-batch.xml b/DRAMSys/tests/error/sim-batch.xml
new file mode 100644
index 00000000..c1a5c478
--- /dev/null
+++ b/DRAMSys/tests/error/sim-batch.xml
@@ -0,0 +1,28 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ test_error.stl
+
+
+
+