34#ifndef COMPILED_SIM_CONTROLLER_HH
35#define COMPILED_SIM_CONTROLLER_HH
39#include <boost/shared_ptr.hpp>
58 bool leaveDirty=
false);
62 virtual void step(
double count = 1);
64 virtual void next(
int count = 1);
88 bool dynamicCompilation,
92 const std::string& rfName,
93 int registerIndex = -1);
96 const std::string& iuName,
int index = -1);
99 const std::string& fuName,
100 const std::string& portName);
UInt32 InstructionAddress
TTAMachine::Machine * machine
the architecture definition of the estimated processor
CycleCount ClockCycleCount
Alias for ClockCycleCount.
StopReason
The reasons to stop simulation.
std::map< InstructionAddress, InstructionAddress > AddressMap
A type for storing address-to-address combinations.
virtual void next(int count=1)
int instanceId_
The unique identifier for this simulation engine. Used for enabling multiple compiled engines in the ...
CompiledSimController & operator=(const CompiledSimController &)
Assignment not allowed.
ProcedureBBRelations procedureBBRelations_
A struct for tracking basic blocks and their relation to their procedures.
boost::shared_ptr< CompiledSimulation > simulation_
Pointer to the loaded simulation.
virtual ~CompiledSimController()
virtual InstructionAddress lastExecutedInstruction() const
CompiledSimulation *() SimulationGetterFunction(const TTAMachine::Machine &machine, InstructionAddress entryAddress, InstructionAddress lastInstruction, SimulatorFrontend &frontend, CompiledSimController &controller, MemorySystem &memorySystem, bool dynamicCompilation, ProcedureBBRelations &procedureBBRelations)
Function type for the getSimulation() function.
virtual void step(double count=1)
virtual boost::shared_ptr< CompiledSimulation > compiledSimulation()
virtual SimValue FUPortValue(const std::string &fuName, const std::string &portName)
virtual void deleteGeneratedFiles()
virtual void prepareToStop(StopReason reason)
CompiledSimController(const CompiledSimController &)
Copying not allowed.
bool leaveDirty_
True, if the simulation should leave all the generated code files.
virtual SimValue immediateUnitRegisterValue(const std::string &iuName, int index=-1)
const TTAProgram::Program & program() const
virtual ClockCycleCount clockCount() const
virtual std::string registerFileValue(const std::string &rfName, int registerIndex=-1)
virtual InstructionAddress programCounter() const
InstructionAddress basicBlockStart(InstructionAddress address) const
virtual void runUntil(UIntWord address)
std::string compiledSimulationPath_
Path to the generated simulation files.
PluginTools pluginTools_
Used for loading the compiled simulation plugin.
CompiledSimCodeGenerator::AddressMap basicBlocks_
A map containing the basic blocks' start..end pairs.
virtual SimulatorFrontend & frontend()
virtual MemorySystem & memorySystem(int coreId=-1)
A struct for tracking basic blocks and their relation to their procedures.