OpenASIP
2.0
|
#include <iostream>
#include <algorithm>
#include <boost/format.hpp>
#include "Application.hh"
#include "Machine.hh"
#include "Program.hh"
#include "SimulatorFrontend.hh"
#include "RegisterFile.hh"
#include "SimValue.hh"
#include "POMDisassembler.hh"
#include "DisassemblyFUPort.hh"
#include "Instruction.hh"
#include "Procedure.hh"
Go to the source code of this file.
Functions | |
void | tandemSimulate (TTAMachine::Machine &machine, TTAProgram::Program &program) |
int | main (int argc, char *argv[]) |
Implementation of a simulator that runs both compiled simulation and the interpretive (debugging) simulation in parallel and compares the execution to detect differences in the simulations, which indicate there's a missimulation bug in one or both of the engines.
Definition in file TTASimTandem.cc.
int main | ( | int | argc, |
char * | argv[] | ||
) |
Definition at line 123 of file TTASimTandem.cc.
References Exception::errorMessage(), Application::initialize(), TTAMachine::Machine::loadFromADF(), TTAProgram::Program::loadFromTPEF(), machine, program, and tandemSimulate().
void tandemSimulate | ( | TTAMachine::Machine & | machine, |
TTAProgram::Program & | program | ||
) |
Simulates the given program+machine in "tandem" with the two simulation engines.
Definition at line 55 of file TTASimTandem.cc.
References assert, SimulatorFrontend::compareState(), SimulatorFrontend::cycleCount(), Exception::errorMessage(), SimulatorFrontend::hasSimulationEnded(), SimulatorFrontend::isSimulationInitialized(), SimulatorFrontend::loadMachine(), SimulatorFrontend::loadProgram(), machine, program, SimulatorFrontend::setCompiledSimulationLeaveDirty(), SimulatorFrontend::setStaticCompilation(), SimulatorFrontend::SIM_COMPILED, SimulatorFrontend::SIM_NORMAL, SimulatorFrontend::step(), SimulatorFrontend::stopReason(), and SimulatorFrontend::stopReasonCount().
Referenced by main().