Added "yosys -D" feature
authorClifford Wolf <clifford@clifford.at>
Thu, 21 Apr 2016 21:28:37 +0000 (23:28 +0200)
committerClifford Wolf <clifford@clifford.at>
Thu, 21 Apr 2016 21:28:37 +0000 (23:28 +0200)
113 files changed:
backends/blif/blif.cc
backends/btor/btor.cc
backends/edif/edif.cc
backends/ilang/ilang_backend.cc
backends/intersynth/intersynth.cc
backends/json/json.cc
backends/smt2/smt2.cc
backends/smv/smv.cc
backends/spice/spice.cc
backends/verilog/verilog_backend.cc
frontends/ast/ast.cc
frontends/blif/blifparse.cc
frontends/ilang/ilang_frontend.cc
frontends/liberty/liberty.cc
frontends/verific/verific.cc
frontends/verilog/verilog_frontend.cc
frontends/vhdl2verilog/vhdl2verilog.cc
kernel/driver.cc
kernel/log.cc
kernel/log.h
kernel/register.cc
manual/CHAPTER_Prog/stubnets.cc
manual/PRESENTATION_Prog.tex
manual/PRESENTATION_Prog/my_cmd.cc
passes/cmds/check.cc
passes/cmds/connwrappers.cc
passes/cmds/cover.cc
passes/cmds/qwp.cc
passes/cmds/scc.cc
passes/cmds/show.cc
passes/cmds/splice.cc
passes/cmds/splitnets.cc
passes/cmds/stat.cc
passes/cmds/torder.cc
passes/equiv/equiv_induct.cc
passes/equiv/equiv_make.cc
passes/equiv/equiv_mark.cc
passes/equiv/equiv_miter.cc
passes/equiv/equiv_purge.cc
passes/equiv/equiv_remove.cc
passes/equiv/equiv_simple.cc
passes/equiv/equiv_status.cc
passes/equiv/equiv_struct.cc
passes/fsm/fsm.cc
passes/fsm/fsm_detect.cc
passes/fsm/fsm_expand.cc
passes/fsm/fsm_export.cc
passes/fsm/fsm_extract.cc
passes/fsm/fsm_info.cc
passes/fsm/fsm_map.cc
passes/fsm/fsm_opt.cc
passes/fsm/fsm_recode.cc
passes/hierarchy/hierarchy.cc
passes/hierarchy/singleton.cc
passes/hierarchy/submod.cc
passes/memory/memory.cc
passes/memory/memory_bram.cc
passes/memory/memory_collect.cc
passes/memory/memory_dff.cc
passes/memory/memory_map.cc
passes/memory/memory_share.cc
passes/memory/memory_unpack.cc
passes/opt/opt.cc
passes/opt/opt_clean.cc
passes/opt/opt_expr.cc
passes/opt/opt_merge.cc
passes/opt/opt_muxtree.cc
passes/opt/opt_reduce.cc
passes/opt/opt_rmdff.cc
passes/opt/share.cc
passes/opt/wreduce.cc
passes/proc/proc.cc
passes/proc/proc_arst.cc
passes/proc/proc_clean.cc
passes/proc/proc_dff.cc
passes/proc/proc_dlatch.cc
passes/proc/proc_init.cc
passes/proc/proc_mux.cc
passes/proc/proc_rmdead.cc
passes/sat/eval.cc
passes/sat/expose.cc
passes/sat/freduce.cc
passes/sat/miter.cc
passes/sat/sat.cc
passes/techmap/abc.cc
passes/techmap/aigmap.cc
passes/techmap/alumacc.cc
passes/techmap/dff2dffe.cc
passes/techmap/dffinit.cc
passes/techmap/dfflibmap.cc
passes/techmap/dffsr2dff.cc
passes/techmap/extract.cc
passes/techmap/hilomap.cc
passes/techmap/iopadmap.cc
passes/techmap/lut2mux.cc
passes/techmap/maccmap.cc
passes/techmap/muxcover.cc
passes/techmap/nlutmap.cc
passes/techmap/pmuxtree.cc
passes/techmap/shregmap.cc
passes/techmap/simplemap.cc
passes/techmap/techmap.cc
passes/techmap/tribuf.cc
passes/tests/test_autotb.cc
techlibs/common/prep.cc
techlibs/common/synth.cc
techlibs/greenpak4/greenpak4_counters.cc
techlibs/greenpak4/synth_greenpak4.cc
techlibs/ice40/ice40_ffinit.cc
techlibs/ice40/ice40_ffssr.cc
techlibs/ice40/ice40_opt.cc
techlibs/ice40/synth_ice40.cc
techlibs/xilinx/synth_xilinx.cc

