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.
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 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.