Go to the documentation of this file.
33 #ifndef TTA_MACHINE_VALIDATOR_HH
34 #define TTA_MACHINE_VALIDATOR_HH
82 const std::set<ErrorCode>& errorsToCheck)
const;
void checkGCUHasAddressSpace(MachineValidatorResults &results) const
@ IMEM_ADDR_WIDTH_DIFFERS_FROM_RA_AND_PC
Instruction memory address width differs from PC/RA port width.
TTAMachine::Machine * machine
the architecture definition of the estimated processor
@ GCU_MISSING
GCU missing in machine.
const TTAMachine::Machine & machine_
The machine to validate.
@ USED_IO_NOT_BOUND
Pipeline uses an IO which is not bound.
MachineValidator(const TTAMachine::Machine &machine)
@ PC_PORT_MISSING
PC port missing in GCU.
void checkIMemAddrWidth(MachineValidatorResults &results) const
@ FU_PORT_MISSING
FU is missing ports.
@ GCU_AS_MISSING
Address space missing in GCU.
@ PC_AND_RA_PORTS_HAVE_UNEQUAL_WIDTH
RA and PC ports have unequal width.
void checkRAPortHasSameWidthAsPCPort(MachineValidatorResults &results) const
@ DIFFERENT_PORT_FOR_JUMP_AND_CALL
JUMP and CALL uses different port in GCU.
ErrorCode
Error codes for different errors.
void checkReturnAddressPort(MachineValidatorResults &results) const
void checkGCUExists(MachineValidatorResults &results) const
@ RA_PORT_MISSING
RA port missing in GCU.
MachineValidatorResults * validate(const std::set< ErrorCode > &errorsToCheck) const
void checkProgramCounterPort(MachineValidatorResults &results) const
virtual ~MachineValidator()
void checkJumpAndCallOperandBindings(MachineValidatorResults &results) const
@ FU_NO_VALID_OPERATIONS
FU has no operations with a trigger.
void checkOperandBindings(MachineValidatorResults &results) const
void checkFUConnections(MachineValidatorResults &results) const