I think I found a bug in the UVM library (the reporter). How do I go about filing bug reports?

Here’s the bug.

The documentation says this is the way to override the max quit count and prevent further overrides:

+UVM_MAX_QUIT_COUNT=111,0

But this is what actually works:

+UVM_MAX_QUIT_COUNT=111,NO

Thanks for your guidance.

In reply to michael_g1:

Which documentation you are referencing?

In reply to chr_sue:

The UVM 1.1 Class Reference Manual says the following:

+UVM_MA X_QUIT _COUNT
+UVM_MAX_QUIT_COUNT=, allows users to change max quit
count for the report server. The argument (‘0’ or ‘1’) specifies whether user code can subsequently change this value. If set to ‘0’ and the user code tries to
change the max quit count value, an warning message will be generated.



<sim command> +UVM_MAX_QUIT_COUNT=5,0

But it’s implemented in 1.1d like this:


// m_do_max_quit_settings                                                                                                                                                                                                                                      
// ----------------------                                                                                                                                                                                                                                      

function void uvm_root::m_do_max_quit_settings();
  uvm_report_server srvr;
  string max_quit_settings[$];
  int max_quit_count;
  string max_quit;
  string split_max_quit[$];
  int max_quit_int;
  srvr = get_report_server();
  max_quit_count = clp.get_arg_values("+UVM_MAX_QUIT_COUNT=", max_quit_settings);
  if (max_quit_count ==  0)
    return;
  else begin
    max_quit = max_quit_settings[0];
    if (max_quit_count > 1) begin
      string max_quit_list;
      string sep;
      for (int i = 0; i < max_quit_settings.size(); i++) begin
        if (i != 0)
          sep = "; ";
        max_quit_list = {max_quit_list, sep, max_quit_settings[i]};
      end
      uvm_report_warning("MULTMAXQUIT",
        $sformatf("Multiple (%0d) +UVM_MAX_QUIT_COUNT arguments provided on the command line.  '%s' will be used.  Provided list: %s.",
        max_quit_count, max_quit, max_quit_list), UVM_NONE);
    end
    uvm_report_info("MAXQUITSET",
      $sformatf("'+UVM_MAX_QUIT_COUNT=%s' provided on the command line is being applied.", max_quit), UVM_NONE);
    uvm_split_string(max_quit, ",", split_max_quit);
    max_quit_int = split_max_quit[0].atoi();
    case(split_max_quit[1])
      "YES"   : srvr.set_max_quit_count(max_quit_int, 1);
      "NO"    : srvr.set_max_quit_count(max_quit_int, 0);
      default : srvr.set_max_quit_count(max_quit_int, 1);
    endcase
  end
endfunction

In reply to michael_g1:

This has been fixed.

https://accellera.mantishub.com/view.php?id=3732

In reply to dave_59:

It’s a document bug in the user guide. How do I get the fix (the updated user guide) or is it being labeled “Errata” means that it won’t be fixed? I just downloaded the user guide and it still says to use 0/1. The class reference guide says to use YES/NO but wondering when the user guide will be updated to match the reference guide.

Thanks,

In reply to michael_g1:

I think you mean the Reference manual, not the User manual. There is no mention of the settings for UVM_MAX_QUIT_COUNT in the User manual.

The UVM 1.2 Reference manual is now correct.

In reply to dave_59:

In reply to michael_g1:
I think you mean the Reference manual, not the User manual. There is no mention of the settings for UVM_MAX_QUIT_COUNT in the User manual.
The UVM 1.2 Reference manual is now correct.

Yes you’re right. OK.