Go to the documentation of this file.
34 #ifndef SIMULATION_CONTROLLER_HH
35 #define SIMULATION_CONTROLLER_HH
53 bool fuResourceConflictDetection =
true,
54 bool detailedSimulation =
false);
58 virtual void step(
double count = 1);
60 virtual void next(
int count = 1);
74 const std::string& rfName,
75 int registerIndex = -1);
78 const std::string& iuName,
int index = -1);
81 const std::string& fuName,
82 const std::string& portName);
virtual SimValue immediateUnitRegisterValue(const std::string &iuName, int index=-1)
SimulationController(SimulatorFrontend &frontend, const TTAMachine::Machine &machine, const TTAProgram::Program &program, bool fuResourceConflictDetection=true, bool detailedSimulation=false)
UInt32 InstructionAddress
TTAMachine::Machine * machine
the architecture definition of the estimated processor
void findExitPoints(const TTAProgram::Program &program, const TTAMachine::Machine &machine)
virtual void runUntil(UIntWord address)
SimulationController & operator=(const SimulationController &)
Assignment not allowed.
virtual void next(int count=1)
void buildFUResourceConflictDetectors(const TTAMachine::Machine &machine)
virtual InstructionAddress programCounter() const
MachineState & selectedMachineState()
virtual SimValue FUPortValue(const std::string &fuName, const std::string &portName)
std::vector< InstructionMemory * > instructionMemories_
The instruction memory models of cores.
InstructionMemory & selectedInstructionMemory()
std::vector< FUResourceConflictDetector * > conflictDetectorVector_
Resource conflict detectors in a more quickly traversed container.
virtual bool simulateCycle()
virtual SimulatorFrontend & frontend()
MultiCoreFUConflictDetectorIndex fuConflictDetectors_
The FU resource conflict detectors used to detect conflicts during simulation.
virtual void step(double count=1)
std::vector< MachineState * > MachineStateContainer
virtual ~SimulationController()
MachineStateContainer machineStates_
The machine state models for the simulated cores.
virtual const InstructionMemory & instructionMemory(int core=-1) const
find Finds info of the inner loops in the program
virtual MachineState & machineState(int core=-1)
virtual std::string registerFileValue(const std::string &rfName, int registerIndex=-1)
std::vector< FUConflictDetectorIndex > MultiCoreFUConflictDetectorIndex
std::vector< InstructionAddress > tmpExecutedInstructions_
Temporary place for lastExecuted Instruction.