77 std::ostream& warningStream,
78 std::ostream& errorStream,
82 outputDir, programName, targetClockFreq, warningStream,
83 errorStream, imem, dmemType),
94 if (iter->second != NULL) {
95 for (
unsigned int i = 0; i < iter->second->size(); i++) {
96 delete iter->second->at(i);
136 std::vector<std::string> lsuPorts) {
148 warningStream() <<
"Warning: Data memory is not initialized "
149 <<
"during FPGA programming." << endl;
153 TCEString msg =
"Unsupported data memory type";
154 throw InvalidData(__FILE__, __LINE__,
"Stratix2DSPBoardIntegrator",
163 for (
size_t i = 0; i < tl.
portCount(); i++) {
172 warningStream() <<
"Warning: didn't find mapping for signal name "
177 SignalMappingList* mappings =
stratix2Pins_.find(signal)->second;
178 for (
unsigned int i = 0; i < mappings->size(); i++) {
218 <<
"Warning: Refusing to change device family!" << endl
220 <<
"- New device family: " << devFamily << endl;
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."
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
271 SignalMappingList* clk =
new SignalMappingList;
272 clk->push_back(
new SignalMapping(
"PIN_AM17",
"clk"));
276 SignalMappingList* rstx =
new SignalMappingList;
277 rstx->push_back(
new SignalMapping(
"PIN_AG19",
"rstx"));
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]"));
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]"));
305 new SignalMapping(
"PIN_AB21",
"STRATIXII_SRAM_DQ[10]"));
307 new SignalMapping(
"PIN_AE21",
"STRATIXII_SRAM_DQ[11]"));
309 new SignalMapping(
"PIN_AG20",
"STRATIXII_SRAM_DQ[12]"));
311 new SignalMapping(
"PIN_AF21",
"STRATIXII_SRAM_DQ[13]"));
313 new SignalMapping(
"PIN_AD22",
"STRATIXII_SRAM_DQ[14]"));
315 new SignalMapping(
"PIN_AF22",
"STRATIXII_SRAM_DQ[15]"));
317 new SignalMapping(
"PIN_AE22",
"STRATIXII_SRAM_DQ[16]"));
319 new SignalMapping(
"PIN_AC17",
"STRATIXII_SRAM_DQ[17]"));
321 new SignalMapping(
"PIN_AE19",
"STRATIXII_SRAM_DQ[18]"));
323 new SignalMapping(
"PIN_AD19",
"STRATIXII_SRAM_DQ[19]"));
325 new SignalMapping(
"PIN_AC18",
"STRATIXII_SRAM_DQ[20]"));
327 new SignalMapping(
"PIN_AB17",
"STRATIXII_SRAM_DQ[21]"));
329 new SignalMapping(
"PIN_AC19",
"STRATIXII_SRAM_DQ[22]"));
331 new SignalMapping(
"PIN_AL26",
"STRATIXII_SRAM_DQ[23]"));
333 new SignalMapping(
"PIN_AL27",
"STRATIXII_SRAM_DQ[24]"));
335 new SignalMapping(
"PIN_AL28",
"STRATIXII_SRAM_DQ[25]"));
337 new SignalMapping(
"PIN_AK28",
"STRATIXII_SRAM_DQ[26]"));
339 new SignalMapping(
"PIN_AK29",
"STRATIXII_SRAM_DQ[27]"));
341 new SignalMapping(
"PIN_AC13",
"STRATIXII_SRAM_DQ[28]"));
343 new SignalMapping(
"PIN_AD10",
"STRATIXII_SRAM_DQ[29]"));
345 new SignalMapping(
"PIN_AC11",
"STRATIXII_SRAM_DQ[30]"));
347 new SignalMapping(
"PIN_AE11",
"STRATIXII_SRAM_DQ[31]"));
351 SignalMappingList* sramAddr =
new SignalMappingList;
353 new SignalMapping(
"PIN_AM28",
"STRATIXII_SRAM_ADDR[0]"));
355 new SignalMapping(
"PIN_AJ27",
"STRATIXII_SRAM_ADDR[1]"));
357 new SignalMapping(
"PIN_AK27",
"STRATIXII_SRAM_ADDR[2]"));
359 new SignalMapping(
"PIN_AL29",
"STRATIXII_SRAM_ADDR[3]"));
361 new SignalMapping(
"PIN_AM29",
"STRATIXII_SRAM_ADDR[4]"));
363 new SignalMapping(
"PIN_AJ28",
"STRATIXII_SRAM_ADDR[5]"));
365 new SignalMapping(
"PIN_AH28",
"STRATIXII_SRAM_ADDR[6]"));
367 new SignalMapping(
"PIN_AK20",
"STRATIXII_SRAM_ADDR[7]"));
369 new SignalMapping(
"PIN_AJ20",
"STRATIXII_SRAM_ADDR[8]"));
371 new SignalMapping(
"PIN_AL21",
"STRATIXII_SRAM_ADDR[9]"));
373 new SignalMapping(
"PIN_AL22",
"STRATIXII_SRAM_ADDR[10]"));
375 new SignalMapping(
"PIN_AJ22",
"STRATIXII_SRAM_ADDR[11]"));
377 new SignalMapping(
"PIN_AH22",
"STRATIXII_SRAM_ADDR[12]"));
379 new SignalMapping(
"PIN_AL23",
"STRATIXII_SRAM_ADDR[13]"));
381 new SignalMapping(
"PIN_AL24",
"STRATIXII_SRAM_ADDR[14]"));
383 new SignalMapping(
"PIN_AJ25",
"STRATIXII_SRAM_ADDR[15]"));
385 new SignalMapping(
"PIN_AH25",
"STRATIXII_SRAM_ADDR[16]"));
387 new SignalMapping(
"PIN_AL25",
"STRATIXII_SRAM_ADDR[17]"));
391 SignalMappingList* sramWe =
new SignalMappingList;
392 sramWe->push_back(
new SignalMapping(
"PIN_AH14",
"STRATIXII_SRAM_WE_N"));
395 SignalMappingList* sramOe =
new SignalMappingList;
396 sramOe->push_back(
new SignalMapping(
"PIN_AG14",
"STRATIXII_SRAM_OE_N"));
399 SignalMappingList* sramCs =
new SignalMappingList;
400 sramCs->push_back(
new SignalMapping(
"PIN_AL12",
"STRATIXII_SRAM_CS_N"));
403 SignalMappingList* sramB0 =
new SignalMappingList;
404 SignalMappingList* sramB1 =
new SignalMappingList;
405 SignalMappingList* sramB2 =
new SignalMappingList;
406 SignalMappingList* sramB3 =
new SignalMappingList;
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"));
TTAMachine::Machine * machine
the architecture definition of the estimated processor
virtual MemoryGenerator & dmemInstance(MemInfo dmem, TTAMachine::FunctionUnit &lsuArch, std::vector< std::string > lsuPorts)
void addLsu(TTAMachine::FunctionUnit &lsuArch, std::vector< std::string > lsuPorts)
virtual NetlistPort * port(const std::string &portName, bool partialMatch=true)
virtual size_t portCount() const
void addSignalMapping(const PlatInt::SignalMapping &mapping)
virtual void writeProjectFiles()=0
virtual TCEString pinTag() const
virtual void printInfo(std::ostream &stream) const
static const TCEString DEVICE_NAME_
MemoryGenerator * dmemGen_
static const TCEString DEVICE_PACKAGE_
static const int DEFAULT_FREQ_
virtual TCEString deviceSpeedClass() const
static const TCEString PIN_TAG_
QuartusProjectGenerator * quartusGen_
void addSignalMapping(const TCEString &signal)
virtual MemoryGenerator & dmemInstance(MemInfo dmem, TTAMachine::FunctionUnit &lsuArch, std::vector< std::string > lsuPorts)
PlatInt::PinMap stratix2Pins_
virtual ProjectFileGenerator * projectFileGenerator() const
static const TCEString DEVICE_SPEED_CLASS_
virtual ~Stratix2DSPBoardIntegrator()
static const TCEString DEVICE_FAMILY_
virtual void setDeviceFamily(TCEString devFamily)
virtual bool chopTaggedSignals() const
virtual int targetClockFrequency() const
virtual void integrateProcessor(const ProGe::NetlistBlock *ttaCore)
Stratix2DSPBoardIntegrator()
virtual TCEString deviceFamily() const
virtual TCEString devicePackage() const
std::vector< SignalMapping * > SignalMappingList
std::pair< TCEString, TCEString > SignalMapping
HDL
HDLs supported by ProGe.