class ReferenceBlock;
class FunctionalBlock;
class AbstractInterface;
-
+#include "Exception.h"
+class Exception;
using namespace std;
using namespace Qt;
// methods for group blocks
GroupBlock* createChildGroupBlock(GroupBlock* parent);
- bool removeGroupBlock(GroupBlock *group);
+ void removeGroupBlock(GroupBlock *group);
GroupBlock* getGroupBlockByName(QString name);
// methods for functional blocks
// others
QList<AbstractInterface *> getOutsideInterfaces();
+ QList<QString> getExternalResources(); // returns the list of all external files needed for VHDL generation
+
/*!
- * \brief initPatterns
- * initPatterns() crosses the graph and for each functional block, it computes
+ * \brief createPatterns
+ * createPatterns() crosses the graph and for each functional block, it computes
* the consumptionPattern, the productionPattern, the production counter and delta
* using the parameters fo the block.
*/
- bool createPatterns();
+ void createPatterns() throw(Exception);
void resetPatternComputed();
- bool computeOutputPatterns(int nbExec);
-
+ void computeOutputPatterns(int nbExec) throw(Exception);
+ void generateVHDL(const QString& path) throw(Exception);
+
private:
GroupBlock* topGroup;
QList<GroupBlock *> groups; //! usefull to avoid recursive methods to find a particular group.