33#ifndef TTA_MACHINE_IMPLEMENTATION_HH
34#define TTA_MACHINE_IMPLEMENTATION_HH
49class UnitImplementationLocation;
85 const std::string& name,
const std::string& value);
104 const std::string& socket)
const;
132 size_t& missingFiles,
133 size_t& alternativeFiles);
135 const std::string& path,
136 std::string& resolvedPath);
188 const std::vector<std::string>& primarySearchPaths,
189 const std::vector<std::string>& secondarySearchPaths,
193 const std::vector<std::string>& searchPaths,
197 const std::string& unitName)
const;
IDF::MachineImplementation * implementation
the implementation definition of the estimated processor
bool hasICDecoderPluginName() const
BusImplementationLocation & busImplementation(const std::string &bus) const
std::vector< std::string > missingFiles_
Implementation files defined in IDF which cannot be located.
ImplementationTable iuImplementations_
IU implementations.
void removeFuGeneration(const std::string &name)
void addSocketImplementation(SocketImplementationLocation *implementation)
std::string icDecoderPluginName() const
void setICDecoderParameter(const std::string &name, const std::string &value)
void removeFUImplementation(const std::string &unitName)
static const std::string OSKEY_DECOMPRESSOR_FILE
ObjectState attribute key for the name of the decompressor file.
void addBusImplementation(BusImplementationLocation *implementation)
void setICDecoderHDB(const std::string &file)
void setICDecoderPluginFile(const std::string &file)
static const std::string OSNAME_IC_DECODER_PLUGIN
ObjectState name for the name of the IC/decoder plugin file.
void addIUImplementation(RFImplementationLocation *implementation)
static const std::string OSKEY_IC_DECODER_HDB
ObjectState attribute name for ic&decoder HDB.
void addRFImplementation(RFImplementationLocation *implementation)
SocketImplementationLocation & socketImplementation(const std::string &socket) const
void clearICDecoderParameters()
std::vector< Parameter > icDecoderParameters_
IC/decoder plugin parameters.
std::string icDecoderHDB() const
std::string sourceIDF() const
int busImplementationCount() const
int socketImplementationCount() const
RFImplementationLocation & iuImplementation(const std::string &iu) const
static const std::string OSKEY_SOURCE_IDF
ObjectState attribute name for the source IDF.
ImplementationTable socketImplementations_
SOCKET implementations.
RFImplementationLocation & rfImplementation(const std::string &rf) const
UnitImplementationLocation * findImplementation(const ImplementationTable &table, const std::string &unitName) const
ImplementationTable busImplementations_
BUS implementations.
static const std::string OSNAME_IU_IMPLEMENTATIONS
ObjectState name for IU implementation container.
std::string decompressorFile_
Name of the decompressor block file.
bool checkImplFiles(size_t &missingFiles, size_t &alternativeFiles)
std::string icDecoderPluginName_
Name of the IC/decoder plugin.
std::string icDecoderPluginFile_
Name of the IC/decoder plugin file.
bool hasIUImplementation(const std::string &unitName) const
virtual ~MachineImplementation()
void makeImplFilesRelative(const std::vector< std::string > &sPaths)
FUImplementationLocation & fuImplementation(const std::string &fu) const
std::string sourceIDF_
Absolute path to the source IDF file.
static const std::string OSKEY_IC_DECODER_NAME
ObjectState attribute name for ic&decoder name.
virtual void loadState(const ObjectState *state)
int fuImplementationCount() const
void removeIUImplementation(const std::string &unitName)
void setDecompressorFile(const std::string &file)
unsigned icDecoderParameterCount() const
bool hasFUGeneration(const std::string &name) const
static const std::string OSNAME_MACHINE_IMPLEMENTATION
ObjectState name for machine implementation.
ImplementationTable fuImplementations_
FU implementations.
ImplementationTable rfImplementations_
RF implementations.
void makeHDBPathRelative(const std::vector< std::string > &searchPaths, UnitImplementationLocation &implem) const
std::string icDecoderPluginFile() const
static const std::string OSNAME_BUS_IMPLEMENTATIONS
ObjectState name for bus implementation container.
std::string decompressorFile() const
bool hasRFImplementation(const std::string &unitName) const
std::string icDecoderHDB_
Name of the HDB of the IC/decoder plugin.
std::vector< UnitImplementationLocation * > ImplementationTable
Vector type for UnitImplementationLocation.
std::string icDecoderParameterValue(const std::string &name) const
static MachineImplementation * loadFromIDF(const std::string &idfFileName)
std::vector< FUGenerated > fuGenerated_
Generated FUs.
std::string icDecoderParameterName(unsigned param) const
bool checkImplFile(const std::vector< std::string > &primarySearchPaths, const std::vector< std::string > &secondarySearchPaths, std::string &file)
static const std::string OSNAME_FU_GENERATED
ObjectState name for FU generations container.
void ensureIndexValidity(int index, const ImplementationTable &table) const
const std::vector< FUGenerated > & FUGenerations() const
void removeRFImplementation(const std::string &unitName)
static const std::string OSKEY_IC_DECODER_FILE
ObjectState attribute name for ic&decoder file.
void addFUImplementation(FUImplementationLocation *implementation)
virtual ObjectState * saveState() const
void removeSocketImplementation(const std::string &unitName)
static const std::string OSNAME_IC_DECODER_PARAMETER
ObjectState attribute name for ic&decoder parameter.
bool hasBusImplementation(const std::string &busName) const
void removeBusImplementation(const std::string &unitName)
static const std::string OSNAME_SOCKET_IMPLEMENTATIONS
ObjectState name for socket implementation container.
static const std::string OSKEY_IC_DECODER_PARAMETER_NAME
ObjectState attribute name for ic&decoder parameter name.
bool hasSocketImplementation(const std::string &socketName) const
static const std::string OSNAME_RF_IMPLEMENTATIONS
ObjectState name for RF implementation container.
std::vector< std::string > alternativeFiles_
Possible alternative file paths for missing implementation files.
bool hasDecompressorFile() const
void setICDecoderPluginName(const std::string &name)
int iuImplementationCount() const
static const std::string OSNAME_FU_IMPLEMENTATIONS
ObjectState name for FU implementation container.
bool hasICDecoderPluginFile() const
int rfImplementationCount() const
bool hasICDecoderHDB() const
static const std::string OSKEY_IC_DECODER_PARAMETER_VALUE
ObjectState attribute name for ic&decoder parameter value.
bool hasFUImplementation(const std::string &unitName) const
void addFuGeneration(const FUGenerated &fug)
IC/Decoder parameter struct.