#include <iostream>\r
\r
#include <QtCore>\r
+#include <QtXml>\r
\r
#include "AbstractInterface.h"\r
class AbstractInterface;\r
bool isWBConfigurable();\r
\r
// others\r
- static QString normalizeName(const QString& name);\r
void connectClkReset() throw(Exception);\r
\r
+ virtual void generateVHDL(const QString& path) throw(Exception) = 0; // main entry to generate the VHDL code\r
+\r
+\r
virtual void parametersValidation(QList<AbstractBlock*>* checkedBlocks, QList<AbstractBlock*>* blocksToConfigure) = 0; // ugly but usefull \r
\r
void addParameter(BlockParameter *param);\r
// NB: only GroupBlock and FunctionalBlock have a real parent, except sources that have no parents\r
AbstractBlock* parent;\r
\r
+ virtual void generateComments(QTextStream& out, QDomElement &elt, QString coreFile) throw(Exception) = 0; // generates comments from <comments> element\r
+ virtual void generateLibraries(QTextStream& out, QDomElement &elt) throw(Exception) = 0; // generates libraries from <libraries> element\r
+ virtual void generateEntity(QTextStream& out, bool hasController=false) throw(Exception) = 0; // generate the entity using reference\r
+ virtual void generateArchitecture(QTextStream& out, QDomElement &elt ) throw(Exception) = 0; // generate the architecture using <architecture> element\r
+ virtual void generateController(QTextStream& out) throw(Exception) = 0; // generate the wishbone controller of the block\r
\r
};\r
\r