X-Git-Url: https://bilbo.iut-bm.univ-fcomte.fr/and/gitweb/blast.git/blobdiff_plain/8d3e09e430e829b9d847847334cbfe37790baca3..5d4e709cb8d460b2efc083e6e7999f1c3a0eb602:/FunctionalBlock.h diff --git a/FunctionalBlock.h b/FunctionalBlock.h index 9852eb7..f898990 100644 --- a/FunctionalBlock.h +++ b/FunctionalBlock.h @@ -11,6 +11,9 @@ class ReferenceBlock; class GroupBlock; #include "Exception.h" class Exception; +class BlockImplementation; +class ArithmeticEvaluator; + using namespace std; @@ -29,6 +32,7 @@ public: inline ReferenceBlock* getReference() { return reference; } // setters + inline void setImplementation(BlockImplementation* impl) { implementation = impl; } // testers bool isFunctionalBlock(); @@ -43,6 +47,11 @@ public: QString getReferenceHashMd5(); // patterns + bool createPatterns(); + bool createDelta(); + bool createConsumptionPattern(); // initialize a QList for each interface from patterns defined in implementation + bool createProductionPattern(); // initialize a QList for each interface from patterns defined in implementation + bool createProductionCounter(); // initialize a QList from counter defined in implementation void initConsumptionPattern(); // initialize a char** from patterns defined for each interface void initProductionPattern(); // initialize a char** from patterns defined for each interface void clearConsumptionPattern(); @@ -50,7 +59,7 @@ public: private: // patterns - void computeOutputPattern(int nbExec = -1); + bool computeOutputPattern(int nbExec = -1); bool isValidDataGroup(char** pattern, int nbPorts, int clock); /*! * \brief combinePatterns @@ -71,8 +80,10 @@ private: char** productionPattern; int nbProducingPorts; int lengthPP; + ArithmeticEvaluator* evaluator; ReferenceBlock* reference; + BlockImplementation* implementation; };