X-Git-Url: https://bilbo.iut-bm.univ-fcomte.fr/and/gitweb/blast.git/blobdiff_plain/eb12792fe5344f4d128b8aba2a7948aa13f6a1ae..18fecf25efe710631fabecbb9f689c2997fdfe18:/GroupBlock.cpp diff --git a/GroupBlock.cpp b/GroupBlock.cpp index 6950b30..17b7bba 100644 --- a/GroupBlock.cpp +++ b/GroupBlock.cpp @@ -5,6 +5,7 @@ #include "GroupInterface.h" #include "string.h" #include +#include "Parameters.h" int GroupBlock::counter = 1; @@ -31,20 +32,21 @@ GroupBlock::GroupBlock(GroupBlock *_parent) throw(Exception) : AbstractBlock() rst = new GroupInterface(this,"ext_reset", AbstractInterface::Input, AbstractInterface::Reset); addInterface(clk); addInterface(rst); - // creating clkrstgen block : done in Dispatcher since this has no access to library + // creating clkrstgen block and connecting it to this: done in Dispatcher since this has no access to library } parent = _parent; + if (_parent != NULL) { - // adding this to the child blocks of parent - _parent->addBlock(this); - // connect clk/rst ifaces to parent clk/rst or to clkrstgen if parent is top group - if (_parent->isTop()) { - + try { + connectClkReset(); } - else { - + catch(Exception e) { + AbstractBlock* source = (AbstractBlock *)(e.getSource()); + cerr << qPrintable(source->getName()) << ":" << qPrintable(e.getMessage()) << endl; + throw(e); } } + } GroupBlock::~GroupBlock() { @@ -268,7 +270,7 @@ void GroupBlock::generateVHDL(const QString& path) throw(Exception) { QString coreFile = ""; coreFile = path; - coreFile.append(normalizeName(name)); + coreFile.append(Parameters::normalizeName(name)); coreFile.append(".vhd"); QFile vhdlCore(coreFile); @@ -279,11 +281,12 @@ void GroupBlock::generateVHDL(const QString& path) throw(Exception) { QTextStream outCore(&vhdlCore); + QDomElement dummyElt; try { - generateComments(outCore); - generateLibraries(outCore); + generateComments(outCore,dummyElt,""); + generateLibraries(outCore,dummyElt); generateEntity(outCore); - generateArchitecture(outCore); + generateArchitecture(outCore,dummyElt); } catch(Exception err) { throw(err); @@ -293,11 +296,11 @@ void GroupBlock::generateVHDL(const QString& path) throw(Exception) { } -void GroupBlock::generateComments(QTextStream& out) throw(Exception) { +void GroupBlock::generateComments(QTextStream& out, QDomElement &elt, QString coreFile) throw(Exception) { out << " -- VHDL generated automatically for " << name << " --" << endl << endl; } -void GroupBlock::generateLibraries(QTextStream& out) throw(Exception) { +void GroupBlock::generateLibraries(QTextStream& out, QDomElement &elt) throw(Exception) { out << "library IEEE;" << endl; out << "use IEEE.STD_LOGIC_1164.all;" << endl; @@ -305,7 +308,7 @@ void GroupBlock::generateLibraries(QTextStream& out) throw(Exception) { } -void GroupBlock::generateEntity(QTextStream& out) throw(Exception) { +void GroupBlock::generateEntity(QTextStream& out, bool hasController) throw(Exception) { int i; @@ -408,7 +411,11 @@ void GroupBlock::generateEntity(QTextStream& out) throw(Exception) { } -void GroupBlock::generateArchitecture(QTextStream& out) throw(Exception) { +void GroupBlock::generateArchitecture(QTextStream& out, QDomElement &elt) throw(Exception) { + +} +void GroupBlock::generateController(QTextStream &out) throw(Exception) { + }