]> AND Private Git Repository - blast.git/blobdiff - GroupBlock.cpp
Logo AND Algorithmique Numérique Distribuée

Private GIT Repository
started top group gen, added project subdirs
[blast.git] / GroupBlock.cpp
index 4746a7480b9db4d660c4e560eaa090e0533a5d8e..f618789b3528a2d3a8a3cfdd00f54131679c16e9 100644 (file)
@@ -5,6 +5,7 @@
 #include "GroupInterface.h"
 #include "string.h"
 #include <sstream>
+#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) {
+  
+}
+