ref2->connectTo(ref1);
ok2 = true;
}
- if ((ok1 == true) || (ok2 == true)) {
-
- cout << "trying to create a connection from " << qPrintable(ref1->getOwner()->getName()) << "/" << qPrintable(ref1->getName());
- cout << " to " << qPrintable(ref2->getOwner()->getName()) << "/" << qPrintable(ref2->getName());
+ if ((ok1 == true) || (ok2 == true)) {
if (ok1) {
+ cout << "trying to create a connection from " << qPrintable(ref1->getOwner()->getName()) << "/" << qPrintable(ref1->getName());
+ cout << " to " << qPrintable(ref2->getOwner()->getName()) << "/" << qPrintable(ref2->getName());
iface1->getOwner()->getScene()->createConnectionItem(iface1,iface2, visible);
}
else {
+ cout << "trying to create a connection from " << qPrintable(ref2->getOwner()->getName()) << "/" << qPrintable(ref2->getName());
+ cout << " to " << qPrintable(ref1->getOwner()->getName()) << "/" << qPrintable(ref1->getName());
iface2->getOwner()->getScene()->createConnectionItem(iface2,iface1, visible);
}
make.copy(dest);
}
- // copying external resources
+ // generate VHDL + copying external resources
QString dest = params->projectPath;
- dest += "/src/";
- try {
+ dest += "/src/";
+ try {
params->getGraph()->generateVHDL(dest);
QList<QString> extResources = params->getGraph()->getExternalResources();
catch(Exception e) {
throw(e);
}
+ // generate testbench
+ dest = params->projectPath;
+ dest += "/testbench/";
+ dest += params->projectName;
+ dest += "_tb.vhd";
+ try {
+ params->getGraph()->generateTestbench(params->projectName, dest);
+ }
+ catch(Exception e) {
+ throw(e);
+ }
// creating parameters file
QString paramName = params->projectPath+"/params-isim.txt";
}
out << endl;
out << "VL_SRC := ${XILINX}/verilog/src/glbl.v" << endl << endl;
- out << "TB_SRC := $(TB_DIR)/read_csv.vhd \\" << endl;
- out << "\t$(TB_DIR)/$(PROJECT_NAME)_tb.vhd" << endl << endl;
+ out << "TB_SRC := $(TB_DIR)/$(PROJECT_NAME)_tb.vhd" << endl << endl;
out << "SIMU_EXE := $(PROJECT_NAME)_tb" << endl << endl;
paramFile.close();
cout << "call to " << qPrintable(fctName) << endl;
#endif
- bool createIfaces = true;
- if (context == Load) {
- createIfaces = false;
- }
+ Graph* graph = NULL;
// creating the graph and thus, the topgroup
- Graph* graph = params->initGraph(createIfaces);
- graph->addClock(mainClock);
+ if (context == Design) {
+ graph = params->initGraph(true);
+ graph->addClock(mainClock);
+ }
+ else if (context == Load) {
+ graph = params->initGraph(false);
+ }
+
// get the top group
GroupBlock *topBlock = graph->getTopGroup();
// creating the top group widget