OpenASIP  2.0
Public Member Functions | Protected Member Functions | Private Attributes | Static Private Attributes | List of all members
AvalonIntegrator Class Reference

#include <AvalonIntegrator.hh>

Inheritance diagram for AvalonIntegrator:
Inheritance graph
Collaboration diagram for AvalonIntegrator:
Collaboration graph

Public Member Functions

 AvalonIntegrator ()
 
 AvalonIntegrator (const TTAMachine::Machine *machine, const IDF::MachineImplementation *idf, ProGe::HDL hdl, TCEString progeOutputDir, TCEString coreEntityName, TCEString outputDir, TCEString programName, int targetClockFreq, std::ostream &warningStream, std::ostream &errorStream, const MemInfo &imem, MemType dmemType)
 
virtual ~AvalonIntegrator ()
 
virtual TCEString deviceFamily () const
 
virtual void setDeviceFamily (TCEString devFamily)
 
virtual TCEString devicePackage () const
 
virtual TCEString deviceSpeedClass () const
 
virtual int targetClockFrequency () const
 
virtual void printInfo (std::ostream &stream) const
 
- Public Member Functions inherited from AlteraIntegrator
 AlteraIntegrator ()
 
 AlteraIntegrator (const TTAMachine::Machine *machine, const IDF::MachineImplementation *idf, ProGe::HDL hdl, TCEString progeOutputDir, TCEString entityName, TCEString outputDir, TCEString programName, int targetClockFreq, std::ostream &warningStream, std::ostream &errorStream, const MemInfo &imem, MemType dmemType)
 
virtual ~AlteraIntegrator ()
 
virtual void integrateProcessor (const ProGe::NetlistBlock *progeBlock)
 
- Public Member Functions inherited from PlatformIntegrator
 PlatformIntegrator ()
 
 PlatformIntegrator (const TTAMachine::Machine *machine, const IDF::MachineImplementation *idf, ProGe::HDL hdl, TCEString progeOutputDir, TCEString coreEntityName, TCEString outputDir, TCEString programName, int targetClockFreq, std::ostream &warningStream, std::ostream &errorStream, const MemInfo &imem, MemType dmemType)
 
virtual ~PlatformIntegrator ()
 
void setDeviceName (TCEString devName)
 
TCEString deviceName () const
 
const ProGe::NetlistBlockprogeBlock () const
 
const ProGe::NetlistBlocktoplevelBlock () const
 
void setSharedOutputDir (const TCEString &sharedDir)
 
TCEString outputPath () const
 
TCEString outputFilePath (TCEString fileName, bool absolute=false) const
 
TCEString coreEntityName () const
 
const TTAMachine::Machinemachine () const
 
const IDF::MachineImplementationidf () const
 
const MemInfoimemInfo () const
 
const MemInfodmemInfo (TTAMachine::AddressSpace *as) const
 
const MemInfodmemInfo (int index) const
 
int dmemCount () const
 
ProGe::NetlistPortclockPort () const
 
ProGe::NetlistPortresetPort () const
 

Protected Member Functions

virtual TCEString pinTag () const
 
virtual bool chopTaggedSignals () const
 
virtual ProjectFileGeneratorprojectFileGenerator () const
 
- Protected Member Functions inherited from AlteraIntegrator
virtual MemoryGeneratorimemInstance (MemInfo imem, int coreId)
 
virtual MemoryGeneratordmemInstance (MemInfo dmem, TTAMachine::FunctionUnit &lsuArch, std::vector< std::string > lsuPorts)
 
- Protected Member Functions inherited from PlatformIntegrator
ProGe::NetlistBlockintegratorBlock ()
 
virtual void initPlatformNetlist (const ProGe::NetlistBlock *progeBlock)
 
virtual bool integrateCore (const ProGe::NetlistBlock &cores, int coreId)
 
virtual void exportUnconnectedPorts (int coreId)
 
virtual void connectToplevelPort (const ProGe::NetlistPort &corePort, const TCEString signalPrefix="")
 
virtual bool hasPinTag (const TCEString &signal) const
 
void copyProgeBlockToNetlist (const ProGe::NetlistBlock *progeBlock)
 
