Go to the documentation of this file.
34 #ifndef TTA_MACHINE_STATE_BUILDER_HH
35 #define TTA_MACHINE_STATE_BUILDER_HH
75 bool throwWhenConflict=
true);
virtual ~MachineStateBuilder()
TTAMachine::Machine * machine
the architecture definition of the estimated processor
void addVirtualOpcodeSettingPortsToFU(MachineState &machineState, FUState &state, TTAMachine::FunctionUnit &unit)
std::map< std::string, FUResourceConflictDetector * > FUConflictDetectorIndex
void bindPortsToOperands(OperationExecutor &executor, TTAMachine::HWOperation &hwOperation, MachineState &machineState, FUState &state, TTAMachine::FunctionUnit &unit)
MachineStateBuilder(bool detailedSimulationModel=false)
bool throwWhenConflict_
True in case the built model should throw an exception in case of a resource conflict.
MachineState * buildMachineState(const TTAMachine::Machine &machine, MemorySystem &memSys, StateLocator &locator)
MachineStateBuilder & operator=(const MachineStateBuilder &)
Assignment not allowed.
bool detailedSimulationModel_
Set to true in case should build a detailed model which simulates FU stages, possibly with an externa...
MachineState * build(const TTAMachine::Machine &machine, MemorySystem &memSys)
FUConflictDetectorIndex * detectors_
The FU resource conflict detectors. They are needed while building the machine state model.
void addPortToFU(MachineState *machineState, TTAMachine::BaseFUPort *port, FUState *state, TTAMachine::FunctionUnit *fu, StateLocator &locator)