OpenASIP
2.0
|
#include <SOPCBuilderFileGenerator.hh>
Public Member Functions | |
SOPCBuilderFileGenerator (TCEString toplevelEntity, const PlatformIntegrator *integrator) | |
virtual | ~SOPCBuilderFileGenerator () |
virtual void | writeProjectFiles () |
Public Member Functions inherited from ProjectFileGenerator | |
ProjectFileGenerator (TCEString coreEntity, const PlatformIntegrator *integrator) | |
virtual | ~ProjectFileGenerator () |
void | addHdlFile (const TCEString &file) |
void | addHdlFiles (const std::vector< TCEString > &files) |
void | addMemInitFile (const TCEString &memInit) |
void | addSignalMapping (const PlatInt::SignalMapping &mapping) |
Private Member Functions | |
int | countAvalonMMMasters () const |
void | createInterfaces () |
bool | handleAvalonSignal (const ProGe::NetlistPort &port) |
void | exportSignal (const ProGe::NetlistPort &port) |
void | writeModuleProperties (std::ostream &stream) |
void | writeGenerics (std::ostream &stream) |
void | writeFileList (std::ostream &stream) |
void | writeInterfaces (std::ostream &stream) const |
AvalonMMMasterInterface * | getMaster (const TCEString &fuName) |
Private Attributes | |
SOPCInterface * | clock_ |
SOPCInterface * | export_ |
std::map< TCEString, AvalonMMMasterInterface * > | masters_ |
Static Private Attributes | |
static const TCEString | HDB_AVALON_PREFIX = "avalon_d_" |
static const TCEString | SOPC_COMPONENT_FILE_TYPE |
static const TCEString | TTA_CLOCK_NAME = "clk" |
static const TCEString | TTA_RESET_NAME = "rstx" |
static const TCEString | SOPC_CLOCK_NAME = "clk" |
static const TCEString | SOPC_RESET_NAME = "reset_n" |
static const TCEString | SOPC_DEFAULT_GROUP = "User Logic" |
static const TCEString | SOPC_DEFAULT_VHDL_LIBS |
static const TCEString | SOPC_SET_MODULE_PROPERTY |
static const TCEString | SOPC_ADD_FILE |
static const TCEString | PI_DEVICE_FAMILY_GENERIC |
Additional Inherited Members | |
Protected Member Functions inherited from ProjectFileGenerator | |
const std::vector< TCEString > & | hdlFileList () const |
const std::vector< TCEString > & | memInitFileList () const |
const PlatformIntegrator * | integrator () const |
TCEString | coreEntity () const |
TCEString | toplevelEntity () const |
int | signalMappingCount () const |
const PlatInt::SignalMapping * | signalMapping (int index) const |
TCEString | extractFUName (const TCEString &port, const TCEString &delimiter) const |
Definition at line 45 of file SOPCBuilderFileGenerator.hh.
SOPCBuilderFileGenerator::SOPCBuilderFileGenerator | ( | TCEString | toplevelEntity, |
const PlatformIntegrator * | integrator | ||
) |
Definition at line 70 of file SOPCBuilderFileGenerator.cc.
References clock_, export_, ProGe::IN, SOPCInterface::name(), SOPCInterface::setPort(), SOPCInterface::setProperty(), SOPCInterface::SOPC_ASSOCIATED_CLOCK, SOPC_CLOCK_NAME, SOPC_RESET_NAME, TTA_CLOCK_NAME, and TTA_RESET_NAME.
|
virtual |
Definition at line 90 of file SOPCBuilderFileGenerator.cc.
References clock_, MapTools::deleteAllValues(), export_, and masters_.
|
private |
Counts how many Avalon MM Master interfaces toplevel netlis block has.
Avalon MM interface is recognised by the address port. Address signal in first of the 2 mandatory signals in Avalon MM interface. Direction of the address port determines whether it belongs to a master or slave interface.
Definition at line 147 of file SOPCBuilderFileGenerator.cc.
References AvalonMMMasterInterface::AVALON_MM_ADDRESS, ProGe::NetlistPort::direction(), HDB_AVALON_PREFIX, ProjectFileGenerator::integrator(), ProGe::NetlistPort::name(), ProGe::OUT, ProGe::NetlistBlock::port(), ProGe::NetlistBlock::portCount(), and PlatformIntegrator::toplevelBlock().
Referenced by writeProjectFiles().
|
private |
Definition at line 246 of file SOPCBuilderFileGenerator.cc.
References exportSignal(), handleAvalonSignal(), HDB_AVALON_PREFIX, ProjectFileGenerator::integrator(), ProGe::NetlistPort::name(), ProGe::NetlistBlock::port(), ProGe::NetlistBlock::portCount(), PlatformIntegrator::toplevelBlock(), TTA_CLOCK_NAME, and TTA_RESET_NAME.
Referenced by writeProjectFiles().
|
private |
Definition at line 299 of file SOPCBuilderFileGenerator.cc.
References ProGe::NetlistPort::direction(), export_, ProGe::NetlistPort::name(), ProGe::NetlistPort::realWidth(), ProGe::NetlistPort::realWidthAvailable(), SOPCInterface::setPort(), and SOPCInterface::SOPC_EXPORT_NAME.
Referenced by createInterfaces().
|
private |
Definition at line 334 of file SOPCBuilderFileGenerator.cc.
References assert, and masters_.
Referenced by handleAvalonSignal().
|
private |
Definition at line 267 of file SOPCBuilderFileGenerator.cc.
References AvalonMMMasterInterface::addPort(), clock_, MapTools::containsKey(), ProjectFileGenerator::extractFUName(), getMaster(), HDB_AVALON_PREFIX, AvalonMMMasterInterface::isValidPort(), masters_, ProGe::NetlistPort::name(), SOPCInterface::SOPC_MASTER_INT_DECLR, and SOPCInterface::SOPC_MASTER_INT_NAME.
Referenced by createInterfaces().
|
private |
Definition at line 230 of file SOPCBuilderFileGenerator.cc.
References ProjectFileGenerator::hdlFileList(), ProjectFileGenerator::memInitFileList(), and SOPC_ADD_FILE.
Referenced by writeProjectFiles().
|
private |
Definition at line 198 of file SOPCBuilderFileGenerator.cc.
References TCEString::endsWith(), ProjectFileGenerator::integrator(), TCEString::lower(), ProGe::Parameter::name(), ProGe::NetlistBlock::parameter(), ProGe::BaseNetlistBlock::parameterCount(), PI_DEVICE_FAMILY_GENERIC, TCEString::startsWith(), PlatformIntegrator::toplevelBlock(), ProGe::Parameter::type(), and ProGe::Parameter::value().
Referenced by writeProjectFiles().
|
private |
Definition at line 311 of file SOPCBuilderFileGenerator.cc.
References clock_, export_, SOPCInterface::hasPorts(), masters_, AvalonMMMasterInterface::writeInterface(), and SOPCInterface::writeInterface().
Referenced by writeProjectFiles().
|
private |
Definition at line 166 of file SOPCBuilderFileGenerator.cc.
References ProjectFileGenerator::integrator(), PlatformIntegrator::outputFilePath(), SOPC_DEFAULT_GROUP, SOPC_DEFAULT_VHDL_LIBS, SOPC_SET_MODULE_PROPERTY, and ProjectFileGenerator::toplevelEntity().
Referenced by writeProjectFiles().
|
virtual |
Implements ProjectFileGenerator.
Definition at line 103 of file SOPCBuilderFileGenerator.cc.
References countAvalonMMMasters(), createInterfaces(), outputFileName(), SOPC_COMPONENT_FILE_TYPE, ProjectFileGenerator::toplevelEntity(), writeFileList(), writeGenerics(), writeInterfaces(), and writeModuleProperties().
|
private |
Definition at line 75 of file SOPCBuilderFileGenerator.hh.
Referenced by handleAvalonSignal(), SOPCBuilderFileGenerator(), writeInterfaces(), and ~SOPCBuilderFileGenerator().
|
private |
Definition at line 76 of file SOPCBuilderFileGenerator.hh.
Referenced by exportSignal(), SOPCBuilderFileGenerator(), writeInterfaces(), and ~SOPCBuilderFileGenerator().
|
staticprivate |
Definition at line 80 of file SOPCBuilderFileGenerator.hh.
Referenced by countAvalonMMMasters(), createInterfaces(), and handleAvalonSignal().
|
private |
Definition at line 77 of file SOPCBuilderFileGenerator.hh.
Referenced by getMaster(), handleAvalonSignal(), writeInterfaces(), and ~SOPCBuilderFileGenerator().
|
staticprivate |
Definition at line 93 of file SOPCBuilderFileGenerator.hh.
Referenced by writeGenerics().
|
staticprivate |
Definition at line 91 of file SOPCBuilderFileGenerator.hh.
Referenced by writeFileList().
|
staticprivate |
Definition at line 85 of file SOPCBuilderFileGenerator.hh.
Referenced by SOPCBuilderFileGenerator().
|
staticprivate |
Definition at line 81 of file SOPCBuilderFileGenerator.hh.
Referenced by writeProjectFiles().
|
staticprivate |
Definition at line 88 of file SOPCBuilderFileGenerator.hh.
Referenced by writeModuleProperties().
|
staticprivate |
Definition at line 89 of file SOPCBuilderFileGenerator.hh.
Referenced by writeModuleProperties().
|
staticprivate |
Definition at line 86 of file SOPCBuilderFileGenerator.hh.
Referenced by SOPCBuilderFileGenerator().
|
staticprivate |
Definition at line 90 of file SOPCBuilderFileGenerator.hh.
Referenced by writeModuleProperties().
|
staticprivate |
Definition at line 83 of file SOPCBuilderFileGenerator.hh.
Referenced by createInterfaces(), and SOPCBuilderFileGenerator().
|
staticprivate |
Definition at line 84 of file SOPCBuilderFileGenerator.hh.
Referenced by createInterfaces(), and SOPCBuilderFileGenerator().