33#ifndef TTA_MEMORY_GENERATOR_HH
34#define TTA_MEMORY_GENERATOR_HH
49 class FUImplementation;
80 class VirtualNetlistBlock;
111 std::vector<TCEString>& reasons)
const;
121 virtual std::vector<TCEString>
139 std::vector<std::string> lsuPorts);
145 typedef std::multimap<TCEString, HDLPort*>
PortMap;
147 typedef std::pair<ProGe::NetlistBlock*, ProGe::VirtualNetlistBlock*>
151 const std::string fuPort,
152 std::vector<TCEString>& reasons)
const;
TCEString memoryIndexString(int coreId, int memIndex) const
int memoryWidthInMaus() const
TCEString initializationFile() const
const HDLPort * portByKeyName(TCEString name) const
const TTAMachine::FunctionUnit & lsuArchitecture() const
TCEString portKeyName(const HDLPort *port) const
static const TCEString RESET_PORT
virtual std::vector< TCEString > generateComponentFile(TCEString outputPath)=0
TTAMachine::FunctionUnit * lsuArch_
static const TCEString CLOCK_PORT
const ProGe::Parameter & parameter(int index) const
std::ostream & warningStream()
void addLsu(TTAMachine::FunctionUnit &lsuArch, std::vector< std::string > lsuPorts)
virtual TCEString instanceName(int coreId, int memIndex) const =0
virtual TCEString moduleName() const =0
std::multimap< TCEString, HDLPort * > PortMap
const PlatformIntegrator * platformIntegrator() const
const HDLPort * port(int index) const
virtual bool generatesComponentHdlFile() const =0
virtual bool checkFuPort(const std::string fuPort, std::vector< TCEString > &reasons) const
void addParameter(const ProGe::Parameter &add)
std::pair< ProGe::NetlistBlock *, ProGe::VirtualNetlistBlock * > BlockPair
void addPort(const TCEString &name, HDLPort *port)
std::ostream & errorStream_
int memoryTotalWidth() const
virtual void addMemory(const ProGe::NetlistBlock &ttaCore, ProGe::NetlistBlock &integratorBlock, int memIndex, int coreId)
std::vector< std::string > lsuPorts_
bool hasLSUArchitecture() const
const PlatformIntegrator * integrator_
int parameterCount() const
std::ostream & warningStream_
std::ostream & errorStream()
virtual bool isCompatible(const ProGe::NetlistBlock &ttaCore, int coreId, std::vector< TCEString > &reasons) const
int memoryAddrWidth() const
virtual void connectPorts(ProGe::NetlistBlock &netlistBlock, const ProGe::NetlistPort &memPort, const ProGe::NetlistPort &corePort, bool inverted, int coreId)
virtual ~MemoryGenerator()
int memoryMauSize() const
TCEString corePortName(const TCEString &portBaseName, int coreId) const
TCEString templatePath() const
std::vector< ProGe::Parameter > ParameterList
void instantiateTemplate(const TCEString &inFile, const TCEString &outFile, const TCEString &entity) const
virtual MemoryGenerator::BlockPair createMemoryNetlistBlock(ProGe::NetlistBlock &integratorBlock, int memIndex, int coreId)
TCEString ttaCoreName() const