Now it is possible to disable refreshes from config.

This commit is contained in:
Éder F. Zulian
2015-09-15 14:58:11 +02:00
parent 7bfeac429b
commit 2ad738c514
5 changed files with 19 additions and 8 deletions

View File

@@ -5,6 +5,7 @@
<PowerAnalysis value="1" />
<NumberOfTracePlayers value="4"/>
<NumberOfMemChannels value="4"/>
<ControllerCoreDisableRefresh value="0"/>
</simconfig>
<memspecs>

View File

@@ -123,6 +123,8 @@ ControllerCore::~ControllerCore()
void ControllerCore::triggerRefresh(tlm::tlm_generic_payload& payload)
{
/* Refresh can be disabled for tests purpose */
if (config.ControllerCoreDisableRefresh == false) {
sc_time time = sc_time_stamp();
Bank bank = DramExtension::getExtension(payload).getBank();
@@ -134,6 +136,7 @@ void ControllerCore::triggerRefresh(tlm::tlm_generic_payload& payload)
powerDownManager->wakeUpForRefresh(bank, time); //expects PDNA and PDNP to exit without delay
refreshManager->scheduleRefresh(payload, time);
}
}
}
void ControllerCore::scheduleRequest(Command command, tlm::tlm_generic_payload &payload)

View File

@@ -121,6 +121,8 @@ void Configuration::setParameter(std::string name, std::string value)
NumberOfTracePlayers = string2int(value);
else if (name == "NumberOfMemChannels")
NumberOfMemChannels = string2int(value);
else if (name == "ControllerCoreDisableRefresh")
ControllerCoreDisableRefresh = string2bool(value);
// Specification for ErrorChipSeed, ErrorCSVFile path and ErrorStoreMode
else if(name == "ErrorChipSeed")
ErrorChipSeed = string2int(value);

View File

@@ -77,6 +77,7 @@ struct Configuration
bool Debug = false;
unsigned int NumberOfTracePlayers = 1;
unsigned int NumberOfMemChannels = 1;
bool ControllerCoreDisableRefresh = false;
//MemSpec(from DRAM-Power XML)
MemSpec memSpec;

View File

@@ -130,6 +130,7 @@ The XML code below shows a typic configuration:
<PowerAnalysis value="1"/>
<NumberOfTracePlayers value="5"/>
<NumberOfMemChannels value="1"/>
<ControllerCoreDisableRefresh value="0"/>
</simconfig>
<!-- Memory Specifications -->
@@ -226,6 +227,9 @@ Below are listed the configuration sections and configuration fields.
- Number of trace players
- *NumberOfMemChannels* (unsigned int)
- Number of memory channels
- *ControllerCoreDisableRefresh* (boolean)
- "1": disables refreshes
- "0": normal operation (refreshes enabled)
- **Memory specification**