removed some errors
This commit is contained in:
@@ -72,7 +72,7 @@ SOURCES += \
|
||||
../src/controller/scheduler/Scheduler.cpp \
|
||||
../src/controller/scheduler/readwritegrouper.cpp \
|
||||
../src/controller/core/configuration/ConfigurationLoader.cpp \
|
||||
../src/controller/core/powerdown/NoPowerDown.cpp
|
||||
../src/controller/core/powerdown/NoPowerDown.cpp \
|
||||
../src/error/nest_map.cpp \
|
||||
../src/error/flip_memory.cpp
|
||||
|
||||
@@ -131,8 +131,8 @@ HEADERS += \
|
||||
../src/simulation/StlPlayer.h \
|
||||
../src/simulation/TracePlayerListener.h \
|
||||
../src/simulation/TraceGenerator.h \
|
||||
../src/controller/core/powerdown/NoPowerDown.h
|
||||
../src/controller/core/configuration/ConfigurationLoader.h
|
||||
../src/controller/core/powerdown/NoPowerDown.h \
|
||||
../src/controller/core/configuration/ConfigurationLoader.h \
|
||||
../src/error/nest_map.h \
|
||||
../src/error/flip_memory.h
|
||||
|
||||
|
||||
@@ -41,16 +41,20 @@ flip_memory::flip_memory()
|
||||
|
||||
// path of csv file
|
||||
errormap = new nest_map(Configuration::getInstance().csvfile);
|
||||
//xade = new xmlAddressDecoder("config.xml");
|
||||
|
||||
// Constants for address calculations
|
||||
ROWS_PER_BANK = Configuration::getInstance().memSpec.NumberOfRows; //8192
|
||||
COLS_PER_ROW = Configuration::getInstance().memSpec.NumberOfColumns; //changed later to variable 128
|
||||
BYTES_PER_COL = 16; //changed later to variable, wie genau, mit config file oder im programm selbst
|
||||
BYTES_PER_COL = 16; //TODO changed later to variable, wie genau, mit config file oder im programm selbst
|
||||
BITS_PER_ROW = COLS_PER_ROW * BYTES_PER_COL * 8;
|
||||
|
||||
// Fill array with random addresses
|
||||
initWeakCells();
|
||||
|
||||
for(unsigned int i = 0; i < ROWS_PER_BANK; i++)
|
||||
{
|
||||
refr[i] = SC_ZERO_TIME;
|
||||
}
|
||||
}
|
||||
|
||||
flip_memory::~flip_memory()
|
||||
@@ -61,7 +65,6 @@ flip_memory::~flip_memory()
|
||||
DecodedAddress flip_memory::getUnifiedNode(unsigned int addr)
|
||||
{
|
||||
DecodedAddress n = xmlAddressDecoder::getInstance().decodeAddress(addr);
|
||||
//xade->getNode(addr, n);
|
||||
n.channel = 0;
|
||||
n.bank = 0;
|
||||
return n;
|
||||
@@ -236,6 +239,7 @@ void flip_memory::load(tlm::tlm_generic_payload &trans)
|
||||
void flip_memory::refresh(unsigned int row)
|
||||
{
|
||||
// How many Bits have flipped?
|
||||
cout << "TEST=" << refr[row] << endl;
|
||||
sc_time deltaT = sc_time_stamp() - refr[row];
|
||||
|
||||
|
||||
|
||||
@@ -62,6 +62,12 @@ struct Dram: sc_module
|
||||
|
||||
IFPOW( MemorySpecification memSpec(MemSpecParser::getMemSpecFromXML(Configuration::getInstance().memspecUri)) );
|
||||
IFPOW( DRAMPower = new libDRAMPower( memSpec, 0 ) );
|
||||
cout << "StorageMode = " << StorageMode << endl;
|
||||
|
||||
if(StorageMode == 2)
|
||||
{
|
||||
fmemory = new flip_memory[Configuration::getInstance().memSpec.NumberOfBanks];
|
||||
}
|
||||
}
|
||||
|
||||
~Dram()
|
||||
@@ -70,16 +76,16 @@ struct Dram: sc_module
|
||||
IFPOW( DRAMPower->calcEnergy() );
|
||||
IFPOW( cout << endl << endl << "Total Energy" << "\t" << DRAMPower->getEnergy().total_energy << endl);
|
||||
IFPOW( cout << "Average Power" << "\t" << DRAMPower->getPower().average_power << endl );
|
||||
for(int b = 0; b < 8; b++)
|
||||
cout << "BIT_ERRORS Bank: " <<b <<"="<< fmemory[b].BIT_ERR << endl;
|
||||
if(StorageMode == 2)
|
||||
{
|
||||
for(int b = 0; b < 8; b++)
|
||||
{
|
||||
cout << "BIT_ERRORS Bank: " <<b <<"="<< fmemory[b].BIT_ERR << endl;
|
||||
}
|
||||
}
|
||||
//cout << "Simulation finished!!!" << endl; // TODO Aufrauemen!
|
||||
//delete fmemory; // TODO Testen!
|
||||
//std::cout << "Simulated Memory Size: " << memory.size() << endl; // TODO Aufrauemen
|
||||
|
||||
if(StorageMode == 2) // TODO Testen!
|
||||
{
|
||||
fmemory = new flip_memory[1]; // TODO number of banks!!
|
||||
}
|
||||
}
|
||||
|
||||
virtual tlm::tlm_sync_enum nb_transport_fw(tlm::tlm_generic_payload& payload, tlm::tlm_phase& phase, sc_time& delay)
|
||||
@@ -147,7 +153,7 @@ struct Dram: sc_module
|
||||
//SC_REPORT_WARNING ("DRAM", "Reading from an empty memory location.");
|
||||
}
|
||||
}
|
||||
else // use StorageMode
|
||||
else if(StorageMode == 2)// use StorageMode
|
||||
{
|
||||
fmemory[bank].load(payload);
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user