-void AbstractBlock::connectClkReset() throw(Exception) {\r
-\r
- GroupBlock* parentBlock = AB_TO_GRP(parent);\r
-\r
- cout << "connecting clk/rst for child " << qPrintable(name) << " of " << qPrintable(parentBlock->getName()) << endl;\r
-\r
- QList<AbstractInterface* > lstClk = getInterfaces(AbstractInterface::Input,AbstractInterface::Clock);\r
- QList<AbstractInterface* > lstRst = getInterfaces(AbstractInterface::Input,AbstractInterface::Reset);\r
+ if (parentBlock->isTop()) {\r
+ QString genName = "clkrstgen_" + QString::number(idGen);\r
+ AbstractBlock* clkrstgen = parentBlock->getFunctionalBlockByName(genName);\r
+ if (clkrstgen == NULL) {\r
+ throw(Exception(IFACE_TOP_NOCLKRSTGEN,this));\r
+ }\r
+ else {\r
+ fromClk = AI_TO_CON(clkrstgen->getIfaceFromName("clk")); \r
+ }\r
+ cout << "connecting clock for " << qPrintable(name) << " to " << qPrintable(genName) << endl;\r
+ }\r
+ else {\r
+ // searching for ext_clk_idGen\r
+ QString name = "ext_clk_"+QString::number(idGen);\r
+ fromClk = AI_TO_CON(parentBlock->getIfaceFromName(name));\r
+ cout << "connecting clk for child " << qPrintable(name) << " of " << qPrintable(parentBlock->getName()) << endl;\r
+ }\r