28 lines
787 B
C++
28 lines
787 B
C++
/*
|
|
* PrechargeChecker.cpp
|
|
*
|
|
* Created on: Mar 13, 2014
|
|
* Author: jonny
|
|
*/
|
|
|
|
#include "PrechargeChecker.h"
|
|
|
|
namespace core {
|
|
|
|
void PrechargeChecker::delayToSatisfyConstraints(ScheduledCommand& command) const
|
|
{
|
|
sc_assert(command.getCommand() == Command::Precharge || command.getCommand() == Command::PrechargeAll);
|
|
ScheduledCommand lastCommandOnBank = state.getLastCommand(command.getBank());
|
|
if(lastCommandOnBank.isValidCommand())
|
|
sc_assert(command.getStart() >= state.getLastCommand(command.getBank()).getStart());
|
|
}
|
|
|
|
sc_time PrechargeChecker::getExecutionTime(const tlm::tlm_generic_payload& payload,
|
|
Command command) const
|
|
{
|
|
sc_assert(command == Command::Precharge || command == Command::PrechargeAll);
|
|
return config.Timings.tRP;
|
|
}
|
|
|
|
} /* namespace controller */
|