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 + + + +