Go to the documentation of this file.
34 #ifndef TTA_ICDECODER_GENERATOR_PLUGIN_HH
35 #define TTA_ICDECODER_GENERATOR_PLUGIN_HH
53 class MachineImplementation;
61 class NetlistGenerator;
73 const std::string& description);
97 const std::string& destinationDirectory,
100 const std::string& entityString) = 0;
127 HDL language, std::ostream& pkgStream)
134 void setParameter(
const std::string& name,
const std::string& value);
144 const std::string& name,
145 const std::string& description);
172 #define EXPORT_ICDEC_GENERATOR(PLUGIN_NAME__) \
174 ICDecoderGeneratorPlugin*\
175 create_generator_plugin_##PLUGIN_NAME__(\
176 const TTAMachine::Machine& machine,\
177 const BinaryEncoding& bem) {\
178 PLUGIN_NAME__##Generator* instance = \
179 new PLUGIN_NAME__##Generator(machine, bem); \
182 void delete_generator_plugin_##PLUGIN_NAME__(\
183 ICDecoderGeneratorPlugin* target) {\
bool hasParameterSet(const std::string &name) const
virtual void verifyCompatibility() const =0
IDF::MachineImplementation * implementation
the implementation definition of the estimated processor
const BinaryEncoding & bem() const
const TTAMachine::Machine & machine_
The machine to generate.
void addParameter(const std::string &name, const std::string &description)
const BinaryEncoding & bem_
The binary encoding map.
std::string pluginDescription() const
std::string description_
Description of the plugin.
std::string recognizedParameter(int index) const
Direction
Direction of port.
void setParameter(const std::string &name, const std::string &value)
std::map< std::string, std::string > StringMap
Map type for strings.
virtual void readParameters()=0
ICDecoderGeneratorPlugin(const TTAMachine::Machine &machine, const BinaryEncoding &bem, const std::string &description)
virtual ~ICDecoderGeneratorPlugin()
virtual void generate(HDL language, const std::string &destinationDirectory, const NetlistGenerator &generator, const IDF::MachineImplementation &implementation, const std::string &entityString)=0
virtual std::set< int > requiredRFLatencies(const TTAMachine::ImmediateUnit &iu) const =0
std::string parameterValue(const std::string &name) const
std::string parameterDescription(const std::string ¶mName) const
StringMap parameterDescriptions_
Parameter descriptions.
static TTAMachine::Socket::Direction convertDirection(HDB::Direction direction)
StringMap parameterValues_
Parameters set.
HDL
HDLs supported by ProGe.
virtual void completeNetlist(NetlistBlock &netlistBlock, const NetlistGenerator &generator)=0
virtual void writeGlobalDefinitions(HDL language, std::ostream &pkgStream) const =0
int recognizedParameterCount() const
const TTAMachine::Machine & machine() const