32#ifndef TTA_EXECUTION_TRACE_HH
33#define TTA_EXECUTION_TRACE_HH
40#include "boost/tuple/tuple.hpp"
102 typedef boost::tuple<
112 typedef boost::tuple<OperationID, OperationTriggerCount>
126 const std::string& procedureName);
138 const std::vector<MAU>* data = NULL);
UInt32 InstructionAddress
CycleCount ClockCycleCount
Alias for ClockCycleCount.
void addBasicBlockStart(ClockCycleCount cycle, InstructionAddress address)
SimValue MAU
a type for storing data of size of the minimum addressable unit
void addLockedCycle(ClockCycleCount cycle)
RelationalDB * db_
Handle to the sqlite trace database.
void addFunctionUnitOperationTriggerCount(FunctionUnitID functionUnit, OperationID operation, OperationTriggerCount count)
std::list< ConcurrentRFAccessCount > ConcurrentRFAccessCountList
type to be used for a list of concurrent RF accesses
std::string OperationID
a type for storing operation identifiers
ProcedureEntryType
a type for storing procedure entry type (entry/exit)
@ PT_ENTRY
procedure entry
void addProcedureExit(ClockCycleCount cycle, InstructionAddress address)
void addConcurrentRegisterFileAccessCount(RegisterFileID registerFile, RegisterAccessCount reads, RegisterAccessCount writes, ClockCycleCount count)
virtual ~ExecutionTrace()
ClockCycleCount OperationTriggerCount
a type for operation trigger counts
void addProcedureTransfer(ClockCycleCount cycle, InstructionAddress address, InstructionAddress sourceAddress, ProcedureEntryType type)
boost::tuple< RegisterAccessCount, RegisterAccessCount, ClockCycleCount > ConcurrentRFAccessCount
type to be used as a key for storing concurrent RF access info
InstructionExecution * instructionExecution_
Handle object for the queries of instruction executions.
void addMemoryAccess(ClockCycleCount cycle, const AddressSpaceID &addressSpace, MemoryAddress address, bool write, std::size_t size, const std::vector< MAU > *data=NULL)
std::string AddressSpaceID
a type for storing address space identifiers
std::fstream callTrace_
The call trace file.
std::string SocketID
a type for storing socket identifiers
InstructionExecution & instructionExecutions()
void addBusActivity(ClockCycleCount cycle, const BusID &busId, const SegmentID &segmentId, bool squash, const SimValue &data=NullSimValue::instance())
std::fstream instructionProfile_
The instruction profile file.
std::string FunctionUnitID
a type for storing function unit identifiers
bool readOnly_
Is the database access mode read-only?
void addProcedureAddressRange(InstructionAddress firstAddress, InstructionAddress lastAddress, const std::string &procedureName)
ClockCycleCount simulatedCycleCount() const
ConcurrentRFAccessCountList * registerFileAccessCounts(RegisterFileID registerFile) const
std::size_t RegisterAccessCount
a type for register access counts
void addBusWriteCount(BusID socket, ClockCycleCount count)
std::string RegisterFileID
a type for storing register file identifiers
void addInstructionExecutionCount(InstructionAddress address, ClockCycleCount count)
RelationalDBConnection * dbConnection_
Handle to the database connection;.
void addRegisterAccessCount(RegisterFileID registerFile, RegisterID registerIndex, ClockCycleCount reads, ClockCycleCount writes)
void addInstructionExecution(ClockCycleCount cycle, InstructionAddress address)
void setSimulatedCycleCount(ClockCycleCount count)
std::list< FUOperationTriggerCount > FUOperationTriggerCountList
type to be used for lists of function operation execution counts
ClockCycleCount socketWriteCount(SocketID socket) const
const std::string & fileName_
Filename of the trace database (sqlite file).
int RegisterID
a type for storing register ids
FUOperationTriggerCountList * functionUnitOperationTriggerCounts(FunctionUnitID functionUnit) const
std::string BusID
a type for storing bus identifiers
void addProcedureEntry(ClockCycleCount cycle, InstructionAddress address)
ClockCycleCount busWriteCount(BusID bus) const
void addSocketWriteCount(SocketID socket, ClockCycleCount)
std::string SegmentID
a type for storing bus segment identifiers
boost::tuple< OperationID, OperationTriggerCount > FUOperationTriggerCount
type to be used as a key for storing function unit operation execution counts
unsigned int MemoryAddress
a type for storing memory addresses
static SimValue & instance()