virtual bool createMemories (int coreId)
 
virtual bool generateMemory (MemoryGenerator &memGen, std::vector< TCEString > &generatedFiles, int memIndex, int coreId)
 
virtual void writeNewToplevel ()
 
void addProGeFiles () const
 
TCEString programName () const
 
TCEString progeFilePath (TCEString fileName, bool absolute=false) const
 
TCEString chopSignalToTag (const TCEString &original, const TCEString &tag) const
 
void progeOutputHdlFiles (std::vector< TCEString > &files) const
 
std::ostream & warningStream () const
 
std::ostream & errorStream () const
 
TCEString platformEntityName () const
 
void parseDataMemories ()
 
void clearDataMemories ()
 
MemInfo readLsuParameters (const TTAMachine::FunctionUnit &lsu)
 

Private Attributes

ProjectFileGeneratorsopcGenerator_
 
TCEString deviceFamily_
 

Static Private Attributes

static const TCEString DEFAULT_DEVICE_FAMILY_ = "Stratix II"
 

Additional Inherited Members

- Static Protected Attributes inherited from PlatformIntegrator
static const TCEString TTA_CORE_CLK = "clk"
 
static const TCEString TTA_CORE_RSTX = "rstx"
 

Detailed Description

Definition at line 39 of file AvalonIntegrator.hh.

Constructor & Destructor Documentation

◆ AvalonIntegrator() [1/2]

AvalonIntegrator::AvalonIntegrator ( )

Definition at line 40 of file AvalonIntegrator.cc.

40  :
42 }

◆ AvalonIntegrator() [2/2]

AvalonIntegrator::AvalonIntegrator ( const TTAMachine::Machine machine,
const IDF::MachineImplementation idf,
ProGe::HDL  hdl,
TCEString  progeOutputDir,
TCEString  coreEntityName,
TCEString  outputDir,
TCEString  programName,
int  targetClockFreq,
std::ostream &  warningStream,
std::ostream &  errorStream,
const MemInfo imem,
MemType  dmemType 
)

Definition at line 44 of file AvalonIntegrator.cc.

56  :
57  AlteraIntegrator(machine, idf, hdl, progeOutputDir, coreEntityName,
58  outputDir, programName, targetClockFreq, warningStream,
59  errorStream, imem, dmemType),
62 }

◆ ~AvalonIntegrator()

AvalonIntegrator::~AvalonIntegrator ( )
virtual

Definition at line 65 of file AvalonIntegrator.cc.

65  {
66 
67  if (sopcGenerator_ != NULL) {
68  delete sopcGenerator_;
69  }
70 }

References sopcGenerator_.

Member Function Documentation

◆ chopTaggedSignals()

bool AvalonIntegrator::chopTaggedSignals ( ) const
protectedvirtual

Implements PlatformIntegrator.

Definition at line 99 of file AvalonIntegrator.cc.

99  {
100 
101  return false;
102 }

◆ deviceFamily()

TCEString AvalonIntegrator::deviceFamily ( ) const
virtual

Returns the FPGA device family

Implements PlatformIntegrator.

Definition at line 113 of file AvalonIntegrator.cc.

113  {
114 
115  return deviceFamily_;
116 }

References deviceFamily_.

◆ devicePackage()

TCEString AvalonIntegrator::devicePackage ( ) const
virtual

Returns the device package name

Implements PlatformIntegrator.

Definition at line 127 of file AvalonIntegrator.cc.

127  {
128  return "";
129 }

◆ deviceSpeedClass()

TCEString AvalonIntegrator::deviceSpeedClass ( ) const
virtual

Returns the device speed class

Implements PlatformIntegrator.

Definition at line 132 of file AvalonIntegrator.cc.

132  {
133  return "";
134 }

◆ pinTag()

TCEString AvalonIntegrator::pinTag ( ) const
protectedvirtual

Implements PlatformIntegrator.

Definition at line 92 of file AvalonIntegrator.cc.

92  {
93 
94  return "avalon_d";
95 }

◆ printInfo()

void AvalonIntegrator::printInfo ( std::ostream &  stream) const
virtual