index 14b8b372e216f0b63a2ffff4c8c3e0e8c5ea3ce7..f9de87d9fcd2571ce607f1816323247357a78cbc 100644 (file)
@@ -448,7 +448,7 @@ struct BlifBackend : public Backend {
                std::string false_type, false_out;
                BlifDumperConfig config;
 
-               log_header("Executing BLIF backend.\n");
+               log_header(design, "Executing BLIF backend.\n");
 
                size_t argidx;
                for (argidx = 1; argidx < args.size(); argidx++)
index 465723f1a24e4e09f2388b151fe407666be5d43b..bbe90e85f0df571b5dcaefdaa2f1774780b3c8c8 100644 (file)
@@ -1065,7 +1065,7 @@ struct BtorBackend : public Backend {
                std::string false_type, false_out;
                BtorDumperConfig config;
 
-               log_header("Executing BTOR backend.\n");
+               log_header(design, "Executing BTOR backend.\n");
 
                size_t argidx=1;
                extra_args(f, filename, args, argidx);
index 72bf07f5308452bfaf36596edc96d92d02bf248a..d16f18316f5aec740ca22520cf6a5b9e74f44cdd 100644 (file)
@@ -113,7 +113,7 @@ struct EdifBackend : public Backend {
        }
        virtual void execute(std::ostream *&f, std::string filename, std::vector<std::string> args, RTLIL::Design *design)
        {
-               log_header("Executing EDIF backend.\n");
+               log_header(design, "Executing EDIF backend.\n");
 
                std::string top_module_name;
                std::map<RTLIL::IdString, std::map<RTLIL::IdString, int>> lib_cell_ports;
index adabf05ecebeaf460520245b4d56f6ce92ae88d0..03e29c52499742c5b0787912128bb087ce46dfa2 100644 (file)
@@ -391,7 +391,7 @@ struct IlangBackend : public Backend {
        {
                bool selected = false;
 
-               log_header("Executing ILANG backend.\n");
+               log_header(design, "Executing ILANG backend.\n");
 
                size_t argidx;
                for (argidx = 1; argidx < args.size(); argidx++) {
index 72a70e38046c672b187b224e5839826d751d6b8d..34cb52fb44a53fc3a1282b51358da067f7b05156 100644 (file)
@@ -73,7 +73,7 @@ struct IntersynthBackend : public Backend {
        }
        virtual void execute(std::ostream *&f, std::string filename, std::vector<std::string> args, RTLIL::Design *design)
        {
-               log_header("Executing INTERSYNTH backend.\n");
+               log_header(design, "Executing INTERSYNTH backend.\n");
                log_push();
 
                std::vector<std::string> libfiles;
@@ -113,7 +113,7 @@ struct IntersynthBackend : public Backend {
                }
 
                if (libs.size() > 0)
-                       log_header("Continuing INTERSYNTH backend.\n");
+                       log_header(design, "Continuing INTERSYNTH backend.\n");
 
                std::set<std::string> conntypes_code, celltypes_code;
                std::string netlists_code;
index 7d5ee58e8801043ec9bda0a313acf37b68864e4d..05530ee69cfbd612e30e43dd5eed0bb55f52f373 100644 (file)
@@ -463,7 +463,7 @@ struct JsonBackend : public Backend {
                }
                extra_args(f, filename, args, argidx);
 
-               log_header("Executing JSON backend.\n");
+               log_header(design, "Executing JSON backend.\n");
 
                JsonWriter json_writer(*f, false, aig_mode);
                json_writer.write_design(design);
index c852921eed498fe800b4234fb49cd7db0b5cc344..e869f78cd7d563e506840e3b075a874db7c2c369 100644 (file)
@@ -758,7 +758,7 @@ struct Smt2Backend : public Backend {
                std::ifstream template_f;
                bool bvmode = false, memmode = false, regsmode = false, wiresmode = false, verbose = false;
 
-               log_header("Executing SMT2 backend.\n");
+               log_header(design, "Executing SMT2 backend.\n");
 
                size_t argidx;
                for (argidx = 1; argidx < args.size(); argidx++)
index b29a88ac26e95c7ee17affd4f696d80add6b4292..162ce49062d449c22ae854bf18d0f609f5c9f303 100644 (file)
@@ -694,7 +694,7 @@ struct SmvBackend : public Backend {
                std::ifstream template_f;
                bool verbose = false;
 
-               log_header("Executing SMV backend.\n");
+               log_header(design, "Executing SMV backend.\n");
 
                size_t argidx;
                for (argidx = 1; argidx < args.size(); argidx++)
index bd54f16b9aa566559e3d79811e3feb1416231dab..4b88a39097dd0a7a1a180c89c4eb1c66c5dc561d 100644 (file)
@@ -168,7 +168,7 @@ struct SpiceBackend : public Backend {
                bool big_endian = false, use_inames = false;
                std::string neg = "Vss", pos = "Vdd", ncpf = "_NC";
 
-               log_header("Executing SPICE backend.\n");
+               log_header(design, "Executing SPICE backend.\n");
 
                size_t argidx;
                for (argidx = 1; argidx < args.size(); argidx++)
index 2d2b4bcfa5b407e170a61c7d843e901938be2584..c5c6b5a0880dc667c87518cdc61ee252b09bc523 100644 (file)
@@ -1363,7 +1363,7 @@ struct VerilogBackend : public Backend {
        }
        virtual void execute(std::ostream *&f, std::string filename, std::vector<std::string> args, RTLIL::Design *design)
        {
-               log_header("Executing Verilog backend.\n");
+               log_header(design, "Executing Verilog backend.\n");
 
                norename = false;
                noattr = false;
index c49f29ce728731663388dac8da321d273a4c9e74..64fd0a49c3f7dff9a96b9606c20c0d1ee2aef451 100644 (file)
@@ -1042,7 +1042,7 @@ RTLIL::IdString AstModule::derive(RTLIL::Design *design, dict<RTLIL::IdString, R
        if (stripped_name.substr(0, 9) == "$abstract")
                stripped_name = stripped_name.substr(9);
 
-       log_header("Executing AST frontend in derive mode using pre-parsed AST for module `%s'.\n", stripped_name.c_str());
+       log_header(design, "Executing AST frontend in derive mode using pre-parsed AST for module `%s'.\n", stripped_name.c_str());
 
        current_ast = NULL;
        flag_dump_ast1 = false;
index ee0e771e917a2cbfbd70a3a990758acef6e7459b..a028c4336b549c45a5e1672de618728d49b280ea 100644 (file)
@@ -399,7 +399,7 @@ struct BlifFrontend : public Frontend {
        }
        virtual void execute(std::istream *&f, std::string filename, std::vector<std::string> args, RTLIL::Design *design)
        {
-               log_header("Executing BLIF frontend.\n");
+               log_header(design, "Executing BLIF frontend.\n");
 
                size_t argidx;
                for (argidx = 1; argidx < args.size(); argidx++) {
index 7361a254bf0c57ed0ac3e540bad283c32983278a..ed67899872434425391094d57de5014c36df98c4 100644 (file)
@@ -47,7 +47,7 @@ struct IlangFrontend : public Frontend {
        }
        virtual void execute(std::istream *&f, std::string filename, std::vector<std::string> args, RTLIL::Design *design)
        {
-               log_header("Executing ILANG frontend.\n");
+               log_header(design, "Executing ILANG frontend.\n");
                extra_args(f, filename, args, 1);
                log("Input filename: %s\n", filename.c_str());
 
index f02a73230443b4a27c51bba31e42b8e5962c27b2..0be58b6da675f27344d836c2eddb2d715ce8e2b1 100644 (file)
@@ -437,7 +437,7 @@ struct LibertyFrontend : public Frontend {
                bool flag_ignore_miss_dir  = false;
                std::vector<std::string> attributes;
 
-               log_header("Executing Liberty frontend.\n");
+               log_header(design, "Executing Liberty frontend.\n");
 
                size_t argidx;
                for (argidx = 1; argidx < args.size(); argidx++) {
index b0fdedccd6c49ca007172aabc0e90f9a44f49f12..7dd36a747cc1ab3ccb657cdaeabb857b55dc9cf4 100644 (file)
@@ -850,7 +850,7 @@ struct VerificPass : public Pass {
 #ifdef YOSYS_ENABLE_VERIFIC
        virtual void execute(std::vector<std::string> args, RTLIL::Design *design)
        {
-               log_header("Executing VERIFIC (loading Verilog and VHDL designs using Verific).\n");
+               log_header(design, "Executing VERIFIC (loading Verilog and VHDL designs using Verific).\n");
 
                Message::SetConsoleOutput(0);
                Message::RegisterCallBackMsg(msg_func);
index 11c2824c38fad76783edc3dc9c7d75cc58de5398..f8ccda18102f487902ebab5483d27a637ffd7028 100644 (file)
@@ -186,7 +186,7 @@ struct VerilogFrontend : public Frontend {
                formal_mode = false;
                default_nettype_wire = true;
 
-               log_header("Executing Verilog-2005 frontend.\n");
+               log_header(design, "Executing Verilog-2005 frontend.\n");
 
                args.insert(args.begin()+1, verilog_defaults.begin(), verilog_defaults.end());
 
index 80bf243f09b9cb4aa05a19a1ffd262a0cb27f15c..6f9c0e3f57b79f485e637f8197c1ca8a2e068f19 100644 (file)
@@ -74,7 +74,7 @@ struct Vhdl2verilogPass : public Pass {
        }
        virtual void execute(std::vector<std::string> args, RTLIL::Design *design)
        {
-               log_header("Executing VHDL2VERILOG (importing VHDL designs using vhdl2verilog).\n");
+               log_header(design, "Executing VHDL2VERILOG (importing VHDL designs using vhdl2verilog).\n");
                log_push();
 
                std::string out_file, top_entity;
@@ -173,7 +173,7 @@ struct Vhdl2verilogPass : public Pass {
                        Frontend::frontend_call(design, &ff, stringf("%s/vhdl2verilog_output.v", tempdir_name.c_str()), "verilog");
                }
 
-               log_header("Removing temp directory `%s':\n", tempdir_name.c_str());
+               log_header(design, "Removing temp directory `%s':\n", tempdir_name.c_str());
                remove_directory(tempdir_name);
                log_pop();
        }
index a41d0e8cbb8a978da29f282e5a3d694b367236ba..0844eaa2e9dcf2fd818e7698c4bc4f23542aaa14 100644 (file)
@@ -213,6 +213,10 @@ int main(int argc, char **argv)
                printf("    -A\n");
                printf("        will call abort() at the end of the script. for debugging\n");
                printf("\n");
+               printf("    -D <header_id>[:<filename>]\n");
+               printf("        dump the design when printing the specified log header to a file.\n");
+               printf("        yosys_dump_<header_id>.il is used as filename if none is specified.\n");
+               printf("\n");
                printf("    -V\n");
                printf("        print version information and exit\n");
                printf("\n");
@@ -233,7 +237,7 @@ int main(int argc, char **argv)
        }
 
        int opt;
-       while ((opt = getopt(argc, argv, "MXAQTVSm:f:Hh:b:o:p:l:L:qv:tds:c:")) != -1)
+       while ((opt = getopt(argc, argv, "MXAQTVSm:f:Hh:b:o:p:l:L:qv:tds:c:D:")) != -1)
        {
                switch (opt)
                {
@@ -315,6 +319,18 @@ int main(int argc, char **argv)
                        scriptfile = optarg;
                        scriptfile_tcl = true;
                        break;
+               case 'D':
+                       {
+                               auto args = split_tokens(optarg, ":");
+                               if (GetSize(args) == 1)
+                                       args.push_back("yosys_dump_" + args[0] + ".il");
+                               if (GetSize(args) != 2) {
+                                       fprintf(stderr, "Invalid number of tokens in -D.\n");
+                                       exit(1);
+                               }
+                               log_hdump[args[0]].insert(args[1]);
+                       }
+                       break;
                default:
                        fprintf(stderr, "Run '%s -h' for help.\n", argv[0]);
                        exit(1);
index 4f395c751a03e2435512f4d23e08377ba84f80de..f2b343dffa7564d993cce006470160475c485cd2 100644 (file)
@@ -40,6 +40,7 @@ YOSYS_NAMESPACE_BEGIN
 
 std::vector<FILE*> log_files;
 std::vector<std::ostream*> log_streams;
+std::map<std::string, std::set<std::string>> log_hdump;
 FILE *log_errfile = NULL;
 SHA1 *log_hasher = NULL;
 
@@ -136,7 +137,7 @@ void logv(const char *format, va_list ap)
                *f << str;
 }
 
-void logv_header(const char *format, va_list ap)
+void logv_header(RTLIL::Design *design, const char *format, va_list ap)
 {
        bool pop_errfile = false;
 
@@ -149,12 +150,21 @@ void logv_header(const char *format, va_list ap)
                pop_errfile = true;
        }
 
+       std::string header_id;
+
        for (int c : header_count)
-               log("%d.", c);
-       log(" ");
+               header_id += stringf("%s%d", header_id.empty() ? "" : ".", c);
+
+       log("%s. ", header_id.c_str());
        logv(format, ap);
        log_flush();
 
+       if (log_hdump.count(header_id) && design != nullptr)
+               for (auto &filename : log_hdump.at(header_id)) {
+                       log("Dumping current design to '%s'.\n", filename.c_str());
+                       Pass::call(design, {"dump", "-o", filename});
+               }
+
        if (pop_errfile)
                log_files.pop_back();
 }
@@ -206,11 +216,11 @@ void log(const char *format, ...)
        va_end(ap);
 }
 
-void log_header(const char *format, ...)
+void log_header(RTLIL::Design *design, const char *format, ...)
 {
        va_list ap;
        va_start(ap, format);
-       logv_header(format, ap);
+       logv_header(design, format, ap);
        va_end(ap);
 }
 
index c0be23b084d91b02627d0e33efcb3735755acb21..6090f82730bc2d32ba83df4fbf2f73b71f0cb378 100644 (file)
@@ -47,6 +47,7 @@ struct log_cmd_error_exception { };
 
 extern std::vector<FILE*> log_files;
 extern std::vector<std::ostream*> log_streams;
+extern std::map<std::string, std::set<std::string>> log_hdump;
 extern FILE *log_errfile;
 extern SHA1 *log_hasher;
 
@@ -58,12 +59,12 @@ extern int log_verbose_level;
 extern string log_last_error;
 
 void logv(const char *format, va_list ap);
-void logv_header(const char *format, va_list ap);
+void logv_header(RTLIL::Design *design, const char *format, va_list ap);
 void logv_warning(const char *format, va_list ap);
 YS_NORETURN void logv_error(const char *format, va_list ap) YS_ATTRIBUTE(noreturn);
 
 void log(const char *format, ...)  YS_ATTRIBUTE(format(printf, 1, 2));
-void log_header(const char *format, ...) YS_ATTRIBUTE(format(printf, 1, 2));
+void log_header(RTLIL::Design *design, const char *format, ...) YS_ATTRIBUTE(format(printf, 2, 3));
 void log_warning(const char *format, ...) YS_ATTRIBUTE(format(printf, 1, 2));
 YS_NORETURN void log_error(const char *format, ...) YS_ATTRIBUTE(format(printf, 1, 2), noreturn);
 YS_NORETURN void log_cmd_error(const char *format, ...) YS_ATTRIBUTE(format(printf, 1, 2), noreturn);
index ebe3055ac4fb5af01afe20b3c5c0743acdda0dcc..115880ed6ba0dc69a7c11ab390fb08086b19a245 100644 (file)
@@ -165,7 +165,7 @@ void Pass::call(RTLIL::Design *design, std::string command)
                while (!cmd_buf.empty() && (cmd_buf.back() == ' ' || cmd_buf.back() == '\t' ||
                                cmd_buf.back() == '\r' || cmd_buf.back() == '\n'))
                        cmd_buf.resize(cmd_buf.size()-1);
-               log_header("Shell command: %s\n", cmd_buf.c_str());
+               log_header(design, "Shell command: %s\n", cmd_buf.c_str());
                int retCode = run_command(cmd_buf);
                if (retCode != 0)
                        log_cmd_error("Shell command returned error code %d.\n", retCode);
index 976107fbf905ee417d8c5291d7f37957304ba901..eb77bd4044478b8faff2d5f25386f89df09b3dcd 100644 (file)
@@ -103,7 +103,7 @@ struct StubnetsPass : public Pass {
                // variables to mirror information from passed options
                bool report_bits = 0;
 
-               log_header("Executing STUBNETS pass (find stub nets).\n");
+               log_header(design, "Executing STUBNETS pass (find stub nets).\n");
 
                // parse options
                size_t argidx;
index 6b105a701777a88d74227b6ba71e178fcf082df2..73c2bf4196443948d744fe24cdd707d7f6e0c0ac 100644 (file)
@@ -477,7 +477,7 @@ log("Name of this module: %s\n", log_id(module->name));
 \medskip
 Use {\tt log\_header()} and {\tt log\_push()}/{\tt log\_pop()} to structure log messages:
 \begin{lstlisting}[xleftmargin=1cm, basicstyle=\ttfamily\fontsize{8pt}{10pt}\selectfont, language=C++]
-log_header("Doing important stuff!\n");
+log_header(design, "Doing important stuff!\n");
 log_push();
 for (int i = 0; i < 10; i++)
     log("Log message #%d.\n", i);
index 1d28ce974d27550cd81c76a819c50703b74dafa4..d99bfe1e88a69b404132ccc5d64a366cca060548 100644 (file)
@@ -65,7 +65,7 @@ struct Test2Pass : public Pass {
 
         log("Mapped signal x: %s\n", log_signal(sigmap(x)));
 
-        log_header("Doing important stuff!\n");
+        log_header(design, "Doing important stuff!\n");
         log_push();
         for (int i = 0; i < 10; i++)
             log("Log message #%d.\n", i);
index 2ad848386466e7360768ee1f231b64c55eb4b492..b3622cb191d59fa8ade8c1582ee08eb4d4453e2b 100644 (file)
@@ -68,7 +68,7 @@ struct CheckPass : public Pass {
                }
                extra_args(args, argidx, design);
 
-               log_header("Executing CHECK pass (checking for obvious problems).\n");
+               log_header(design, "Executing CHECK pass (checking for obvious problems).\n");
 
                for (auto module : design->selected_whole_modules_warn())
                {
index 7828dce1d141239419af85312db2b84b601f4d61..c9ab226d561be5a1d495f31937f68f2fa6b7109a 100644 (file)
@@ -198,7 +198,7 @@ struct ConnwrappersPass : public Pass {
                }
                extra_args(args, argidx, design);
 
-               log_header("Executing CONNWRAPPERS pass (connect extended ports of wrapper cells).\n");
+               log_header(design, "Executing CONNWRAPPERS pass (connect extended ports of wrapper cells).\n");
 
                for (auto &mod_it : design->modules_)
                        if (design->selected(mod_it.second))
index 5644066af680a5675cb1d68f54bdf9d15722e6c5..1475475c3314bca1c35d834f9361239eae615183 100644 (file)
@@ -124,7 +124,7 @@ struct CoverPass : public Pass {
                extra_args(args, argidx, design);
 
                if (do_log) {
-                       log_header("Printing code coverage counters.\n");
+                       log_header(design, "Printing code coverage counters.\n");
                        log("\n");
                }
 
index 8ec815a72c390ed25fde9e47dc39690b327461b1..8deb262b271b6d3f0b8fa3ecf6343cdbb18936dd 100644 (file)
@@ -787,7 +787,7 @@ struct QwpPass : public Pass {
                QwpConfig config;
                xorshift32_state = 123456789;
 
-               log_header("Executing QWP pass (quadratic wirelength placer).\n");
+               log_header(design, "Executing QWP pass (quadratic wirelength placer).\n");
 
                size_t argidx;
                for (argidx = 1; argidx < args.size(); argidx++) {
index 532026f26a7423fe5e1110188f041d14aca758d7..0071724069741bc9fd38b072d4c585d6210e3389 100644 (file)
@@ -264,7 +264,7 @@ struct SccPass : public Pass {
                int maxDepth = -1;
                int expect = -1;
 
-               log_header("Executing SCC pass (detecting logic loops).\n");
+               log_header(design, "Executing SCC pass (detecting logic loops).\n");
 
                size_t argidx;
                for (argidx = 1; argidx < args.size(); argidx++) {
index 3b03d6802643d396b4c0a44bbfb0038fd9031520..87504a33f15905429f63333c489cf7e60702d303 100644 (file)
@@ -651,7 +651,7 @@ struct ShowPass : public Pass {
        }
        virtual void execute(std::vector<std::string> args, RTLIL::Design *design)
        {
-               log_header("Generating Graphviz representation of design.\n");
+               log_header(design, "Generating Graphviz representation of design.\n");
                log_push();
 
                std::vector<std::pair<std::string, RTLIL::Selection>> color_selections;
@@ -784,7 +784,7 @@ struct ShowPass : public Pass {
                }
 
                if (libs.size() > 0)
-                       log_header("Continuing show pass.\n");
+                       log_header(design, "Continuing show pass.\n");
 
                std::string dot_file = stringf("%s.dot", prefix.c_str());
                std::string out_file = stringf("%s.%s", prefix.c_str(), format.empty() ? "svg" : format.c_str());
index 2556fb74037391ce2c184c00245cda2535f40a91..7418ec4d262bef735b91708f82e4213002e4b4f7 100644 (file)
@@ -341,7 +341,7 @@ struct SplicePass : public Pass {
                if (!ports.empty() && !no_ports.empty())
                        log_cmd_error("The options -port and -no_port are exclusive!\n");
 
-               log_header("Executing SPLICE pass (creating cells for signal splicing).\n");
+               log_header(design, "Executing SPLICE pass (creating cells for signal splicing).\n");
 
                for (auto &mod_it : design->modules_)
                {
index 0d7892d71b9bb7f2d8202144a624e621ef395096..14eeb066f5062cb01e57e64c404496ddfeaf27f0 100644 (file)
@@ -109,7 +109,7 @@ struct SplitnetsPass : public Pass {
                bool flag_driver = false;
                std::string format = "[]:";
 
-               log_header("Executing SPLITNETS pass (splitting up multi-bit signals).\n");
+               log_header(design, "Executing SPLITNETS pass (splitting up multi-bit signals).\n");
 
                size_t argidx;
                for (argidx = 1; argidx < args.size(); argidx++)
index 048933fcd30615bda750ca528d5aaf59b5bf34d8..362a0edfc24e896d06c54e49e7f5ba7875538681 100644 (file)
@@ -232,7 +232,7 @@ struct StatPass : public Pass {
        }
        virtual void execute(std::vector<std::string> args, RTLIL::Design *design)
        {
-               log_header("Printing statistics.\n");
+               log_header(design, "Printing statistics.\n");
 
                bool width_mode = false;
                RTLIL::Module *top_mod = NULL;
index 50317c023963a602ab53d96f695efb9ac483a2c2..56223610d46f83211f08f8f55710df5b9356fe9b 100644 (file)
@@ -48,7 +48,7 @@ struct TorderPass : public Pass {
                bool noautostop = false;
                dict<IdString, pool<IdString>> stop_db;
 
-               log_header("Executing TORDER pass (print cells in topological order).\n");
+               log_header(design, "Executing TORDER pass (print cells in topological order).\n");
 
                size_t argidx;
                for (argidx = 1; argidx < args.size(); argidx++) {
index cdb951ec90519597a3abc05100d22791de4b2ac9..c958c3de4908d6ae7068fb719a327bc75f2e8b04 100644 (file)
@@ -198,7 +198,7 @@ struct EquivInductPass : public Pass {
                bool model_undef = false;
                int max_seq = 4;
 
-               log_header("Executing EQUIV_INDUCT pass.\n");
+               log_header(design, "Executing EQUIV_INDUCT pass.\n");
 
                size_t argidx;
                for (argidx = 1; argidx < args.size(); argidx++) {
index 8b063c542565f9740147b1513236152d1835f88f..40ca42621ebc7d926330a1d7cdf2aea837738dca 100644 (file)
@@ -464,7 +464,7 @@ struct EquivMakePass : public Pass {
                worker.read_blacklists();
                worker.read_encfiles();
 
-               log_header("Executing EQUIV_MAKE pass (creating equiv checking module).\n");
+               log_header(design, "Executing EQUIV_MAKE pass (creating equiv checking module).\n");
 
                worker.equiv_mod = design->addModule(RTLIL::escape_id(args[argidx+2]));
                worker.run();
index 3e9819d1a4b34b69a18e60bf074fc562fefc4ddf..22c5017632b80dc4cc57ad81476fd6baa47e891a 100644 (file)
@@ -218,7 +218,7 @@ struct EquivMarkPass : public Pass {
        }
        virtual void execute(std::vector<std::string> args, Design *design)
        {
-               log_header("Executing EQUIV_MARK pass.\n");
+               log_header(design, "Executing EQUIV_MARK pass.\n");
 
                size_t argidx;
                for (argidx = 1; argidx < args.size(); argidx++) {
index 982176c44f6684fe07c116522b8bda0a68d3d2e3..eb2e5a17171ad4c4030885fcc87f971c60ce8c01 100644 (file)
@@ -333,7 +333,7 @@ struct EquivMiterPass : public Pass {
        found_two_modules:
                        log_cmd_error("Exactly one module must be selected for 'equiv_miter'!\n");
 
-               log_header("Executing EQUIV_MITER pass.\n");
+               log_header(design, "Executing EQUIV_MITER pass.\n");
 
                worker.miter_module = design->addModule(worker.miter_name);
                worker.run();
index f4141ad4dfcca43adfb544709e604bda9d8993fe..163b1009b957552e53504ed11393d20bd448fefa 100644 (file)
@@ -189,7 +189,7 @@ struct EquivPurgePass : public Pass {
        }
        virtual void execute(std::vector<std::string> args, Design *design)
        {
-               log_header("Executing EQUIV_PURGE pass.\n");
+               log_header(design, "Executing EQUIV_PURGE pass.\n");
 
                size_t argidx;
                for (argidx = 1; argidx < args.size(); argidx++) {
index b5c383b643f62d047b9c57a1999c28c4cbc7c85b..770497a51fe514f290b4bcfcdf53d77bf6133bca 100644 (file)
@@ -46,7 +46,7 @@ struct EquivRemovePass : public Pass {
                bool mode_gate = false;
                int remove_count = 0;
 
-               log_header("Executing EQUIV_REMOVE pass.\n");
+               log_header(design, "Executing EQUIV_REMOVE pass.\n");
 
                size_t argidx;
                for (argidx = 1; argidx < args.size(); argidx++) {
index fa22dc62164f38d61e9872fc9aa25ca9b428abbc..49963ed68ef7fb4f39fef0b5cbd967088108fe0d 100644 (file)
@@ -277,7 +277,7 @@ struct EquivSimplePass : public Pass {
                int success_counter = 0;
                int max_seq = 1;
 
-               log_header("Executing EQUIV_SIMPLE pass.\n");
+               log_header(design, "Executing EQUIV_SIMPLE pass.\n");
 
                size_t argidx;
                for (argidx = 1; argidx < args.size(); argidx++) {
index 8a2f5e05cfa5eac1a183f1a8c932a0127e0f6e09..7b9230b350f20533a0a9d645fdbbdc3676d921d1 100644 (file)
@@ -41,7 +41,7 @@ struct EquivStatusPass : public Pass {
                bool assert_mode = false;
                int unproven_count = 0;
 
-               log_header("Executing EQUIV_STATUS pass.\n");
+               log_header(design, "Executing EQUIV_STATUS pass.\n");
 
                size_t argidx;
                for (argidx = 1; argidx < args.size(); argidx++) {
index 2c85d2d3cd949fb271152b65ff0ddefe0f70050b..c4ced6a7150ad808ef6736507aa3f1791776bc4f 100644 (file)
@@ -321,7 +321,7 @@ struct EquivStructPass : public Pass {
                bool mode_fwd = false;
                int max_iter = -1;
 
-               log_header("Executing EQUIV_STRUCT pass.\n");
+               log_header(design, "Executing EQUIV_STRUCT pass.\n");
 
                size_t argidx;
                for (argidx = 1; argidx < args.size(); argidx++) {
index 3f5564fc58bc1aecb5d51e6f1447c6a7b0d1e7dd..3b537ecd8c59e13da2152640c87ca4278402e149 100644 (file)
@@ -76,7 +76,7 @@ struct FsmPass : public Pass {
                std::string encfile_opt;
                std::string encoding_opt;
 
-               log_header("Executing FSM pass (extract and optimize FSM).\n");
+               log_header(design, "Executing FSM pass (extract and optimize FSM).\n");
                log_push();
 
                size_t argidx;
index 740113e354ce07ae98dba5129c190d8d9afc6de2..5a240ba60fde666103ec0ac91ca2c00a7bfc782a 100644 (file)
@@ -154,7 +154,7 @@ struct FsmDetectPass : public Pass {
        }
        virtual void execute(std::vector<std::string> args, RTLIL::Design *design)
        {
-               log_header("Executing FSM_DETECT pass (finding FSMs in design).\n");
+               log_header(design, "Executing FSM_DETECT pass (finding FSMs in design).\n");
                extra_args(args, 1, design);
 
                CellTypes ct;
index 43c9a792f835bf61cfbb25a5b5d2c4af7245bc06..3ded3f37713ef4c3f5b2153c664ada234f065501 100644 (file)
@@ -258,7 +258,7 @@ struct FsmExpandPass : public Pass {
        }
        virtual void execute(std::vector<std::string> args, RTLIL::Design *design)
        {
-               log_header("Executing FSM_EXPAND pass (merging auxiliary logic into FSMs).\n");
+               log_header(design, "Executing FSM_EXPAND pass (merging auxiliary logic into FSMs).\n");
                extra_args(args, 1, design);
 
                for (auto &mod_it : design->modules_) {
index 0eff28844597b7beb541a7e0695cc947a112ac05..1cbfcfae845d86455b3b638b2f1963bf9f67f13a 100644 (file)
@@ -152,7 +152,7 @@ struct FsmExportPass : public Pass {
                bool flag_origenc = false;
                size_t argidx;
 
-               log_header("Executing FSM_EXPORT pass (exporting FSMs in KISS2 file format).\n");
+               log_header(design, "Executing FSM_EXPORT pass (exporting FSMs in KISS2 file format).\n");
 
                for (argidx = 1; argidx < args.size(); argidx++) {
                        arg = args[argidx];
index d61ac568d3a07f70c0207ad385cc70a530c16720..95cb498e348822ecb8d86f43f9dd5cce2164a007 100644 (file)
@@ -416,7 +416,7 @@ struct FsmExtractPass : public Pass {
        }
        virtual void execute(std::vector<std::string> args, RTLIL::Design *design)
        {
-               log_header("Executing FSM_EXTRACT pass (extracting FSM from design).\n");
+               log_header(design, "Executing FSM_EXTRACT pass (extracting FSM from design).\n");
                extra_args(args, 1, design);
 
                CellTypes ct;
index 20db82c1f9cdf21214acebb77dc3a0273ab54952..2cc1a7d539db9d185f8632aa12e165be222fc45d 100644 (file)
@@ -43,7 +43,7 @@ struct FsmInfoPass : public Pass {
        }
        virtual void execute(std::vector<std::string> args, RTLIL::Design *design)
        {
-               log_header("Executing FSM_INFO pass (dumping all available information on FSM cells).\n");
+               log_header(design, "Executing FSM_INFO pass (dumping all available information on FSM cells).\n");
                extra_args(args, 1, design);
 
                for (auto &mod_it : design->modules_)
index 574b9a20151ffaeecc5484e9dba6b19c31379d80..5b32ed599c37ba8c618586bf6c852f46bef755db 100644 (file)
@@ -335,7 +335,7 @@ struct FsmMapPass : public Pass {
        }
        virtual void execute(std::vector<std::string> args, RTLIL::Design *design)
        {
-               log_header("Executing FSM_MAP pass (mapping FSMs to basic logic).\n");
+               log_header(design, "Executing FSM_MAP pass (mapping FSMs to basic logic).\n");
                extra_args(args, 1, design);
 
                for (auto &mod_it : design->modules_) {
index a7cc95ffa4500d49ff2ae20c8fe667c90cde4900..5b1da44fc8a004f854d8ec7864dce046b4dd50c6 100644 (file)
@@ -336,7 +336,7 @@ struct FsmOptPass : public Pass {
        }
        virtual void execute(std::vector<std::string> args, RTLIL::Design *design)
        {
-               log_header("Executing FSM_OPT pass (simple optimizations of FSMs).\n");
+               log_header(design, "Executing FSM_OPT pass (simple optimizations of FSMs).\n");
                extra_args(args, 1, design);
 
                for (auto &mod_it : design->modules_) {
index a4b45295e11ebdb8fafb9a8891011252f5bfa0f7..5102d8334ee1b2372af695527af87f2fad6d7968 100644 (file)
@@ -157,7 +157,7 @@ struct FsmRecodePass : public Pass {
                FILE *encfile = NULL;
                std::string default_encoding;
 
-               log_header("Executing FSM_RECODE pass (re-assigning FSM state encoding).\n");
+               log_header(design, "Executing FSM_RECODE pass (re-assigning FSM state encoding).\n");
                size_t argidx;
                for (argidx = 1; argidx < args.size(); argidx++) {
                        std::string arg = args[argidx];
index 129f483990c8c4061c74417fb93aa2a824704771..460b3c69307a922354c47e8b2ddae465a708d82d 100644 (file)
@@ -396,7 +396,7 @@ struct HierarchyPass : public Pass {
        }
        virtual void execute(std::vector<std::string> args, RTLIL::Design *design)
        {
-               log_header("Executing HIERARCHY pass (managing design hierarchy).\n");
+               log_header(design, "Executing HIERARCHY pass (managing design hierarchy).\n");
 
                bool flag_check = false;
                bool purge_lib = false;
@@ -506,7 +506,7 @@ struct HierarchyPass : public Pass {
                                        top_mod = mod_it.second;
 
                if (top_mod == nullptr && auto_top_mode) {
-                       log_header("Finding top of design hierarchy..\n");
+                       log_header(design, "Finding top of design hierarchy..\n");
                        dict<Module*, int> db;
                        for (Module *mod : design->selected_modules()) {
                                int score = find_top_mod_score(design, mod, db);
@@ -525,7 +525,7 @@ struct HierarchyPass : public Pass {
 
                        std::set<RTLIL::Module*> used_modules;
                        if (top_mod != NULL) {
-                               log_header("Analyzing design hierarchy..\n");
+                               log_header(design, "Analyzing design hierarchy..\n");
                                hierarchy_worker(design, used_modules, top_mod, 0);
                        } else {
                                for (auto mod : design->modules())
@@ -539,7 +539,7 @@ struct HierarchyPass : public Pass {
                }
 
                if (top_mod != NULL) {
-                       log_header("Analyzing design hierarchy..\n");
+                       log_header(design, "Analyzing design hierarchy..\n");
                        hierarchy_clean(design, top_mod, purge_lib);
                }
 
index 5715c0eb1354f3bf366db278dbf28344e03f581d..03c365fb5dfd56fb34f143c0acc722e3e4840e87 100644 (file)
@@ -43,7 +43,7 @@ struct SingletonPass : public Pass {
        }
        virtual void execute(std::vector<std::string> args, RTLIL::Design *design)
        {
-               log_header("Executing SINGLETON pass (creating singleton modules).\n");
+               log_header(design, "Executing SINGLETON pass (creating singleton modules).\n");
 
                size_t argidx;
                for (argidx = 1; argidx < args.size(); argidx++)
index d4e8c96cad40a5e08347edc6fd72f6dd44973b01..9f312f82dfc00f2acdf8c4381b7ba69ca866b408 100644 (file)
@@ -298,7 +298,7 @@ struct SubmodPass : public Pass {
        }
        virtual void execute(std::vector<std::string> args, RTLIL::Design *design)
        {
-               log_header("Executing SUBMOD pass (moving cells to submodules as requested).\n");
+               log_header(design, "Executing SUBMOD pass (moving cells to submodules as requested).\n");
                log_push();
 
                std::string opt_name;
@@ -321,7 +321,7 @@ struct SubmodPass : public Pass {
                if (opt_name.empty())
                {
                        Pass::call(design, "opt_clean");
-                       log_header("Continuing SUBMOD pass.\n");
+                       log_header(design, "Continuing SUBMOD pass.\n");
 
                        std::set<RTLIL::IdString> handled_modules;
 
@@ -356,7 +356,7 @@ struct SubmodPass : public Pass {
                                log("Nothing selected -> do nothing.\n");
                        else {
                                Pass::call_on_module(design, module, "opt_clean");
-                               log_header("Continuing SUBMOD pass.\n");
+                               log_header(design, "Continuing SUBMOD pass.\n");
                                SubmodWorker worker(design, module, copy_mode, opt_name);
                        }
                }
index 4e74d1a4803a574459d03b1cc77c145a64092421..e3c627607d019d84b963787904f09de033dce314 100644 (file)
@@ -53,7 +53,7 @@ struct MemoryPass : public Pass {
                bool flag_nordff = false;
                string memory_bram_opts;
 
-               log_header("Executing MEMORY pass.\n");
+               log_header(design, "Executing MEMORY pass.\n");
                log_push();
 
                size_t argidx;
index f2d9b5847ee226e1fc9bf82db8098b5bd5bbdcdc..cd424fd68987d940cbf4dfd5472ca62f5b4ce4c8 100644 (file)
@@ -1211,7 +1211,7 @@ struct MemoryBramPass : public Pass {
        {
                rules_t rules;
 
-               log_header("Executing MEMORY_BRAM pass (mapping $mem cells to block memories).\n");
+               log_header(design, "Executing MEMORY_BRAM pass (mapping $mem cells to block memories).\n");
 
                size_t argidx;
                for (argidx = 1; argidx < args.size(); argidx++) {
index 5c0acb3e5a9cfdb75ac051965facb9a71ee91d40..e068ef90518ace50b6ea1265de47c66d7e02f315 100644 (file)
@@ -247,7 +247,7 @@ struct MemoryCollectPass : public Pass {
                log("\n");
        }
        virtual void execute(std::vector<std::string> args, RTLIL::Design *design) {
-               log_header("Executing MEMORY_COLLECT pass (generating $mem cells).\n");
+               log_header(design, "Executing MEMORY_COLLECT pass (generating $mem cells).\n");
                extra_args(args, 1, design);
                for (auto &mod_it : design->modules_)
                        if (design->selected(mod_it.second))
index beb2016a9ab2d1914fe1061f146de3b24761109f..40691d160c67d8cadf17d12415e1ad0200144f5a 100644 (file)
@@ -283,7 +283,7 @@ struct MemoryDffPass : public Pass {
        {
                bool flag_wr_only = false;
 
-               log_header("Executing MEMORY_DFF pass (merging $dff cells to $memrd and $memwr).\n");
+               log_header(design, "Executing MEMORY_DFF pass (merging $dff cells to $memrd and $memwr).\n");
 
                size_t argidx;
                for (argidx = 1; argidx < args.size(); argidx++) {
index 0b8ccb36379ec8a854d01000e170076fc9bf0e67..bffeec8572635373cfc5a59d68d9c9566b67e4db 100644 (file)
@@ -363,7 +363,7 @@ struct MemoryMapPass : public Pass {
                log("\n");
        }
        virtual void execute(std::vector<std::string> args, RTLIL::Design *design) {
-               log_header("Executing MEMORY_MAP pass (converting $mem cells to logic and flip-flops).\n");
+               log_header(design, "Executing MEMORY_MAP pass (converting $mem cells to logic and flip-flops).\n");
                extra_args(args, 1, design);
                for (auto mod : design->selected_modules())
                        MemoryMapWorker(design, mod);
index 844f4296f00a38e91718a4a03df3a17c9faa11e5..f298169dec3b1c6067a6ec6e53972eb33942d86d 100644 (file)
@@ -747,7 +747,7 @@ struct MemorySharePass : public Pass {
                log("\n");
        }
        virtual void execute(std::vector<std::string> args, RTLIL::Design *design) {
-               log_header("Executing MEMORY_SHARE pass (consolidating $memrc/$memwr cells).\n");
+               log_header(design, "Executing MEMORY_SHARE pass (consolidating $memrc/$memwr cells).\n");
                extra_args(args, 1, design);
                for (auto module : design->selected_modules())
                        MemoryShareWorker(design, module);
index 60724da77ad5c5287ee9531feb43fed8cdc44991..a0fc31b5e364be02109df3e04d8284215ea2d221 100644 (file)
@@ -138,7 +138,7 @@ struct MemoryUnpackPass : public Pass {
                log("\n");
        }
        virtual void execute(std::vector<std::string> args, RTLIL::Design *design) {
-               log_header("Executing MEMORY_UNPACK pass (generating $memrd/$memwr cells form $mem cells).\n");
+               log_header(design, "Executing MEMORY_UNPACK pass (generating $memrd/$memwr cells form $mem cells).\n");
                extra_args(args, 1, design);
                for (auto &mod_it : design->modules_)
                        if (design->selected(mod_it.second))
index c25adac97786f9b50044b8ce47541a978c94f015..13ea5469bba700c36634ebbbb4d82db2cb5dacc6 100644 (file)
@@ -71,7 +71,7 @@ struct OptPass : public Pass {
                std::string opt_merge_args;
                bool fast_mode = false;
 
-               log_header("Executing OPT pass (performing simple optimizations).\n");
+               log_header(design, "Executing OPT pass (performing simple optimizations).\n");
                log_push();
 
                size_t argidx;
@@ -132,7 +132,7 @@ struct OptPass : public Pass {
                                if (design->scratchpad_get_bool("opt.did_something") == false)
                                        break;
                                Pass::call(design, "opt_clean" + opt_clean_args);
-                               log_header("Rerunning OPT passes. (Removed registers in this run.)\n");
+                               log_header(design, "Rerunning OPT passes. (Removed registers in this run.)\n");
                        }
                        Pass::call(design, "opt_clean" + opt_clean_args);
                }
@@ -150,7 +150,7 @@ struct OptPass : public Pass {
                                Pass::call(design, "opt_expr" + opt_expr_args);
                                if (design->scratchpad_get_bool("opt.did_something") == false)
                                        break;
-                               log_header("Rerunning OPT passes. (Maybe there is more to do..)\n");
+                               log_header(design, "Rerunning OPT passes. (Maybe there is more to do..)\n");
                        }
                }
 
@@ -158,7 +158,7 @@ struct OptPass : public Pass {
                design->sort();
                design->check();
 
-               log_header(fast_mode ? "Finished fast OPT passes.\n" : "Finished OPT passes. (There is nothing left to do.)\n");
+               log_header(design, fast_mode ? "Finished fast OPT passes.\n" : "Finished OPT passes. (There is nothing left to do.)\n");
                log_pop();
        }
 } OptPass;
index 175e8e1120dfb62f9d536f58f3828d285ace185e..466808216458e4619076f184f49a3d0bb6533155 100644 (file)
@@ -380,7 +380,7 @@ struct OptCleanPass : public Pass {
        {
                bool purge_mode = false;
 
-               log_header("Executing OPT_CLEAN pass (remove unused cells and wires).\n");
+               log_header(design, "Executing OPT_CLEAN pass (remove unused cells and wires).\n");
                log_push();
 
                size_t argidx;
index 26cc4d8dfc2c8fcffc123439acbdfe8c61652fb6..a18ebb901763b3ef542ce9663bf886ff4d5c0b0a 100644 (file)
@@ -1151,7 +1151,7 @@ struct OptExprPass : public Pass {
                bool do_fine = false;
                bool keepdc = false;
 
-               log_header("Executing OPT_EXPR pass (perform const folding).\n");
+               log_header(design, "Executing OPT_EXPR pass (perform const folding).\n");
                log_push();
 
                size_t argidx;
index 07019aac9cfcce3b51203d241d322da86ab164c6..97989d2710e37d99986058255b8ed55643b05d13 100644 (file)
@@ -348,7 +348,7 @@ struct OptMergePass : public Pass {
        }
        virtual void execute(std::vector<std::string> args, RTLIL::Design *design)
        {
-               log_header("Executing OPT_MERGE pass (detect identical cells).\n");
+               log_header(design, "Executing OPT_MERGE pass (detect identical cells).\n");
 
                bool mode_nomux = false;
                bool mode_share_all = false;
index f9da807d2e8374a211503f34e073ce4eded20fc7..f5ddc2af966a3d897092434fc1708da5442354c8 100644 (file)
@@ -464,7 +464,7 @@ struct OptMuxtreePass : public Pass {
        }
        virtual void execute(vector<std::string> args, RTLIL::Design *design)
        {
-               log_header("Executing OPT_MUXTREE pass (detect dead branches in mux trees).\n");
+               log_header(design, "Executing OPT_MUXTREE pass (detect dead branches in mux trees).\n");
                extra_args(args, 1, design);
 
                int total_count = 0;
index 98b7b2e15747a2e0fc0ba05e4821b1b3c7ad418a..eb9d02ad538bd8803391c5509ecd57c219237d6b 100644 (file)
@@ -354,7 +354,7 @@ struct OptReducePass : public Pass {
        {
                bool do_fine = false;
 
-               log_header("Executing OPT_REDUCE pass (consolidate $*mux and $reduce_* inputs).\n");
+               log_header(design, "Executing OPT_REDUCE pass (consolidate $*mux and $reduce_* inputs).\n");
 
                size_t argidx;
                for (argidx = 1; argidx < args.size(); argidx++) {
index e1b184af31c5c762c657db1c72e825ec610b4729..1711d0f45f41443f3d1e29f5127cab7cb830a3db 100644 (file)
@@ -191,7 +191,7 @@ struct OptRmdffPass : public Pass {
        virtual void execute(std::vector<std::string> args, RTLIL::Design *design)
        {
                int total_count = 0;
-               log_header("Executing OPT_RMDFF pass (remove dff with constant values).\n");
+               log_header(design, "Executing OPT_RMDFF pass (remove dff with constant values).\n");
 
                extra_args(args, 1, design);
 
index 7927c539747887318f1ceb661fa010b84bcb0587..22914eaa709613213daa43abef4a8c226275e69a 100644 (file)
@@ -1500,7 +1500,7 @@ struct SharePass : public Pass {
                config.generic_other_ops.insert("$alu");
                config.generic_other_ops.insert("$macc");
 
-               log_header("Executing SHARE pass (SAT-based resource sharing).\n");
+               log_header(design, "Executing SHARE pass (SAT-based resource sharing).\n");
 
                size_t argidx;
                for (argidx = 1; argidx < args.size(); argidx++) {
index 4f08da67581cb8e5f4146df59fd2cd7435ed253f..333541eabd96bf9ad45610392f9e0cacf2352548 100644 (file)
@@ -371,7 +371,7 @@ struct WreducePass : public Pass {
        {
                WreduceConfig config;
 
-               log_header("Executing WREDUCE pass (reducing word size of cells).\n");
+               log_header(design, "Executing WREDUCE pass (reducing word size of cells).\n");
 
                size_t argidx;
                for (argidx = 1; argidx < args.size(); argidx++) {
index 577ff6bf5dc95d0e9fc3b5e411aca65a22c48ec7..6998cef7eb865ed9fba53ca7e16c0ec26604fbe8 100644 (file)
@@ -57,7 +57,7 @@ struct ProcPass : public Pass {
        {
                std::string global_arst;
 
-               log_header("Executing PROC pass (convert processes to netlists).\n");
+               log_header(design, "Executing PROC pass (convert processes to netlists).\n");
                log_push();
 
                size_t argidx;
index 1da237283905561f611ca647f608ea9fe0bb04a4..216b00ddd1dd35f433c02fef6acd2ea20ffa2b4d 100644 (file)
@@ -226,7 +226,7 @@ struct ProcArstPass : public Pass {
                std::string global_arst;
                bool global_arst_neg = false;
 
-               log_header("Executing PROC_ARST pass (detect async resets in processes).\n");
+               log_header(design, "Executing PROC_ARST pass (detect async resets in processes).\n");
 
                size_t argidx;
                for (argidx = 1; argidx < args.size(); argidx++)
index 35801951ac45fb39b116a8a5badee0f6d1a488a2..7dbabc2117896731f932ab206cf4e2be4739fbf3 100644 (file)
@@ -156,7 +156,7 @@ struct ProcCleanPass : public Pass {
        virtual void execute(std::vector<std::string> args, RTLIL::Design *design)
        {
                int total_count = 0;
-               log_header("Executing PROC_CLEAN pass (remove empty switches from decision trees).\n");
+               log_header(design, "Executing PROC_CLEAN pass (remove empty switches from decision trees).\n");
 
                extra_args(args, 1, design);
 
index 637131399ba8a59cac42841e00de8449de4abaf0..f532990c24f7d840b1162939e0dc12a5535b0039 100644 (file)
@@ -369,7 +369,7 @@ struct ProcDffPass : public Pass {
        }
        virtual void execute(std::vector<std::string> args, RTLIL::Design *design)
        {
-               log_header("Executing PROC_DFF pass (convert process syncs to FFs).\n");
+               log_header(design, "Executing PROC_DFF pass (convert process syncs to FFs).\n");
 
                extra_args(args, 1, design);
 
index e37d81ddd33ac9fe9fe4e4ea02bde105bac5a6a8..c339ac682112f37285c5db740494085dd51a860c 100644 (file)
@@ -292,7 +292,7 @@ struct ProcDlatchPass : public Pass {
        }
        virtual void execute(std::vector<std::string> args, RTLIL::Design *design)
        {
-               log_header("Executing PROC_DLATCH pass (convert process syncs to latches).\n");
+               log_header(design, "Executing PROC_DLATCH pass (convert process syncs to latches).\n");
 
                extra_args(args, 1, design);
 
index 633d4e58ad4a790366f53ecc36fed402719d6ec2..523af0aec03389436a516647b3f3922eb29d297b 100644 (file)
@@ -100,7 +100,7 @@ struct ProcInitPass : public Pass {
        }
        virtual void execute(std::vector<std::string> args, RTLIL::Design *design)
        {
-               log_header("Executing PROC_INIT pass (extract init attributes).\n");
+               log_header(design, "Executing PROC_INIT pass (extract init attributes).\n");
 
                extra_args(args, 1, design);
 
index 943e8c5624b58d809501eb08ba56e7efbf05f32b..dcfa212b574609afb5f8f98a06d2b597870b5c55 100644 (file)
@@ -391,7 +391,7 @@ struct ProcMuxPass : public Pass {
        }
        virtual void execute(std::vector<std::string> args, RTLIL::Design *design)
        {
-               log_header("Executing PROC_MUX pass (convert decision trees to multiplexers).\n");
+               log_header(design, "Executing PROC_MUX pass (convert decision trees to multiplexers).\n");
 
                extra_args(args, 1, design);
 
index af17e8d38f17bf9dc03edb071ca4e58848d48594..5672fb475d7a6571fb21ce54756472296cf58eb6 100644 (file)
@@ -76,7 +76,7 @@ struct ProcRmdeadPass : public Pass {
        }
        virtual void execute(std::vector<std::string> args, RTLIL::Design *design)
        {
-               log_header("Executing PROC_RMDEAD pass (remove dead branches from decision trees).\n");
+               log_header(design, "Executing PROC_RMDEAD pass (remove dead branches from decision trees).\n");
 
                extra_args(args, 1, design);
 
index 614a1bd3140662a081f1f313c1853f600eb0ef25..09f69cc5c2b0d460e59ceb46626a1aea54acd5cb 100644 (file)
@@ -389,7 +389,7 @@ struct EvalPass : public Pass {
                std::vector<std::string> shows, tables;
                bool set_undef = false;
 
-               log_header("Executing EVAL pass (evaluate the circuit given an input).\n");
+               log_header(design, "Executing EVAL pass (evaluate the circuit given an input).\n");
 
                size_t argidx;
                for (argidx = 1; argidx < args.size(); argidx++) {
index ebdf2ed5d706b5fe75dbf75c7b373d8b046e12c6..9427547f33f13f3c2df32531c09c108875f6d2a8 100644 (file)
@@ -262,7 +262,7 @@ struct ExposePass : public Pass {
                bool flag_evert_dff = false;
                std::string sep = ".";
 
-               log_header("Executing EXPOSE pass (exposing internal signals as outputs).\n");
+               log_header(design, "Executing EXPOSE pass (exposing internal signals as outputs).\n");
 
                size_t argidx;
                for (argidx = 1; argidx < args.size(); argidx++)
index 373b804882168b72333c354e19f5226101fcb70f..77263f6a22dbe3ff3daab5972469a3a678bbbd16 100644 (file)
@@ -798,7 +798,7 @@ struct FreducePass : public Pass {
                inv_mode = false;
                dump_prefix = std::string();
 
-               log_header("Executing FREDUCE pass (perform functional reduction).\n");
+               log_header(design, "Executing FREDUCE pass (perform functional reduction).\n");
 
                size_t argidx;
                for (argidx = 1; argidx < args.size(); argidx++) {
index e809425c85f18c033264dd0da91f568374e88106..4854e19bf051f182ac481121795a9609ed6cd517 100644 (file)
@@ -32,7 +32,7 @@ void create_miter_equiv(struct Pass *that, std::vector<std::string> args, RTLIL:
        bool flag_make_assert = false;
        bool flag_flatten = false;
 
-       log_header("Executing MITER pass (creating miter circuit).\n");
+       log_header(design, "Executing MITER pass (creating miter circuit).\n");
 
        size_t argidx;
        for (argidx = 2; argidx < args.size(); argidx++)
@@ -264,7 +264,7 @@ void create_miter_assert(struct Pass *that, std::vector<std::string> args, RTLIL
        bool flag_make_outputs = false;
        bool flag_flatten = false;
 
-       log_header("Executing MITER pass (creating miter circuit).\n");
+       log_header(design, "Executing MITER pass (creating miter circuit).\n");
 
        size_t argidx;
        for (argidx = 2; argidx < args.size(); argidx++)
index a91f657bc66e95474bb6d709b4e454b78b6b2b41..c3cb435d12879326f643e25cf0d59c4d8822fcc8 100644 (file)
@@ -1073,7 +1073,7 @@ struct SatPass : public Pass {
                int tempinduct_skip = 0, stepsize = 1;
                std::string vcd_file_name, json_file_name, cnf_file_name;
 
-               log_header("Executing SAT pass (solving SAT problems in the circuit).\n");
+               log_header(design, "Executing SAT pass (solving SAT problems in the circuit).\n");
 
                size_t argidx;
                for (argidx = 1; argidx < args.size(); argidx++) {
index cddc23661cdffaa55c94e61a2a02da5f84960782..67fef32a253ed5da43032d3055ddafc388776d20 100644 (file)
@@ -616,7 +616,7 @@ void abc_module(RTLIL::Design *design, RTLIL::Module *current_module, std::strin
        if (!cleanup)
                tempdir_name[0] = tempdir_name[4] = '_';
        tempdir_name = make_temp_dir(tempdir_name);
-       log_header("Extracting gate netlist of module `%s' to `%s/input.blif'..\n",
+       log_header(design, "Extracting gate netlist of module `%s' to `%s/input.blif'..\n",
                        module->name.c_str(), replace_tempdir(tempdir_name, tempdir_name, show_tempdir).c_str());
 
        std::string abc_script = stringf("read_blif %s/input.blif; ", tempdir_name.c_str());
@@ -834,7 +834,7 @@ void abc_module(RTLIL::Design *design, RTLIL::Module *current_module, std::strin
 
        if (count_output > 0)
        {
-               log_header("Executing ABC.\n");
+               log_header(design, "Executing ABC.\n");
 
                buffer = stringf("%s/stdcells.genlib", tempdir_name.c_str());
                f = fopen(buffer.c_str(), "wt");
@@ -904,7 +904,7 @@ void abc_module(RTLIL::Design *design, RTLIL::Module *current_module, std::strin
 
                ifs.close();
 
-               log_header("Re-integrating ABC results.\n");
+               log_header(design, "Re-integrating ABC results.\n");
                RTLIL::Module *mapped_mod = mapped_design->modules_["\\netlist"];
                if (mapped_mod == NULL)
                        log_error("ABC output file does not contain a module `netlist'.\n");
@@ -1299,7 +1299,7 @@ struct AbcPass : public Pass {
        }
        virtual void execute(std::vector<std::string> args, RTLIL::Design *design)
        {
-               log_header("Executing ABC pass (technology mapping using ABC).\n");
+               log_header(design, "Executing ABC pass (technology mapping using ABC).\n");
                log_push();
 
 #ifdef ABCEXTERNAL
@@ -1599,7 +1599,7 @@ struct AbcPass : public Pass {
                                        assigned_cells_reverse[cell] = key;
                                }
 
-                               log_header("Summary of detected clock domains:\n");
+                               log_header(design, "Summary of detected clock domains:\n");
                                for (auto &it : assigned_cells)
                                        log("  %d cells in clk=%s%s, en=%s%s\n", GetSize(it.second),
                                                        std::get<0>(it.first) ? "" : "!", log_signal(std::get<1>(it.first)),
index db1c731e9239da3ee1ca8f788f675ac34b3671f4..b9ac7adedba939d833f6f7f977196e80e40770a5 100644 (file)
@@ -41,7 +41,7 @@ struct AigmapPass : public Pass {
        {
                bool nand_mode = false;
 
-               log_header("Executing AIGMAP pass (map logic to AIG).\n");
+               log_header(design, "Executing AIGMAP pass (map logic to AIG).\n");
 
                size_t argidx;
                for (argidx = 1; argidx < args.size(); argidx++)
index 3c7ff4b92e738ba0dd2e3e895a6e31b4be80b062..9f6dd02d03f46da54a5c1835ded674e6557f00ed 100644 (file)
@@ -544,7 +544,7 @@ struct AlumaccPass : public Pass {
        }
        virtual void execute(std::vector<std::string> args, RTLIL::Design *design)
        {
-               log_header("Executing ALUMACC pass (create $alu and $macc cells).\n");
+               log_header(design, "Executing ALUMACC pass (create $alu and $macc cells).\n");
 
                size_t argidx;
                for (argidx = 1; argidx < args.size(); argidx++) {
index 51bfaade321766aacab0b7f606fc037137e2d906..1b8920bb7107618f16ed4b5de2f7da5945747042 100644 (file)
@@ -285,7 +285,7 @@ struct Dff2dffePass : public Pass {
        }
        virtual void execute(std::vector<std::string> args, RTLIL::Design *design)
        {
-               log_header("Executing DFF2DFFE pass (transform $dff to $dffe where applicable).\n");
+               log_header(design, "Executing DFF2DFFE pass (transform $dff to $dffe where applicable).\n");
 
                bool unmap_mode = false;
                dict<IdString, IdString> direct_dict;
index e0273f439de1897bac5e547a8105f54f64dff9c1..d737b3424adeca070b4899399e7ace8b8802357b 100644 (file)
@@ -41,7 +41,7 @@ struct DffinitPass : public Pass {
        }
        virtual void execute(std::vector<std::string> args, RTLIL::Design *design)
        {
-               log_header("Executing DFFINIT pass (set INIT param on FF cells).\n");
+               log_header(design, "Executing DFFINIT pass (set INIT param on FF cells).\n");
 
                dict<IdString, dict<IdString, IdString>> ff_types;
 
index 3195e5a786735d888a3adac977316d547736ce90..c8104fb7ee67c8c96997815bff67bb2f15288c20 100644 (file)
@@ -547,7 +547,7 @@ struct DfflibmapPass : public Pass {
        }
        virtual void execute(std::vector<std::string> args, RTLIL::Design *design)
        {
-               log_header("Executing DFFLIBMAP pass (mapping DFF cells to sequential cells from liberty file).\n");
+               log_header(design, "Executing DFFLIBMAP pass (mapping DFF cells to sequential cells from liberty file).\n");
 
                std::string liberty_file;
                bool prepare_mode = false;
index 8dcbb4ed219808f0bfdf683ae34a1fd410ba7531..0d4d5362726273c830c5b810bee9df558371c3df 100644 (file)
@@ -188,7 +188,7 @@ struct Dffsr2dffPass : public Pass {
        }
        virtual void execute(std::vector<std::string> args, RTLIL::Design *design)
        {
-               log_header("Executing DFFSR2DFF pass (mapping DFFSR cells to simpler FFs).\n");
+               log_header(design, "Executing DFFSR2DFF pass (mapping DFFSR cells to simpler FFs).\n");
 
                size_t argidx;
                for (argidx = 1; argidx < args.size(); argidx++)
index fc73177ce18e7776775ca33cfff0a20f12845828..71e29c60b06cffa4ccc1e822ecbbf4d3ca599720 100644 (file)
@@ -442,7 +442,7 @@ struct ExtractPass : public Pass {
        }
        virtual void execute(std::vector<std::string> args, RTLIL::Design *design)
        {
-               log_header("Executing EXTRACT pass (map subcircuits to cells).\n");
+               log_header(design, "Executing EXTRACT pass (map subcircuits to cells).\n");
                log_push();
 
                SubCircuitSolver solver;
@@ -627,7 +627,7 @@ struct ExtractPass : public Pass {
                std::map<std::string, RTLIL::Module*> needle_map, haystack_map;
                std::vector<RTLIL::Module*> needle_list;
 
-               log_header("Creating graphs for SubCircuit library.\n");
+               log_header(design, "Creating graphs for SubCircuit library.\n");
 
                if (!mine_mode)
                        for (auto &mod_it : map->modules_) {
@@ -654,7 +654,7 @@ struct ExtractPass : public Pass {
                if (!mine_mode)
                {
                        std::vector<SubCircuit::Solver::Result> results;
-                       log_header("Running solver from SubCircuit library.\n");
+                       log_header(design, "Running solver from SubCircuit library.\n");
 
                        std::sort(needle_list.begin(), needle_list.end(), compareSortNeedleList);
 
@@ -667,7 +667,7 @@ struct ExtractPass : public Pass {
 
                        if (results.size() > 0)
                        {
-                               log_header("Substitute SubCircuits with cells.\n");
+                               log_header(design, "Substitute SubCircuits with cells.\n");
 
                                for (int i = 0; i < int(results.size()); i++) {
                                        auto &result = results[i];
@@ -688,7 +688,7 @@ struct ExtractPass : public Pass {
                {
                        std::vector<SubCircuit::Solver::MineResult> results;
 
-                       log_header("Running miner from SubCircuit library.\n");
+                       log_header(design, "Running miner from SubCircuit library.\n");
                        solver.mine(results, mine_cells_min, mine_cells_max, mine_min_freq, mine_limit_mod);
 
                        map = new RTLIL::Design;
index a0bd2f9aecfc94569c658e014db075b6ccc0ac8f..82cecac2683f9c669ba6f5a9e23a05606506973b 100644 (file)
@@ -76,7 +76,7 @@ struct HilomapPass : public Pass {
        }
        virtual void execute(std::vector<std::string> args, RTLIL::Design *design)
        {
-               log_header("Executing HILOMAP pass (mapping to constant drivers).\n");
+               log_header(design, "Executing HILOMAP pass (mapping to constant drivers).\n");
 
                hicell_celltype = std::string();
                hicell_portname = std::string();
index 9dab40ca82b4f8cf4b17e014b42f94feb17d7997..a281210522171e17bdbdb0edbad80ef4635d4716 100644 (file)
@@ -68,7 +68,7 @@ struct IopadmapPass : public Pass {
        }
        virtual void execute(std::vector<std::string> args, RTLIL::Design *design)
        {
-               log_header("Executing IOPADMAP pass (mapping inputs/outputs to IO-PAD cells).\n");
+               log_header(design, "Executing IOPADMAP pass (mapping inputs/outputs to IO-PAD cells).\n");
 
                std::string inpad_celltype, inpad_portname, inpad_portname2;
                std::string outpad_celltype, outpad_portname, outpad_portname2;
index b2c4f31a81d4e30bd5481cbe90819a63f317bd04..2bb0bd8b4a6344de914dc63cf9e1db5b21686bf8 100644 (file)
@@ -67,7 +67,7 @@ struct Lut2muxPass : public Pass {
        }
        virtual void execute(std::vector<std::string> args, RTLIL::Design *design)
        {
-               log_header("Executing LUT2MUX pass (convert $lut to $_MUX_).\n");
+               log_header(design, "Executing LUT2MUX pass (convert $lut to $_MUX_).\n");
 
                size_t argidx;
                for (argidx = 1; argidx < args.size(); argidx++)
index d5b8fe804aa2c847286cc90dffe790023f24a98f..32569d076fc3c947c52f7ddc159b704614cfab0e 100644 (file)
@@ -379,7 +379,7 @@ struct MaccmapPass : public Pass {
        {
                bool unmap_mode = false;
 
-               log_header("Executing MACCMAP pass (map $macc cells).\n");
+               log_header(design, "Executing MACCMAP pass (map $macc cells).\n");
 
                size_t argidx;
                for (argidx = 1; argidx < args.size(); argidx++) {
index 514c3365f3c115ca59bab1009c7e93e4590adf74..1dc649587ece3aefe961f3f679e0109bbbe06202 100644 (file)
@@ -581,7 +581,7 @@ struct MuxcoverPass : public Pass {
        }
        virtual void execute(std::vector<std::string> args, RTLIL::Design *design)
        {
-               log_header("Executing MUXCOVER pass (mapping to wider MUXes).\n");
+               log_header(design, "Executing MUXCOVER pass (mapping to wider MUXes).\n");
 
                bool use_mux4 = false;
                bool use_mux8 = false;
index f5e77722e4eee87e6a86b8c36d144718bdfa401c..a6d4e1a2f775bc659ea2c6eeca48f207d3ba41ca 100644 (file)
@@ -143,7 +143,7 @@ struct NlutmapPass : public Pass {
        {
                NlutmapConfig config;
 
-               log_header("Executing NLUTMAP pass (mapping to constant drivers).\n");
+               log_header(design, "Executing NLUTMAP pass (mapping to constant drivers).\n");
                log_push();
 
                size_t argidx;
index 3c12bfd0204d6e6c71639af4e2f31cd0fdcd360a..c626dbcc57a5e17f71a7f20df1e581676cf337b8 100644 (file)
@@ -78,7 +78,7 @@ struct PmuxtreePass : public Pass {
        }
        virtual void execute(std::vector<std::string> args, RTLIL::Design *design)
        {
-               log_header("Executing PMUXTREE pass.\n");
+               log_header(design, "Executing PMUXTREE pass.\n");
 
                size_t argidx;
                for (argidx = 1; argidx < args.size(); argidx++) {
index cd7afec120007617a00e7c456896b96b528ecd35..f9082694e124e8ad37430283cd82e6e2a1dd696b 100644 (file)
@@ -360,7 +360,7 @@ struct ShregmapPass : public Pass {
                ShregmapOptions opts;
                string clkpol, enpol;
 
-               log_header("Executing SHREGMAP pass (map shift registers).\n");
+               log_header(design, "Executing SHREGMAP pass (map shift registers).\n");
 
                size_t argidx;
                for (argidx = 1; argidx < args.size(); argidx++)
index f6ac3964bcab70c30dfa434cc5fa846b903dbceb..777e80142f96cf84677a6cdf2a9dca6f86b0f969 100644 (file)
@@ -543,7 +543,7 @@ struct SimplemapPass : public Pass {
        }
        virtual void execute(std::vector<std::string> args, RTLIL::Design *design)
        {
-               log_header("Executing SIMPLEMAP pass (map simple cells to gate primitives).\n");
+               log_header(design, "Executing SIMPLEMAP pass (map simple cells to gate primitives).\n");
                extra_args(args, 1, design);
 
                std::map<RTLIL::IdString, void(*)(RTLIL::Module*, RTLIL::Cell*)> mappers;
index 5334ebfaf9bd07cd91fce52eb0e8a290416cbdde..8bbcc3dfe6ad35720d690371003d83f21e67a7c6 100644 (file)
@@ -779,7 +779,7 @@ struct TechmapWorker
 
                                        if (recursive_mode) {
                                                if (log_continue) {
-                                                       log_header("Continuing TECHMAP pass.\n");
+                                                       log_header(design, "Continuing TECHMAP pass.\n");
                                                        log_continue = false;
                                                }
                                                while (techmap_module(map, tpl, map, handled_cells, celltypeMap, true)) { }
@@ -790,7 +790,7 @@ struct TechmapWorker
                                        continue;
 
                                if (log_continue) {
-                                       log_header("Continuing TECHMAP pass.\n");
+                                       log_header(design, "Continuing TECHMAP pass.\n");
                                        log_continue = false;
                                }
 
@@ -833,7 +833,7 @@ struct TechmapWorker
                }
 
                if (log_continue) {
-                       log_header("Continuing TECHMAP pass.\n");
+                       log_header(design, "Continuing TECHMAP pass.\n");
                        log_continue = false;
                }
 
@@ -976,7 +976,7 @@ struct TechmapPass : public Pass {
        }
        virtual void execute(std::vector<std::string> args, RTLIL::Design *design)
        {
-               log_header("Executing TECHMAP pass (map to technology primitives).\n");
+               log_header(design, "Executing TECHMAP pass (map to technology primitives).\n");
                log_push();
 
                TechmapWorker worker;
@@ -1108,7 +1108,7 @@ struct FlattenPass : public Pass {
        }
        virtual void execute(std::vector<std::string> args, RTLIL::Design *design)
        {
-               log_header("Executing FLATTEN pass (flatten design).\n");
+               log_header(design, "Executing FLATTEN pass (flatten design).\n");
                log_push();
 
                extra_args(args, 1, design);
index d0564b4eacfcc141c27e9d6c15b37ab7e6445870..03629082c61526d69631f202f47ef7e12e3b19c7 100644 (file)
@@ -160,7 +160,7 @@ struct TribufPass : public Pass {
        {
                TribufConfig config;
 
-               log_header("Executing TRIBUF pass.\n");
+               log_header(design, "Executing TRIBUF pass.\n");
 
                size_t argidx;
                for (argidx = 1; argidx < args.size(); argidx++) {
index bb516fca9c3e5de5bf740c828824fdb9a99f4ee3..f42a58af53edb8d588f399f8ad7d1343403f5a30 100644 (file)
@@ -333,7 +333,7 @@ struct TestAutotbBackend : public Backend {
        {
                int num_iter = 1000;
 
-               log_header("Executing TEST_AUTOTB backend (auto-generate pseudo-random test benches).\n");
+               log_header(design, "Executing TEST_AUTOTB backend (auto-generate pseudo-random test benches).\n");
 
                int argidx;
                for (argidx = 1; argidx < GetSize(args); argidx++)
index 911737947f83a2c598b796ea4ba78ea40aa724dc..25530648880f6d1d83c5b3223cfb863b3f8e54a8 100644 (file)
@@ -120,7 +120,7 @@ struct PrepPass : public Pass {
 
                bool active = run_from.empty();
 
-               log_header("Executing PREP pass.\n");
+               log_header(design, "Executing PREP pass.\n");
                log_push();
 
                if (check_label(active, run_from, run_to, "begin"))
index 8eb1aeba4d06d22fb85f634bc38073d556ca94c1..acfe888d9393a6ae13724c4f37b682b4356d7a76 100644 (file)
@@ -132,7 +132,7 @@ struct SynthPass : public ScriptPass
                if (!design->full_selection())
                        log_cmd_error("This comannd only operates on fully selected designs!\n");
 
-               log_header("Executing SYNTH pass.\n");
+               log_header(design, "Executing SYNTH pass.\n");
                log_push();
 
                run_script(design, run_from, run_to);
index 7b5646bf2009ec21bdd662beca5fc744aa2c4693..998bb73bdafcadf5c821f2a1ec912ba0cdd8a92a 100644 (file)
@@ -408,7 +408,7 @@ struct Greenpak4CountersPass : public Pass {
        }
        virtual void execute(std::vector<std::string> args, RTLIL::Design *design)
        {
-               log_header("Executing GREENPAK4_COUNTERS pass (mapping counters to hard IP blocks).\n");
+               log_header(design, "Executing GREENPAK4_COUNTERS pass (mapping counters to hard IP blocks).\n");
                
                size_t argidx;
                for (argidx = 1; argidx < args.size(); argidx++)
index 8900d8d782583c25c869dc59d5494aeda63de39d..463971d41808c5cee48abc1ac2da40c24ba8f72f 100644 (file)
@@ -169,7 +169,7 @@ struct SynthGreenPAK4Pass : public Pass {
 
                bool active = run_from.empty();
 
-               log_header("Executing SYNTH_GREENPAK4 pass.\n");
+               log_header(design, "Executing SYNTH_GREENPAK4 pass.\n");
                log_push();
 
                if (check_label(active, run_from, run_to, "begin"))
index 8c4b9a37dd0e7b54d28931cb5274d24c107c5fac..db2100381b21141dc9ed59700ccc86338ac57126 100644 (file)
@@ -37,7 +37,7 @@ struct Ice40FfinitPass : public Pass {
        }
        virtual void execute(std::vector<std::string> args, RTLIL::Design *design)
        {
-               log_header("Executing ICE40_FFINIT pass (implement FF init values).\n");
+               log_header(design, "Executing ICE40_FFINIT pass (implement FF init values).\n");
 
                size_t argidx;
                for (argidx = 1; argidx < args.size(); argidx++)
index 9ebc3c0d728c7c21cf56a189776171ed18288627..9a6d69df0b1b5029d110f81b860c900e77a220a1 100644 (file)
@@ -35,7 +35,7 @@ struct Ice40FfssrPass : public Pass {
        }
        virtual void execute(std::vector<std::string> args, RTLIL::Design *design)
        {
-               log_header("Executing ICE40_FFSSR pass (merge synchronous set/reset into FF cells).\n");
+               log_header(design, "Executing ICE40_FFSSR pass (merge synchronous set/reset into FF cells).\n");
 
                size_t argidx;
                for (argidx = 1; argidx < args.size(); argidx++)
index 5730847ced7cf03c77a8e12e63b0c995e1b7b7b7..8b6a23fb26f57160382c0bdca0b6080c29e66bde 100644 (file)
@@ -137,7 +137,7 @@ struct Ice40OptPass : public Pass {
        virtual void execute(std::vector<std::string> args, RTLIL::Design *design)
        {
                string opt_expr_args = "-mux_undef -undriven";
-               log_header("Executing ICE40_OPT pass (performing simple optimizations).\n");
+               log_header(design, "Executing ICE40_OPT pass (performing simple optimizations).\n");
                log_push();
 
                size_t argidx;
@@ -154,7 +154,7 @@ struct Ice40OptPass : public Pass {
                {
                        design->scratchpad_unset("opt.did_something");
 
-                       log_header("Running ICE40 specific optimizations.\n");
+                       log_header(design, "Running ICE40 specific optimizations.\n");
                        for (auto module : design->selected_modules())
                                run_ice40_opts(module);
 
@@ -166,14 +166,14 @@ struct Ice40OptPass : public Pass {
                        if (design->scratchpad_get_bool("opt.did_something") == false)
                                break;
 
-                       log_header("Rerunning OPT passes. (Removed registers in this run.)\n");
+                       log_header(design, "Rerunning OPT passes. (Removed registers in this run.)\n");
                }
 
                design->optimize();
                design->sort();
                design->check();
 
-               log_header("Finished OPT passes. (There is nothing left to do.)\n");
+               log_header(design, "Finished OPT passes. (There is nothing left to do.)\n");
                log_pop();
        }
 } Ice40OptPass;
index 2ed7642ae79e5db7241694016e890f3df3e3d81b..3dbdde3dff94749046bd997577b9f661a9417f82 100644 (file)
@@ -149,7 +149,7 @@ struct SynthIce40Pass : public ScriptPass
                if (!design->full_selection())
                        log_cmd_error("This comannd only operates on fully selected designs!\n");
 
-               log_header("Executing SYNTH_ICE40 pass.\n");
+               log_header(design, "Executing SYNTH_ICE40 pass.\n");
                log_push();
 
                run_script(design, run_from, run_to);
index 524fd1d4e8c916bf7f0e60033fa221e1906a4a0e..e7ec1e6e86c9b5510fc38d6e38e94e7e8514d6b3 100644 (file)
@@ -160,7 +160,7 @@ struct SynthXilinxPass : public Pass {
 
                bool active = run_from.empty();
 
-               log_header("Executing SYNTH_XILINX pass.\n");
+               log_header(design, "Executing SYNTH_XILINX pass.\n");
                log_push();
 
                if (check_label(active, run_from, run_to, "begin"))