33 lines
700 B
C++
33 lines
700 B
C++
/*
|
|
* Utils.h
|
|
*
|
|
* Created on: Mar 10, 2014
|
|
* Author: jonny
|
|
*/
|
|
|
|
#ifndef UTILS_H_
|
|
#define UTILS_H_
|
|
|
|
#include <systemc.h>
|
|
#include <tlm.h>
|
|
#include "../../common/dramExtension.h"
|
|
#include "Command.h"
|
|
|
|
namespace core
|
|
{
|
|
|
|
sc_time getMinimalExecutionTime(Command command, tlm::tlm_generic_payload& payload);
|
|
sc_time getExecutionTime(Command command, tlm::tlm_generic_payload& payload);
|
|
|
|
sc_time getReadAccessTime();
|
|
sc_time getWriteAccessTime();
|
|
sc_time getDelayToMeetConstraint(sc_time previous, sc_time start, sc_time constraint);
|
|
|
|
enum Alignment {UP, DOWN};
|
|
const sc_time clkAlign(sc_time time, Alignment alignment = UP);
|
|
bool isClkAligned(sc_time time, sc_time clk);
|
|
|
|
|
|
}
|
|
#endif /* UTILS_H_ */
|