Transaction-Level Modeling Framework for Space Applications
#include <profiler.hpp>
Public Member Functions | |
Profiler (ABIIf< issueWidth > &processorInstance, std::string execName, bool disableFunctionProfiling) | |
~Profiler () | |
void | printCsvStats (std::string fileName) |
Prints the compuated statistics in the form of a csv file. More... | |
bool | newIssue (const issueWidth &curPC, const InstructionBase *curInstr) throw () |
Function called by the processor at every new instruction issue. More... | |
bool | emptyPipeline (const issueWidth &curPC) const throw () |
void | addIgnoredFunction (std::string &toIgnore) |
void | addIgnoredFunctions (const std::set< std::string > &toIgnore) |
void | setProfilingRange (const issueWidth &lowerAddr, const issueWidth &higherAddr) |
Public Member Functions inherited from trap::ToolsIf< issueWidth > | |
virtual | ~ToolsIf () |
Profiler: it keeps track of many runtime statistics on:
|
inline |
|
inline |
|
inline |
|
inline |
|
inlinevirtual |
Since the profiler does not perform any modification to the registers and it does not use any registers but the current program counter, it does not need the pipeline to be emptys
Implements trap::ToolsIf< issueWidth >.
|
inlinevirtual |
Function called by the processor at every new instruction issue.
Implements trap::ToolsIf< issueWidth >.
|
inline |
Prints the compuated statistics in the form of a csv file.
References trap::ProfInstruction::printCsvHeader(), trap::ProfFunction::printCsvHeader(), and trap::ProfInstruction::printCsvSummary().
|
inline |