Hi ,
I am currently working on Init using RAL Backdoor where I observe numerous UVM_ERRORs due to incorrect hdl_path .
So to get more no. of UVM_ERRORs at once I gave +UVM_MAX_QUIT_COUNT=25000.
I observe the same in simulation log :
UVM_INFO @ 0: reporter [MAXQUITSET] '+UVM_MAX_QUIT_COUNT=25000' provided on the command line is being applied.
However the simulation ended with UVM_ERROR : 2500
On checking the base_test I observe :
task run_phase(uvm_phase phase);
uvm_report_server server;
server = uvm_report_server::get_server();
server.set_max_quit_count(2500);
This seems to override the run-time switch +UVM_MAX_QUIT_COUNT=25000.
On checking class uvm_root ( which checks for run-time switch +UVM_MAX_QUIT_COUNT= ) I found :
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;
......................
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); // How to execute this piece of code ??
default : srvr.set_max_quit_count(max_quit_int, 1);
endcase
end
endfunction
Any suggestions of how do I pass the switch so that 2nd argument to ‘set_max_quit_count’ is 0 ?