36#ifndef TTA_PROCESSOR_GENERATOR_HH
37#define TTA_PROCESSOR_GENERATOR_HH
52 class MachineImplementation;
60 class ICDecoderGeneratorPlugin;
63 class NetlistPortGroup;
65 class NetlistGenerator;
83 std::ostream& errorStream, std::ostream& warningStream,
84 std::ostream& verboseStream);
101 std::ostream& warningStream);
108 int imemWidthInMAUs,
const std::string& dstDirectory,
112 const std::string& dstDirectory);
IDF::MachineImplementation * implementation
the implementation definition of the estimated processor
TTAMachine::Machine * machine
the architecture definition of the estimated processor
static MachInfoCmdLineOptions options
const ProGeContext & generatorContext() const
static int iMemWidth(const TTAMachine::Machine &mach, int imemWidthInMAUs)
void generateGCUOpcodesPackage(HDL language, const TTAMachine::Machine &machine, const std::string &dstDirectory)
virtual ~ProcessorGenerator()
void generateGlobalsPackage(HDL language, const TTAMachine::Machine &machine, int imemWidthInMAUs, const std::string &dstDirectory, ICDecoderGeneratorPlugin &plugin)
void validateMachine(const TTAMachine::Machine &machine, std::ostream &errorStream, std::ostream &warningStream)
ProGeContext * generatorContext_
TCEString entityName() const
static std::string coreIdString(int i)
NetlistBlock * coreTopBlock_
void checkIULatencies(const TTAMachine::Machine &machine, const IDF::MachineImplementation &implementation, const ICDecoderGeneratorPlugin &plugin)
static void removeUnconnectedSockets(TTAMachine::Machine &machine, std::ostream &warningStream)
const NetlistBlock & processorTopLevel() const
static int iMemAddressWidth(const TTAMachine::Machine &mach)
void generateProcessor(const ProGeOptions &options, const TTAMachine::Machine &machine, const IDF::MachineImplementation &implementation, ICDecoderGeneratorPlugin &plugin, int imemWidthInMAUs, std::ostream &errorStream, std::ostream &warningStream, std::ostream &verboseStream)
static const NetlistPortGroup * instructionBus(NetlistBlock &block)
static const TCEString DEFAULT_ENTITY_STR
HDL
HDLs supported by ProGe.