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

Private GIT Repository
started top group gen, added project subdirs
[blast.git] / BlockImplementation.h
index 8bbc29752c21d440e5bf4c6bdd1b27a22c5cb6ff..72776e3b675af175a773a0e38c2d774a7518feda 100644 (file)
@@ -17,7 +17,6 @@ class ArithmeticEvaluator;
 #include "Exception.h"\r
 class Exception;\r
 \r
 #include "Exception.h"\r
 class Exception;\r
 \r
-\r
 using namespace std;\r
 using namespace Qt;\r
 \r
 using namespace std;\r
 using namespace Qt;\r
 \r
@@ -36,12 +35,17 @@ public:
   inline QHash<QString,QString> getConsumptionPattern() { return consumptionPattern; }\r
   inline QHash<QString,QString> getProductionPattern() { return productionPattern; }\r
   inline QString getProductionCounter() { return productionCounter; }\r
   inline QHash<QString,QString> getConsumptionPattern() { return consumptionPattern; }\r
   inline QHash<QString,QString> getProductionPattern() { return productionPattern; }\r
   inline QString getProductionCounter() { return productionCounter; }\r
+\r
   // setters\r
   inline void setDelta(QString _delta) { delta = _delta; }\r
   inline void setConsumptionPattern(QHash<QString,QString> pattern) { consumptionPattern = pattern; }\r
   inline void setProductionPattern(QHash<QString,QString> pattern) { productionPattern = pattern; }\r
   inline void setProductionCounter(QString pattern) { productionCounter = pattern; }\r
   \r
   // setters\r
   inline void setDelta(QString _delta) { delta = _delta; }\r
   inline void setConsumptionPattern(QHash<QString,QString> pattern) { consumptionPattern = pattern; }\r
   inline void setProductionPattern(QHash<QString,QString> pattern) { productionPattern = pattern; }\r
   inline void setProductionCounter(QString pattern) { productionCounter = pattern; }\r
   \r
+  // testers\r
+\r
+  inline bool hasNoPatterns() { return noPatterns; }\r
+\r
   QString eval(QString line, QTextStream& out);\r
   QString evalComplex(QString line, int num);\r
   QString evalString(QString s);\r
   QString eval(QString line, QTextStream& out);\r
   QString evalComplex(QString line, int num);\r
   QString evalString(QString s);\r
@@ -52,30 +56,26 @@ public:
   inline void setReference(ReferenceBlock* _reference) { reference = _reference; }\r
 \r
   void loadPatterns(QDomElement &root) throw(Exception);\r
   inline void setReference(ReferenceBlock* _reference) { reference = _reference; }\r
 \r
   void loadPatterns(QDomElement &root) throw(Exception);\r
-  bool checkPatterns();\r
-  void generateVHDL(FunctionalBlock* _block, const QString& path) throw(Exception); // main entry to generate the VHDL code\r
+  bool checkPatterns();  \r
   \r
   \r
-\r
+  inline void addSource(QString file) { sources.append(file); }\r
 private:  \r
   QString xmlFile;\r
   QString referenceXml;\r
   QString referenceMd5;\r
 private:  \r
   QString xmlFile;\r
   QString referenceXml;\r
   QString referenceMd5;\r
-  QString nameEnt, line;\r
+\r
+  QList<QString> sources;\r
+\r
   QMap<QString, int> paramMap;\r
   ArithmeticEvaluator* evaluator;\r
   ReferenceBlock* reference;\r
   FunctionalBlock* block; // the current functional block for which this implementation is used.\r
   QMap<QString, int> paramMap;\r
   ArithmeticEvaluator* evaluator;\r
   ReferenceBlock* reference;\r
   FunctionalBlock* block; // the current functional block for which this implementation is used.\r
+  bool noPatterns;\r
   QString delta;\r
   QHash<QString,QString> consumptionPattern; // key = reference interface name, value = pattern expression\r
   QHash<QString,QString> productionPattern; // key = reference interface name, value = pattern expression\r
   QString productionCounter;\r
 \r
   QString delta;\r
   QHash<QString,QString> consumptionPattern; // key = reference interface name, value = pattern expression\r
   QHash<QString,QString> productionPattern; // key = reference interface name, value = pattern expression\r
   QString productionCounter;\r
 \r
-  void generateComments(QTextStream& out, QDomElement &elt, QString coreFile) throw(Exception); // generates comments from <comments> element\r
-  void generateLibraries(QTextStream& out, QDomElement &elt) throw(Exception); // generates libraries from <libraries> element\r
-  void generateEntity(QTextStream& out, bool hasController=false) throw(Exception); // generate the entity using reference\r
-  void generateArchitecture(QTextStream& out, QDomElement &elt ) throw(Exception); // generate the architecture using <architecture> element\r
-  void generateController(QTextStream& out) throw(Exception); // generate the wishbone controller of the block\r
-\r
   QString getIfaceUserName(AbstractInterface* refIface); // get the name of an interface given by the user, from the reference interface\r
 \r
   friend QDataStream &operator<<(QDataStream &out, const BlockImplementation &impl);\r
   QString getIfaceUserName(AbstractInterface* refIface); // get the name of an interface given by the user, from the reference interface\r
 \r
   friend QDataStream &operator<<(QDataStream &out, const BlockImplementation &impl);\r