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

Private GIT Repository
moved vhdl gen. into block
[blast.git] / BlockImplementation.h
index df0e4997619ab1fa9358323288e534c9b83fb5da..fb9c77c92be6a276b97bce1afedbb5d32ebd0dcb 100644 (file)
@@ -28,9 +28,20 @@ public:
   BlockImplementation(const QString& _xmlFile);\r
   BlockImplementation(const QString& _xmlFile, const QString& _referenceXml, const QString& _referenceMd5);\r
 \r
   BlockImplementation(const QString& _xmlFile);\r
   BlockImplementation(const QString& _xmlFile, const QString& _referenceXml, const QString& _referenceMd5);\r
 \r
+  // getters  \r
   inline QString getXmlFile() { return xmlFile; }\r
   inline QString getReferenceXml() { return referenceXml; }\r
   inline QString getReferenceMd5() { return referenceMd5; }\r
   inline QString getXmlFile() { return xmlFile; }\r
   inline QString getReferenceXml() { return referenceXml; }\r
   inline QString getReferenceMd5() { return referenceMd5; }\r
+  inline QString getDelta() { return delta; }\r
+  inline QHash<QString,QString> getConsumptionPattern() { return consumptionPattern; }\r
+  inline QHash<QString,QString> getProductionPattern() { return productionPattern; }\r
+  inline QString getProductionCounter() { return productionCounter; }\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
   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
@@ -40,7 +51,9 @@ public:
 \r
   inline void setReference(ReferenceBlock* _reference) { reference = _reference; }\r
 \r
 \r
   inline void setReference(ReferenceBlock* _reference) { reference = _reference; }\r
 \r
-  void generateVHDL(FunctionalBlock* _block, const QString& path) throw(Exception); // main entry to generate the VHDL code\r
+  void loadPatterns(QDomElement &root) throw(Exception);\r
+  bool checkPatterns();  \r
+  \r
 \r
 private:  \r
   QString xmlFile;\r
 \r
 private:  \r
   QString xmlFile;\r
@@ -51,12 +64,10 @@ private:
   ArithmeticEvaluator* evaluator;\r
   ReferenceBlock* reference;\r
   FunctionalBlock* block; // the current functional block for which this implementation is used.\r
   ArithmeticEvaluator* evaluator;\r
   ReferenceBlock* reference;\r
   FunctionalBlock* block; // the current functional block for which this implementation is used.\r
-\r
-  void generateComments(QDomElement &elt,QString coreFile, QTextStream& out) throw(Exception); // generates comments from <comments> element\r
-  void generateLibraries(QDomElement &elt, QTextStream& out) 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(QDomElement &elt, QTextStream& out) throw(Exception); // generate the architecture using <architecture> element\r
-  void generateController(QTextStream& out) throw(Exception); // generate the wishbone controller of the block\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 getIfaceUserName(AbstractInterface* refIface); // get the name of an interface given by the user, from the reference interface\r
 \r
 \r
   QString getIfaceUserName(AbstractInterface* refIface); // get the name of an interface given by the user, from the reference interface\r
 \r