OpenASIP 2.2
Loading...
Searching...
No Matches
Public Member Functions | Protected Member Functions | Private Member Functions | Private Attributes | Static Private Attributes | List of all members
Stratix2DSPBoardIntegrator Class Reference

#include <Stratix2DSPBoardIntegrator.hh>

Inheritance diagram for Stratix2DSPBoardIntegrator:
Inheritance graph
Collaboration diagram for Stratix2DSPBoardIntegrator:
Collaboration graph

Public Member Functions

 Stratix2DSPBoardIntegrator ()
 
 Stratix2DSPBoardIntegrator (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 ~Stratix2DSPBoardIntegrator ()
 
virtual void integrateProcessor (const ProGe::NetlistBlock *ttaCore)
 
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 ()
 
- 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 MemoryGeneratordmemInstance (MemInfo dmem, TTAMachine::FunctionUnit &lsuArch, std::vector< std::string > lsuPorts)
 
virtual TCEString pinTag () const
 
virtual bool chopTaggedSignals () const
 
virtual ProjectFileGeneratorprojectFileGenerator () const
 
- Protected Member Functions inherited from AlteraIntegrator
virtual MemoryGeneratorimemInstance (MemInfo imem, int coreId)
 
- 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 tbFilePath (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 Member Functions

void generatePinMap ()
 
void mapToplevelPorts ()
 
void addSignalMapping (const TCEString &signal)
 

Private Attributes

QuartusProjectGeneratorquartusGen_
 
MemoryGeneratordmemGen_
 
PlatInt::PinMap stratix2Pins_
 

Static Private Attributes

static const TCEString DEVICE_FAMILY_ = "Stratix II"
 
static const TCEString DEVICE_NAME_
 
static const TCEString DEVICE_PACKAGE_ = "F1020"
 
static const TCEString DEVICE_SPEED_CLASS_ = "3"
 
static const TCEString PIN_TAG_ = "STRATIXII"
 
static const int DEFAULT_FREQ_ = 100
 

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 52 of file Stratix2DSPBoardIntegrator.hh.

Constructor & Destructor Documentation

◆ Stratix2DSPBoardIntegrator() [1/2]

Stratix2DSPBoardIntegrator::Stratix2DSPBoardIntegrator ( )

Definition at line 63 of file Stratix2DSPBoardIntegrator.cc.

63 :
65
66}
QuartusProjectGenerator * quartusGen_

◆ Stratix2DSPBoardIntegrator() [2/2]

Stratix2DSPBoardIntegrator::Stratix2DSPBoardIntegrator ( 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 68 of file Stratix2DSPBoardIntegrator.cc.

80 :
81 AlteraIntegrator(machine, idf, hdl, progeOutputDir, coreEntityName,
82 outputDir, programName, targetClockFreq, warningStream,
83 errorStream, imem, dmemType),
85 dmemGen_(NULL) {
87}
const TTAMachine::Machine * machine() const
std::ostream & warningStream() const
const IDF::MachineImplementation * idf() const
TCEString programName() const
std::ostream & errorStream() const
void setDeviceName(TCEString devName)
TCEString coreEntityName() const

References DEVICE_NAME_, and PlatformIntegrator::setDeviceName().

Here is the call graph for this function:

◆ ~Stratix2DSPBoardIntegrator()

Stratix2DSPBoardIntegrator::~Stratix2DSPBoardIntegrator ( )
virtual

Definition at line 90 of file Stratix2DSPBoardIntegrator.cc.

90 {
91
92 for (PlatInt::PinMap::iterator iter = stratix2Pins_.begin();
93 iter != stratix2Pins_.end(); iter++) {
94 if (iter->second != NULL) {
95 for (unsigned int i = 0; i < iter->second->size(); i++) {
96 delete iter->second->at(i);
97 }
98 delete iter->second;
99 }
100 }
101 if (quartusGen_ != NULL) {
102 delete quartusGen_;
103 }
104
105 if (dmemGen_ != NULL) {
106 delete dmemGen_;
107 }
108}

References dmemGen_, quartusGen_, and stratix2Pins_.

Member Function Documentation

◆ addSignalMapping()

void Stratix2DSPBoardIntegrator::addSignalMapping ( const TCEString signal)
private

Definition at line 169 of file Stratix2DSPBoardIntegrator.cc.

169 {
170
171 if (stratix2Pins_.find(signal) == stratix2Pins_.end()) {
172 warningStream() << "Warning: didn't find mapping for signal name "
173 << signal << endl;
174 return;
175 }
176
177 SignalMappingList* mappings = stratix2Pins_.find(signal)->second;
178 for (unsigned int i = 0; i < mappings->size(); i++) {
179 quartusGen_->addSignalMapping(*mappings->at(i));
180 }
181}
void addSignalMapping(const PlatInt::SignalMapping &mapping)
std::vector< SignalMapping * > SignalMappingList

References ProjectFileGenerator::addSignalMapping(), quartusGen_, stratix2Pins_, and PlatformIntegrator::warningStream().

Referenced by mapToplevelPorts().

Here is the call graph for this function:

◆ chopTaggedSignals()

bool Stratix2DSPBoardIntegrator::chopTaggedSignals ( ) const
protectedvirtual

Implements PlatformIntegrator.

Definition at line 192 of file Stratix2DSPBoardIntegrator.cc.

192 {
193
194 return true;
195}

◆ deviceFamily()

TCEString Stratix2DSPBoardIntegrator::deviceFamily ( ) const
virtual

Returns the FPGA device family

Implements PlatformIntegrator.

Definition at line 207 of file Stratix2DSPBoardIntegrator.cc.

207 {
208
209 return DEVICE_FAMILY_;
210}

References DEVICE_FAMILY_.

◆ devicePackage()

TCEString Stratix2DSPBoardIntegrator::devicePackage ( ) const
virtual

Returns the device package name

Implements PlatformIntegrator.

Definition at line 225 of file Stratix2DSPBoardIntegrator.cc.

225 {
226
227 return DEVICE_PACKAGE_;
228}

References DEVICE_PACKAGE_.

◆ deviceSpeedClass()

TCEString Stratix2DSPBoardIntegrator::deviceSpeedClass ( ) const
virtual

Returns the device speed class

Implements PlatformIntegrator.

Definition at line 232 of file Stratix2DSPBoardIntegrator.cc.

232 {
233
234 return DEVICE_SPEED_CLASS_;
235}

References DEVICE_SPEED_CLASS_.

◆ dmemInstance()

MemoryGenerator & Stratix2DSPBoardIntegrator::dmemInstance ( MemInfo  dmem,
TTAMachine::FunctionUnit lsuArch,
std::vector< std::string >  lsuPorts 
)
protectedvirtual

Reimplemented from AlteraIntegrator.

Definition at line 134 of file Stratix2DSPBoardIntegrator.cc.

136 {
137 if (dmem.type == ONCHIP) {
138 return AlteraIntegrator::dmemInstance(dmem, lsuArch, lsuPorts);
139 } else if (dmem.type == SRAM) {
140 if (dmemGen_ == NULL) {
141 TCEString initFile = programName() + "_" + dmem.asName + ".img";
142 // SRAM component has fixed size, thus use the addr width from hdb
143 int addrw = dmem.portAddrw;
144 dmemGen_ =
146 dmem.mauWidth, dmem.widthInMaus, addrw, initFile,
147 this, warningStream(), errorStream());
148 warningStream() << "Warning: Data memory is not initialized "
149 << "during FPGA programming." << endl;
150 dmemGen_->addLsu(lsuArch, lsuPorts);
151 }
152 } else {
153 TCEString msg = "Unsupported data memory type";
154 throw InvalidData(__FILE__, __LINE__, "Stratix2DSPBoardIntegrator",
155 msg);
156 }
157 return *dmemGen_;
158}
@ ONCHIP
@ SRAM
virtual MemoryGenerator & dmemInstance(MemInfo dmem, TTAMachine::FunctionUnit &lsuArch, std::vector< std::string > lsuPorts)
void addLsu(TTAMachine::FunctionUnit &lsuArch, std::vector< std::string > lsuPorts)
MemType type
TCEString asName

References MemoryGenerator::addLsu(), MemInfo::asName, dmemGen_, AlteraIntegrator::dmemInstance(), PlatformIntegrator::errorStream(), MemInfo::mauWidth, ONCHIP, MemInfo::portAddrw, PlatformIntegrator::programName(), SRAM, MemInfo::type, PlatformIntegrator::warningStream(), and MemInfo::widthInMaus.

Here is the call graph for this function:

◆ generatePinMap()

void Stratix2DSPBoardIntegrator::generatePinMap ( )
private

Definition at line 268 of file Stratix2DSPBoardIntegrator.cc.

268 {
269
270 // clk
272 clk->push_back(new SignalMapping("PIN_AM17","clk"));
273 stratix2Pins_["clk"] = clk;
274
275 // reset to push button CPU_RESET
277 rstx->push_back(new SignalMapping("PIN_AG19","rstx"));
278 stratix2Pins_["rstx"] = rstx;
279
280 // leds
281 SignalMappingList* ledMapping = new SignalMappingList;
282 ledMapping->push_back(new SignalMapping("PIN_B4","STRATIXII_LED[0]"));
283 ledMapping->push_back(new SignalMapping("PIN_D5","STRATIXII_LED[1]"));
284 ledMapping->push_back(new SignalMapping("PIN_E5","STRATIXII_LED[2]"));
285 ledMapping->push_back(new SignalMapping("PIN_A4","STRATIXII_LED[3]"));
286 ledMapping->push_back(new SignalMapping("PIN_A5","STRATIXII_LED[4]"));
287 ledMapping->push_back(new SignalMapping("PIN_D6","STRATIXII_LED[5]"));
288 ledMapping->push_back(new SignalMapping("PIN_C6","STRATIXII_LED[6]"));
289 ledMapping->push_back(new SignalMapping("PIN_A6","STRATIXII_LED[7]"));
290 stratix2Pins_["STRATIXII_LED"] = ledMapping;
291
292 // sram data signals
293 SignalMappingList* sramData = new SignalMappingList;
294 sramData->push_back(new SignalMapping("PIN_AD18","STRATIXII_SRAM_DQ[0]"));
295 sramData->push_back(new SignalMapping("PIN_AB18","STRATIXII_SRAM_DQ[1]"));
296 sramData->push_back(new SignalMapping("PIN_AB19","STRATIXII_SRAM_DQ[2]"));
297 sramData->push_back(new SignalMapping("PIN_AC20","STRATIXII_SRAM_DQ[3]"));
298 sramData->push_back(new SignalMapping("PIN_AD20","STRATIXII_SRAM_DQ[4]"));
299 sramData->push_back(new SignalMapping("PIN_AE20","STRATIXII_SRAM_DQ[5]"));
300 sramData->push_back(new SignalMapping("PIN_AB20","STRATIXII_SRAM_DQ[6]"));
301 sramData->push_back(new SignalMapping("PIN_AF20","STRATIXII_SRAM_DQ[7]"));
302 sramData->push_back(new SignalMapping("PIN_AC21","STRATIXII_SRAM_DQ[8]"));
303 sramData->push_back(new SignalMapping("PIN_AD21","STRATIXII_SRAM_DQ[9]"));
304 sramData->push_back(
305 new SignalMapping("PIN_AB21","STRATIXII_SRAM_DQ[10]"));
306 sramData->push_back(
307 new SignalMapping("PIN_AE21","STRATIXII_SRAM_DQ[11]"));
308 sramData->push_back(
309 new SignalMapping("PIN_AG20","STRATIXII_SRAM_DQ[12]"));
310 sramData->push_back(
311 new SignalMapping("PIN_AF21","STRATIXII_SRAM_DQ[13]"));
312 sramData->push_back(
313 new SignalMapping("PIN_AD22","STRATIXII_SRAM_DQ[14]"));
314 sramData->push_back(
315 new SignalMapping("PIN_AF22","STRATIXII_SRAM_DQ[15]"));
316 sramData->push_back(
317 new SignalMapping("PIN_AE22","STRATIXII_SRAM_DQ[16]"));
318 sramData->push_back(
319 new SignalMapping("PIN_AC17","STRATIXII_SRAM_DQ[17]"));
320 sramData->push_back(
321 new SignalMapping("PIN_AE19","STRATIXII_SRAM_DQ[18]"));
322 sramData->push_back(
323 new SignalMapping("PIN_AD19","STRATIXII_SRAM_DQ[19]"));
324 sramData->push_back(
325 new SignalMapping("PIN_AC18","STRATIXII_SRAM_DQ[20]"));
326 sramData->push_back(
327 new SignalMapping("PIN_AB17","STRATIXII_SRAM_DQ[21]"));
328 sramData->push_back(
329 new SignalMapping("PIN_AC19","STRATIXII_SRAM_DQ[22]"));
330 sramData->push_back(
331 new SignalMapping("PIN_AL26","STRATIXII_SRAM_DQ[23]"));
332 sramData->push_back(
333 new SignalMapping("PIN_AL27","STRATIXII_SRAM_DQ[24]"));
334 sramData->push_back(
335 new SignalMapping("PIN_AL28","STRATIXII_SRAM_DQ[25]"));
336 sramData->push_back(
337 new SignalMapping("PIN_AK28","STRATIXII_SRAM_DQ[26]"));
338 sramData->push_back(
339 new SignalMapping("PIN_AK29","STRATIXII_SRAM_DQ[27]"));
340 sramData->push_back(
341 new SignalMapping("PIN_AC13","STRATIXII_SRAM_DQ[28]"));
342 sramData->push_back(
343 new SignalMapping("PIN_AD10","STRATIXII_SRAM_DQ[29]"));
344 sramData->push_back(
345 new SignalMapping("PIN_AC11","STRATIXII_SRAM_DQ[30]"));
346 sramData->push_back(
347 new SignalMapping("PIN_AE11","STRATIXII_SRAM_DQ[31]"));
348 stratix2Pins_["STRATIXII_SRAM_DQ"] = sramData;
349
350 // sram address signals
351 SignalMappingList* sramAddr = new SignalMappingList;
352 sramAddr->push_back(
353 new SignalMapping("PIN_AM28","STRATIXII_SRAM_ADDR[0]"));
354 sramAddr->push_back(
355 new SignalMapping("PIN_AJ27","STRATIXII_SRAM_ADDR[1]"));
356 sramAddr->push_back(
357 new SignalMapping("PIN_AK27","STRATIXII_SRAM_ADDR[2]"));
358 sramAddr->push_back(
359 new SignalMapping("PIN_AL29","STRATIXII_SRAM_ADDR[3]"));
360 sramAddr->push_back(
361 new SignalMapping("PIN_AM29","STRATIXII_SRAM_ADDR[4]"));
362 sramAddr->push_back(
363 new SignalMapping("PIN_AJ28","STRATIXII_SRAM_ADDR[5]"));
364 sramAddr->push_back(
365 new SignalMapping("PIN_AH28","STRATIXII_SRAM_ADDR[6]"));
366 sramAddr->push_back(
367 new SignalMapping("PIN_AK20","STRATIXII_SRAM_ADDR[7]"));
368 sramAddr->push_back(
369 new SignalMapping("PIN_AJ20","STRATIXII_SRAM_ADDR[8]"));
370 sramAddr->push_back(
371 new SignalMapping("PIN_AL21","STRATIXII_SRAM_ADDR[9]"));
372 sramAddr->push_back(
373 new SignalMapping("PIN_AL22","STRATIXII_SRAM_ADDR[10]"));
374 sramAddr->push_back(
375 new SignalMapping("PIN_AJ22","STRATIXII_SRAM_ADDR[11]"));
376 sramAddr->push_back(
377 new SignalMapping("PIN_AH22","STRATIXII_SRAM_ADDR[12]"));
378 sramAddr->push_back(
379 new SignalMapping("PIN_AL23","STRATIXII_SRAM_ADDR[13]"));
380 sramAddr->push_back(
381 new SignalMapping("PIN_AL24","STRATIXII_SRAM_ADDR[14]"));
382 sramAddr->push_back(
383 new SignalMapping("PIN_AJ25","STRATIXII_SRAM_ADDR[15]"));
384 sramAddr->push_back(
385 new SignalMapping("PIN_AH25","STRATIXII_SRAM_ADDR[16]"));
386 sramAddr->push_back(
387 new SignalMapping("PIN_AL25","STRATIXII_SRAM_ADDR[17]"));
388 stratix2Pins_["STRATIXII_SRAM_ADDR"] = sramAddr;
389
390 // sram control signals
392 sramWe->push_back(new SignalMapping("PIN_AH14","STRATIXII_SRAM_WE_N"));
393 stratix2Pins_["STRATIXII_SRAM_WE_N"] = sramWe;
394
396 sramOe->push_back(new SignalMapping("PIN_AG14","STRATIXII_SRAM_OE_N"));
397 stratix2Pins_["STRATIXII_SRAM_OE_N"] = sramOe;
398
400 sramCs->push_back(new SignalMapping("PIN_AL12","STRATIXII_SRAM_CS_N"));
401 stratix2Pins_["STRATIXII_SRAM_CS_N"] = sramCs;
402
407 sramB0->push_back(new SignalMapping("PIN_AG11","STRATIXII_SRAM_BE_N0"));
408 sramB1->push_back(new SignalMapping("PIN_AK10","STRATIXII_SRAM_BE_N1"));
409 sramB2->push_back(new SignalMapping("PIN_AK11","STRATIXII_SRAM_BE_N2"));
410 sramB3->push_back(new SignalMapping("PIN_AL11","STRATIXII_SRAM_BE_N3"));
411 stratix2Pins_["STRATIXII_SRAM_BE_N0"] = sramB0;
412 stratix2Pins_["STRATIXII_SRAM_BE_N1"] = sramB1;
413 stratix2Pins_["STRATIXII_SRAM_BE_N2"] = sramB2;
414 stratix2Pins_["STRATIXII_SRAM_BE_N3"] = sramB3;
415}
std::pair< TCEString, TCEString > SignalMapping

References stratix2Pins_.

Referenced by integrateProcessor().

◆ integrateProcessor()

void Stratix2DSPBoardIntegrator::integrateProcessor ( const ProGe::NetlistBlock progeBlock)
virtual

Integrates the TTA core(s) generated by ProGe

Parameters
progeBlockThe toplevel netlist block created by ProGe

Reimplemented from AlteraIntegrator.

Definition at line 111 of file Stratix2DSPBoardIntegrator.cc.

112 {
113
115
116 initPlatformNetlist(ttaCore);
117
118 const NetlistBlock& core = progeBlock();
119 int coreId = -1;
120 if (!integrateCore(core, coreId)) {
121 return;
122 }
123
125
127
129
131}
virtual void initPlatformNetlist(const ProGe::NetlistBlock *progeBlock)
virtual bool integrateCore(const ProGe::NetlistBlock &cores, int coreId)
const ProGe::NetlistBlock & progeBlock() const
virtual void writeNewToplevel()
virtual void writeProjectFiles()=0
virtual ProjectFileGenerator * projectFileGenerator() const

References PlatformIntegrator::addProGeFiles(), generatePinMap(), PlatformIntegrator::initPlatformNetlist(), PlatformIntegrator::integrateCore(), mapToplevelPorts(), PlatformIntegrator::progeBlock(), projectFileGenerator(), PlatformIntegrator::writeNewToplevel(), and ProjectFileGenerator::writeProjectFiles().

Here is the call graph for this function:

◆ mapToplevelPorts()

void Stratix2DSPBoardIntegrator::mapToplevelPorts ( )
private

Definition at line 161 of file Stratix2DSPBoardIntegrator.cc.

161 {
163 for (size_t i = 0; i < tl.portCount(); i++) {
164 addSignalMapping(tl.port(i).name());
165 }
166}
ProGe::NetlistBlock * integratorBlock()
virtual NetlistPort * port(const std::string &portName, bool partialMatch=true)
virtual size_t portCount() const
std::string name() const
void addSignalMapping(const TCEString &signal)

References addSignalMapping(), PlatformIntegrator::integratorBlock(), ProGe::NetlistPort::name(), ProGe::NetlistBlock::port(), and ProGe::NetlistBlock::portCount().

Referenced by integrateProcessor().

Here is the call graph for this function:

◆ pinTag()

TCEString Stratix2DSPBoardIntegrator::pinTag ( ) const
protectedvirtual

Implements PlatformIntegrator.

Definition at line 185 of file Stratix2DSPBoardIntegrator.cc.

185 {
186
187 return PIN_TAG_;
188}

References PIN_TAG_.

◆ printInfo()

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

Prints information about the platform

Implements PlatformIntegrator.

Definition at line 249 of file Stratix2DSPBoardIntegrator.cc.

249 {
250
251 stream
252 << "Integrator name: Stratix2DSP" << std::endl
253 << "-----------------------------" << std::endl
254 << "Integrates the processor core to Altera Stratix II DSP board "
255 << "with EP2S180F1020C3 device." << std::endl
256 << "Creates project files for QuartusII v8.0 program." << std::endl
257 << "Supported instruction memory types are 'onchip' and 'vhdl_array."
258 << std::endl
259 << "Supported data memory types are 'onchip' and 'sram'." << std::endl
260 << "Default clock frequency is 100 MHz." << std::endl
261 << "Active low reset is connected to CPU RESET button." << std::endl
262 << std::endl;
263}

◆ projectFileGenerator()

ProjectFileGenerator * Stratix2DSPBoardIntegrator::projectFileGenerator ( ) const
protectedvirtual

Implements PlatformIntegrator.

Definition at line 199 of file Stratix2DSPBoardIntegrator.cc.

199 {
200
201 return quartusGen_;
202}

References quartusGen_.

Referenced by integrateProcessor().

◆ setDeviceFamily()

void Stratix2DSPBoardIntegrator::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 214 of file Stratix2DSPBoardIntegrator.cc.

214 {
215
216 if (devFamily != DEVICE_FAMILY_) {
218 << "Warning: Refusing to change device family!" << endl
219 << "- Original device family: " << DEVICE_FAMILY_ << endl
220 << "- New device family: " << devFamily << endl;
221 }
222}

References DEVICE_FAMILY_, and PlatformIntegrator::warningStream().

Here is the call graph for this function:

◆ targetClockFrequency()

int Stratix2DSPBoardIntegrator::targetClockFrequency ( ) const
virtual

Returns the target clock frequency in MHz

Reimplemented from PlatformIntegrator.

Definition at line 238 of file Stratix2DSPBoardIntegrator.cc.

238 {
239
240 int freq = DEFAULT_FREQ_;
241
244 }
245 return freq;
246}
virtual int targetClockFrequency() const

