Write yosys version to output files
authorClifford Wolf <clifford@clifford.at>
Sun, 3 Nov 2013 20:41:39 +0000 (21:41 +0100)
committerClifford Wolf <clifford@clifford.at>
Sun, 3 Nov 2013 20:41:39 +0000 (21:41 +0100)
backends/blif/blif.cc
backends/edif/edif.cc
backends/ilang/ilang_backend.cc
backends/spice/spice.cc
backends/verilog/verilog_backend.cc
kernel/driver.cc
kernel/register.h

index e8909b91a030a4e92c41ae19d22b9b68648547b4..9379fce549d12b732b808ddd6d1c5b0ac5ed9c97 100644 (file)
@@ -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)
index fe6e7bade28b4224bf0cc7cd7f8556afbe69849a..a4d8c17539c608f59f0b567a22e5a1bd121ef6a5 100644 (file)
@@ -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");
index 5d70457e8e2d60637c2fae79d91e1215b0395b4e..9bf0fb0aefe6180a893ba39060f063d53fce4a47 100644 (file)
@@ -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;
index e6e4ab4b045a6931e69dcccbc77f3f9f318b59cd..28a91714b8cf05e0df8e7944aaa8dbbc62334271 100644 (file)
@@ -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)
index 88a48b58423b7e170ba7a6edc6a5f9dfc26fa32c..66a4978088afbbf511f7ba342faac921c5a09507 100644 (file)
@@ -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);
                }
index 1e8b86a361d16af61c71f3ab1d4dcd2ba8f7962a..54f7a2e65bbd06ef97c23ece7c9a33412827e287 100644 (file)
@@ -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 = "";
index f66cbfd30e2a023cd056403aaef170181c9e98a8..4dd86cf3d47290dfdf931698fb17f84a4916d4bf 100644 (file)
@@ -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);