From e09ebc825fa3cd01fd11b73b3149ee1a948bed3f Mon Sep 17 00:00:00 2001 From: Makise Kurisu Date: Fri, 23 Jan 2015 19:57:05 +0100 Subject: [PATCH] Added custom options to vsim (-ghdl and -gtkwave) --- vsim/main.cpp | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) diff --git a/vsim/main.cpp b/vsim/main.cpp index 2f258fd..d30ab80 100644 --- a/vsim/main.cpp +++ b/vsim/main.cpp @@ -92,6 +92,8 @@ int main(int argc, char **argv) { string top = ""; string work = ""; string simtime = ""; + string ghdlargs = ""; + string wvargs = ""; int i; char tempdir[256] = ""; // Compile dir @@ -103,6 +105,12 @@ int main(int argc, char **argv) { for (i=1; i < argc; ++i) { if (ISOPT("-gui")) { + } + else if (GETOPT("-ghdl")) { + ghdlargs = argv[i]; + } + else if (GETOPT("-gtkwave")) { + wvargs = argv[i]; } else { if (argv[i][0] == '-') { @@ -154,7 +162,7 @@ int main(int argc, char **argv) { //bool ex = false; //while (!ex) { cout << "Compiling..." << endl; - string cargs = "cd " + string(tempdir) + "; ghdl -m --ieee=synopsys --warn-no-vital-generic -fexplicit --workdir=" + string(tempdir) + " --work=" + work + " " + top; + string cargs = "cd " + string(tempdir) + "; ghdl -m --ieee=synopsys --warn-no-vital-generic " << ghdlargs <<" -fexplicit --workdir=" + string(tempdir) + " --work=" + work + " " + top; if (run(cargs)) { cerr << "Error: Compilation failed." << endl; run("zenity --error --text \"Compilation failed.\""); @@ -165,7 +173,7 @@ int main(int argc, char **argv) { string st = getSimulationTime(); if (st != "") { cout << "Simulating..." << endl; - if (run("cd " + string(tempdir) + "; ./" + top + " --stop-time=" + st + " --vcd=" + top + ".vcd")) { + if (run("cd " + string(tempdir) + "; ./" + top + " " << wvargs << " --stop-time=" + st + " --vcd=" + top + ".vcd")) { cerr << "Error: Simulation failed." << endl; } else {