References DEFAULT_FREQ_, and PlatformIntegrator::targetClockFrequency().

Here is the call graph for this function:

Member Data Documentation

◆ DEFAULT_FREQ_

const int Stratix2DSPBoardIntegrator::DEFAULT_FREQ_ = 100
staticprivate

Definition at line 124 of file Stratix2DSPBoardIntegrator.hh.

Referenced by targetClockFrequency().

◆ DEVICE_FAMILY_

const TCEString Stratix2DSPBoardIntegrator::DEVICE_FAMILY_ = "Stratix II"
staticprivate

Definition at line 114 of file Stratix2DSPBoardIntegrator.hh.

Referenced by deviceFamily(), and setDeviceFamily().

◆ DEVICE_NAME_

const TCEString Stratix2DSPBoardIntegrator::DEVICE_NAME_
staticprivate
Initial value:
=
"EP2S180F1020C3"

Definition at line 116 of file Stratix2DSPBoardIntegrator.hh.

Referenced by Stratix2DSPBoardIntegrator().

◆ DEVICE_PACKAGE_

const TCEString Stratix2DSPBoardIntegrator::DEVICE_PACKAGE_ = "F1020"
staticprivate

Definition at line 118 of file Stratix2DSPBoardIntegrator.hh.

Referenced by devicePackage().

◆ DEVICE_SPEED_CLASS_

const TCEString Stratix2DSPBoardIntegrator::DEVICE_SPEED_CLASS_ = "3"
staticprivate

Definition at line 120 of file Stratix2DSPBoardIntegrator.hh.

Referenced by deviceSpeedClass().

◆ dmemGen_

MemoryGenerator* Stratix2DSPBoardIntegrator::dmemGen_
private

Definition at line 110 of file Stratix2DSPBoardIntegrator.hh.

Referenced by dmemInstance(), and ~Stratix2DSPBoardIntegrator().

◆ PIN_TAG_

const TCEString Stratix2DSPBoardIntegrator::PIN_TAG_ = "STRATIXII"
staticprivate

Definition at line 122 of file Stratix2DSPBoardIntegrator.hh.

Referenced by pinTag().

◆ quartusGen_

QuartusProjectGenerator* Stratix2DSPBoardIntegrator::quartusGen_
private

◆ stratix2Pins_

PlatInt::PinMap Stratix2DSPBoardIntegrator::stratix2Pins_
private

The documentation for this class was generated from the following files: