Disable nlohmann json tests.

This commit is contained in:
Lukas Steiner
2020-09-24 14:20:04 +02:00
parent d35d039151
commit 6042e05ba2
2 changed files with 19 additions and 17 deletions

View File

@@ -45,7 +45,7 @@ set(DCMAKE_SH="CMAKE_SH-NOTFOUND")
add_subdirectory(src/common/third_party/DRAMPower)
# Add nlohmann:
set(JSON_BuildTests OFF)
set(JSON_BuildTests OFF CACHE INTERNAL "")
add_subdirectory(src/common/third_party/nlohmann)
# Add SystemC:

View File

@@ -71,8 +71,8 @@ Controller::Controller(sc_module_name name) :
memSpec = config.memSpec;
ranksNumberOfPayloads = std::vector<unsigned>(memSpec->numberOfRanks);
// reserve buffer for a least 100 command tuples
readyCommands.reserve(100);
// reserve buffer for command tuples
readyCommands.reserve(memSpec->numberOfBanks);
// instantiate timing checker
if (memSpec->memoryType == "DDR3")
@@ -274,28 +274,30 @@ void Controller::controllerMethod()
if (!readyCommands.empty())
{
commandTuple = cmdMux->selectCommand(readyCommands);
if (std::get<CommandTuple::Command>(commandTuple) != Command::NOP) // can happen with FIFO strict
Command command = std::get<CommandTuple::Command>(commandTuple);
tlm_generic_payload *payload = std::get<CommandTuple::Payload>(commandTuple);
if (command != Command::NOP) // can happen with FIFO strict
{
Rank rank = DramExtension::getRank(std::get<CommandTuple::Payload>(commandTuple));
BankGroup bankgroup = DramExtension::getBankGroup(std::get<CommandTuple::Payload>(commandTuple));
Bank bank = DramExtension::getBank(std::get<CommandTuple::Payload>(commandTuple));
Rank rank = DramExtension::getRank(payload);
BankGroup bankgroup = DramExtension::getBankGroup(payload);
Bank bank = DramExtension::getBank(payload);
if (isRankCommand(std::get<CommandTuple::Command>(commandTuple)))
if (isRankCommand(command))
{
for (auto it : bankMachinesOnRank[rank.ID()])
it->updateState(std::get<CommandTuple::Command>(commandTuple));
it->updateState(command);
}
else
bankMachines[bank.ID()]->updateState(std::get<CommandTuple::Command>(commandTuple));
bankMachines[bank.ID()]->updateState(command);
refreshManagers[rank.ID()]->updateState(std::get<CommandTuple::Command>(commandTuple));
powerDownManagers[rank.ID()]->updateState(std::get<CommandTuple::Command>(commandTuple));
checker->insert(std::get<CommandTuple::Command>(commandTuple), rank, bankgroup, bank);
refreshManagers[rank.ID()]->updateState(command);
powerDownManagers[rank.ID()]->updateState(command);
checker->insert(command, rank, bankgroup, bank);
if (isCasCommand(std::get<CommandTuple::Command>(commandTuple)))
if (isCasCommand(command))
{
scheduler->removeRequest(std::get<CommandTuple::Payload>(commandTuple));
respQueue->insertPayload(std::get<CommandTuple::Payload>(commandTuple), memSpec->getIntervalOnDataStrobe(std::get<CommandTuple::Command>(commandTuple)).end);
scheduler->removeRequest(payload);
respQueue->insertPayload(payload, memSpec->getIntervalOnDataStrobe(command).end);
sc_time triggerTime = respQueue->getTriggerTime();
if (triggerTime != sc_max_time())
@@ -306,7 +308,7 @@ void Controller::controllerMethod()
if (ranksNumberOfPayloads[rank.ID()] == 0)
powerDownManagers[rank.ID()]->triggerEntry();
sendToDram(std::get<CommandTuple::Command>(commandTuple), std::get<CommandTuple::Payload>(commandTuple));
sendToDram(command, payload);
}
else
readyCmdBlocked = true;