summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorClifford Wolf <clifford@clifford.at>2013-11-03 21:41:39 +0100
committerClifford Wolf <clifford@clifford.at>2013-11-03 21:41:39 +0100
commit1dcb683fcb7d67b045b7600fdd28ec354b78632b (patch)
tree3d8b302b2daf8e5e3520d028e2ef0be84d923707
parenteab536a203cf542644fdf3a36eecb54599e684af (diff)
Write yosys version to output files
-rw-r--r--backends/blif/blif.cc2
-rw-r--r--backends/edif/edif.cc4
-rw-r--r--backends/ilang/ilang_backend.cc1
-rw-r--r--backends/spice/spice.cc5
-rw-r--r--backends/verilog/verilog_backend.cc4
-rw-r--r--kernel/driver.cc3
-rw-r--r--kernel/register.h3
7 files changed, 13 insertions, 9 deletions
diff --git a/backends/blif/blif.cc b/backends/blif/blif.cc
index e8909b91..9379fce5 100644
--- a/backends/blif/blif.cc
+++ b/backends/blif/blif.cc
@@ -293,6 +293,8 @@ struct BlifBackend : public Backend {
}
extra_args(f, filename, args, argidx);
+ fprintf(f, "# Generated by %s\n", yosys_version_str);
+
std::vector<RTLIL::Module*> mod_list;
for (auto module_it : design->modules)
diff --git a/backends/edif/edif.cc b/backends/edif/edif.cc
index fe6e7bad..a4d8c175 100644
--- a/backends/edif/edif.cc
+++ b/backends/edif/edif.cc
@@ -17,6 +17,9 @@
*
*/
+// [[CITE]] EDIF Version 2 0 0 Grammar
+// http://web.archive.org/web/20050730021644/http://www.edif.org/documentation/BNF_GRAMMAR/index.html
+
#include "kernel/rtlil.h"
#include "kernel/register.h"
#include "kernel/sigtools.h"
@@ -151,6 +154,7 @@ struct EdifBackend : public Backend {
fprintf(f, " (edifVersion 2 0 0)\n");
fprintf(f, " (edifLevel 0)\n");
fprintf(f, " (keywordMap (keywordLevel 0))\n");
+ fprintf(f, " (comment \"Generated by %s\")\n", yosys_version_str);
fprintf(f, " (external LIB\n");
fprintf(f, " (edifLevel 0)\n");
diff --git a/backends/ilang/ilang_backend.cc b/backends/ilang/ilang_backend.cc
index 5d70457e..9bf0fb0a 100644
--- a/backends/ilang/ilang_backend.cc
+++ b/backends/ilang/ilang_backend.cc
@@ -364,6 +364,7 @@ struct IlangBackend : public Backend {
extra_args(f, filename, args, argidx);
log("Output filename: %s\n", filename.c_str());
+ fprintf(f, "# Generated by %s\n", yosys_version_str);
ILANG_BACKEND::dump_design(f, design, selected);
}
} IlangBackend;
diff --git a/backends/spice/spice.cc b/backends/spice/spice.cc
index e6e4ab4b..28a91714 100644
--- a/backends/spice/spice.cc
+++ b/backends/spice/spice.cc
@@ -172,10 +172,7 @@ struct SpiceBackend : public Backend {
}
extra_args(f, filename, args, argidx);
- fprintf(f, "\n");
- fprintf(f, "*************************************\n");
- fprintf(f, "* SPICE netlist, generated by Yosys *\n");
- fprintf(f, "*************************************\n");
+ fprintf(f, "* SPICE netlist generated by %s\n", yosys_version_str);
fprintf(f, "\n");
for (auto module_it : design->modules)
diff --git a/backends/verilog/verilog_backend.cc b/backends/verilog/verilog_backend.cc
index 88a48b58..66a49780 100644
--- a/backends/verilog/verilog_backend.cc
+++ b/backends/verilog/verilog_backend.cc
@@ -803,6 +803,7 @@ void dump_module(FILE *f, std::string indent, RTLIL::Module *module)
reset_auto_counter(module);
active_module = module;
+ fprintf(f, "\n");
for (auto it = module->processes.begin(); it != module->processes.end(); it++)
dump_process(f, indent + " ", it->second, true);
@@ -956,6 +957,7 @@ struct VerilogBackend : public Backend {
}
extra_args(f, filename, args, argidx);
+ fprintf(f, "/* Generated by %s */\n", yosys_version_str);
for (auto it = design->modules.begin(); it != design->modules.end(); it++) {
if (it->second->get_bool_attribute("\\placeholder") != placeholders)
continue;
@@ -964,8 +966,6 @@ struct VerilogBackend : public Backend {
log_cmd_error("Can't handle partially selected module %s!\n", RTLIL::id2cstr(it->first));
continue;
}
- if (it != design->modules.begin())
- fprintf(f, "\n");
log("Dumping module `%s'.\n", it->first.c_str());
dump_module(f, "", it->second);
}
diff --git a/kernel/driver.cc b/kernel/driver.cc
index 1e8b86a3..54f7a2e6 100644
--- a/kernel/driver.cc
+++ b/kernel/driver.cc
@@ -31,9 +31,6 @@
#include "kernel/register.h"
#include "kernel/log.h"
-// from kernel/version_*.o (cc source generated from Makefile)
-extern const char *yosys_version_str;
-
bool fgetline(FILE *f, std::string &buffer)
{
buffer = "";
diff --git a/kernel/register.h b/kernel/register.h
index f66cbfd3..4dd86cf3 100644
--- a/kernel/register.h
+++ b/kernel/register.h
@@ -31,6 +31,9 @@
extern Tcl_Interp *yosys_get_tcl_interp();
#endif
+// from kernel/version_*.o (cc source generated from Makefile)
+extern const char *yosys_version_str;
+
// implemented in driver.cc
extern RTLIL::Design *yosys_get_design();
std::string rewrite_yosys_exe(std::string exe);