Print help message for verific pass
authorEddie Hung <eddie@fpgeh.com>
Tue, 19 Nov 2019 21:24:48 +0000 (13:24 -0800)
committerEddie Hung <eddie@fpgeh.com>
Tue, 19 Nov 2019 21:24:48 +0000 (13:24 -0800)
frontends/verific/verific.cc

index a5c4aa26a75c677d08f4d128e37a53a5a61786c1..e887020879fc0fa609d6bf5c5d45257e2825d676 100644 (file)
@@ -2073,8 +2073,10 @@ struct VerificPass : public Pass {
        {
                static bool set_verific_global_flags = true;
 
-               if (check_noverific_env())
+               if (check_noverific_env()) {
+                       help();
                        log_cmd_error("This version of Yosys is built without Verific support.\n");
+                }
 
                log_header(design, "Executing VERIFIC (loading SystemVerilog and VHDL designs using Verific).\n");
 
@@ -2395,7 +2397,7 @@ struct VerificPass : public Pass {
                        else
                        {
                                if (argidx == GetSize(args))
-                                       log_cmd_error("No top module specified.\n");
+                                       cmd_error(arg, argidx, "No top module specified.\n");
 
                                Array veri_modules, vhdl_units;
                                for (; argidx < GetSize(args); argidx++)
@@ -2481,7 +2483,7 @@ struct VerificPass : public Pass {
                        goto check_error;
                }
 
-               log_cmd_error("Missing or unsupported mode parameter.\n");
+               cmd_error(args, argidx, "Missing or unsupported mode parameter.\n");
 
        check_error:
                if (!verific_error_msg.empty())
@@ -2490,6 +2492,7 @@ struct VerificPass : public Pass {
        }
 #else /* YOSYS_ENABLE_VERIFIC */
        void execute(std::vector<std::string>, RTLIL::Design *) YS_OVERRIDE {
+               help();
                log_cmd_error("This version of Yosys is built without Verific support.\n");
        }
 #endif
@@ -2548,14 +2551,14 @@ struct ReadPass : public Pass {
                static bool use_verific = verific_available;
 
                if (args.size() < 2 || args[1][0] != '-')
-                       log_cmd_error("Missing mode parameter.\n");
+                       cmd_error(args, 1, "Missing mode parameter.\n");
 
                if (args[1] == "-verific" || args[1] == "-noverific") {
                        if (args.size() != 2)
-                               log_cmd_error("Additional arguments to -verific/-noverific.\n");
+                               cmd_error(args, 1, "Additional arguments to -verific/-noverific.\n");
                        if (args[1] == "-verific") {
                                if (!verific_available)
-                                       log_cmd_error("This version of Yosys is built without Verific support.\n");
+                                       cmd_error(args, 1, "This version of Yosys is built without Verific support.\n");
                                use_verific = true;
                        } else {
                                use_verific = false;
@@ -2564,7 +2567,7 @@ struct ReadPass : public Pass {
                }
 
                if (args.size() < 3)
-                       log_cmd_error("Missing file name parameter.\n");
+                       cmd_error(args, 3, "Missing file name parameter.\n");
 
                if (args[1] == "-vlog95" || args[1] == "-vlog2k") {
                        if (use_verific) {
@@ -2596,7 +2599,7 @@ struct ReadPass : public Pass {
                                args[0] = "verific";
                                Pass::call(design, args);
                        } else {
-                               log_cmd_error("This version of Yosys is built without Verific support.\n");
+                               cmd_error(args, 1, "This version of Yosys is built without Verific support.\n");
                        }
                        return;
                }
@@ -2643,7 +2646,7 @@ struct ReadPass : public Pass {
                        return;
                }
 
-               log_cmd_error("Missing or unsupported mode parameter.\n");
+               cmd_error(args, 1, "Missing or unsupported mode parameter.\n");
        }
 } ReadPass;