Prints information about the platform

Implements PlatformIntegrator.

Definition at line 73 of file AvalonIntegrator.cc.

73  {
74 
75  stream
76  << "Integrator name: AvalonIntegrator" << endl
77  << "---------------------------------" << endl
78  << "Creates a SOPC Builder component from TTA core." << endl
79  << "Processor must have avalon_lsu or avalon_sfu (from avalon.hdb) "
80  << "for correct behaviour." << endl
81  << "Supported instruction memory types are 'onchip' and 'vhdl_array."
82  << endl
83  << "If 'normal' lsu is used, supported data memory type is 'onchip'."
84  << endl
85  << "If avalon_lsu is used, data memory type must be 'none'." << endl
86  << "FPGA device family can be changed. Default device family is "
87  << DEFAULT_DEVICE_FAMILY_ << endl << endl;
88 }

References DEFAULT_DEVICE_FAMILY_.

◆ projectFileGenerator()

ProjectFileGenerator * AvalonIntegrator::projectFileGenerator ( ) const
protectedvirtual

Implements PlatformIntegrator.

Definition at line 106 of file AvalonIntegrator.cc.

106  {
107 
108  return sopcGenerator_;
109 }

References sopcGenerator_.

◆ setDeviceFamily()

void AvalonIntegrator::setDeviceFamily ( TCEString  devFamily)
virtual

Set the FPGA device family.

Intended for TTA IP integration. Integrator can device whether this overrides the default device family.

Implements PlatformIntegrator.

Definition at line 120 of file AvalonIntegrator.cc.

120  {
121 
122  deviceFamily_ = devFamily;
123 }

References deviceFamily_.

◆ targetClockFrequency()

int AvalonIntegrator::targetClockFrequency ( ) const
virtual

Returns the target clock frequency in MHz

Reimplemented from PlatformIntegrator.

Definition at line 137 of file AvalonIntegrator.cc.

137  {
138  return 1;
139 }

Member Data Documentation

◆ DEFAULT_DEVICE_FAMILY_

const TCEString AvalonIntegrator::DEFAULT_DEVICE_FAMILY_ = "Stratix II"
staticprivate

Definition at line 86 of file AvalonIntegrator.hh.

Referenced by printInfo().

◆ deviceFamily_

TCEString AvalonIntegrator::deviceFamily_
private

Definition at line 84 of file AvalonIntegrator.hh.

Referenced by deviceFamily(), and setDeviceFamily().

◆ sopcGenerator_

ProjectFileGenerator* AvalonIntegrator::sopcGenerator_
private

Definition at line 82 of file AvalonIntegrator.hh.

Referenced by projectFileGenerator(), and ~AvalonIntegrator().


The documentation for this class was generated from the following files:
PlatformIntegrator::coreEntityName
TCEString coreEntityName() const
Definition: PlatformIntegrator.cc:126
AvalonIntegrator::sopcGenerator_
ProjectFileGenerator * sopcGenerator_
Definition: AvalonIntegrator.hh:82
AvalonIntegrator::deviceFamily_
TCEString deviceFamily_
Definition: AvalonIntegrator.hh:84
PlatformIntegrator::idf
const IDF::MachineImplementation * idf() const
Definition: PlatformIntegrator.cc:304
PlatformIntegrator::machine
const TTAMachine::Machine * machine() const
Definition: PlatformIntegrator.cc:297
PlatformIntegrator::programName
TCEString programName() const
Definition: PlatformIntegrator.cc:133
PlatformIntegrator::warningStream
std::ostream & warningStream() const
Definition: PlatformIntegrator.cc:271
AlteraIntegrator::AlteraIntegrator
AlteraIntegrator()
Definition: AlteraIntegrator.cc:44
SOPCBuilderFileGenerator
Definition: SOPCBuilderFileGenerator.hh:45
PlatformIntegrator::errorStream
std::ostream & errorStream() const
Definition: PlatformIntegrator.cc:278
AvalonIntegrator::DEFAULT_DEVICE_FAMILY_
static const TCEString DEFAULT_DEVICE_FAMILY_
Definition: AvalonIntegrator.hh:86