X-Git-Url: https://bilbo.iut-bm.univ-fcomte.fr/and/gitweb/blast.git/blobdiff_plain/c25a6c891bde475aa51b4c4f5d42ecd7540910bb..9bfa0c13066918f440ac2b5461fb3f8847f43fd6:/GroupBlock.cpp?ds=sidebyside diff --git a/GroupBlock.cpp b/GroupBlock.cpp index 4746a74..f618789 100644 --- a/GroupBlock.cpp +++ b/GroupBlock.cpp @@ -5,6 +5,7 @@ #include "GroupInterface.h" #include "string.h" #include +#include "Parameters.h" int GroupBlock::counter = 1; @@ -169,20 +170,22 @@ void GroupBlock::computeOutputPattern(int nbExec) throw(Exception) { if (block->getControlOutputs().size() > 0) addIt = true; } else { - // if the block has all its connected inputs that are connected to an intput of the group, add it too - addIt = true; - foreach(AbstractInterface* iface, block->getControlInputs()) { - //cout << qPrintable(iface->getName()) << " of " << qPrintable(iface->getOwner()->getName()) << " connected to " << endl; - ConnectedInterface* connFrom = ((ConnectedInterface*)iface)->getConnectedFrom(); - //cout << qPrintable(connFrom->getName()) << " of " << qPrintable(connFrom->getOwner()->getName()) << endl; - - if (connFrom == NULL) { - addIt = false; - break; - } - else if (connFrom->getOwner() != this) { - addIt = false; - break; + // if the block has all its connected control inputs that are connected to an intput of the group, add it too + if (block->getControlInputs().size() > 0) { + addIt = true; + foreach(AbstractInterface* iface, block->getControlInputs()) { + //cout << qPrintable(iface->getName()) << " of " << qPrintable(iface->getOwner()->getName()) << " connected to " << endl; + ConnectedInterface* connFrom = ((ConnectedInterface*)iface)->getConnectedFrom(); + //cout << qPrintable(connFrom->getName()) << " of " << qPrintable(connFrom->getOwner()->getName()) << endl; + + if (connFrom == NULL) { + addIt = false; + break; + } + else if (connFrom->getOwner() != this) { + addIt = false; + break; + } } } } @@ -269,7 +272,7 @@ void GroupBlock::generateVHDL(const QString& path) throw(Exception) { QString coreFile = ""; coreFile = path; - coreFile.append(normalizeName(name)); + coreFile.append(Parameters::normalizeName(name)); coreFile.append(".vhd"); QFile vhdlCore(coreFile); @@ -278,13 +281,15 @@ void GroupBlock::generateVHDL(const QString& path) throw(Exception) { throw(Exception(VHDLFILE_NOACCESS)); } + cout << "generate VHDL of block " << qPrintable(name) << " in " << qPrintable(coreFile) << endl; QTextStream outCore(&vhdlCore); + QDomElement dummyElt; try { - generateComments(outCore); - generateLibraries(outCore); + generateComments(outCore,dummyElt,""); + generateLibraries(outCore,dummyElt); generateEntity(outCore); - generateArchitecture(outCore); + generateArchitecture(outCore,dummyElt); } catch(Exception err) { throw(err); @@ -294,11 +299,11 @@ void GroupBlock::generateVHDL(const QString& path) throw(Exception) { } -void GroupBlock::generateComments(QTextStream& out) throw(Exception) { +void GroupBlock::generateComments(QTextStream& out, QDomElement &elt, QString coreFile) throw(Exception) { out << " -- VHDL generated automatically for " << name << " --" << endl << endl; } -void GroupBlock::generateLibraries(QTextStream& out) throw(Exception) { +void GroupBlock::generateLibraries(QTextStream& out, QDomElement &elt) throw(Exception) { out << "library IEEE;" << endl; out << "use IEEE.STD_LOGIC_1164.all;" << endl; @@ -306,7 +311,7 @@ void GroupBlock::generateLibraries(QTextStream& out) throw(Exception) { } -void GroupBlock::generateEntity(QTextStream& out) throw(Exception) { +void GroupBlock::generateEntity(QTextStream& out, bool hasController) throw(Exception) { int i; @@ -409,7 +414,11 @@ void GroupBlock::generateEntity(QTextStream& out) throw(Exception) { } -void GroupBlock::generateArchitecture(QTextStream& out) throw(Exception) { +void GroupBlock::generateArchitecture(QTextStream& out, QDomElement &elt) throw(Exception) { } +void GroupBlock::generateController(QTextStream &out) throw(Exception) { + +} +