Go to the documentation of this file.
33 #ifndef CONFLICT_DETECTION_CODE_GENERATOR_HH
34 #define CONFLICT_DETECTION_CODE_GENERATOR_HH
std::string conflictDetectorExtraInitMethod_
A method to be called on the conflict detector for initialization, empty if none.
TTAMachine::Machine * machine
the architecture definition of the estimated processor
std::string detectConflicts(const TTAMachine::HWOperation &op)
ConflictDetectorObjectNameMap conflictDetectors_
The resource conflict detector object name for each FU if any.
const CompiledSimSymbolGenerator & symbolGen_
Symbol generator.
bool conflictDetectionEnabled() const
std::string conflictDetectorAdvanceCycle_
The method to be called on the conflict detector on cycle advance.
const TTAMachine::Machine & machine_
The machine.
virtual ~ConflictDetectionCodeGenerator()
ConflictDetectionCodeGenerator & operator=(const ConflictDetectionCodeGenerator &)
Assignment not allowed.
ConflictDetectionCodeGenerator(const TTAMachine::Machine &machine, const CompiledSimSymbolGenerator &, bool conflictDetectionEnabled=false)
std::string notifyOfConflicts()
std::map< std::string, std::string > ConflictDetectorObjectNameMap
1=fu.name(), 2=conflict detector object name
std::string conflictDetectorType_
The FU resource conflict detector used, empty string if disabled.
std::string updateSymbolDeclarations()
std::string symbolDeclaration(const TTAMachine::FunctionUnit &fu)
std::string conflictDetectorMethod_
The method in the resource conflict detector used to detect conflicts, empty string if disabled.
std::string advanceClockCode()
std::string extraInitialization()
bool conflictDetectionEnabled_
True, if the conflict detection is enabled.