Hi,
UVM supports changing UVM severity (Fatal/Error/…) to new desired one from command line using +uvm_set_severity:
+uvm_set_severity=<comp> ,<id> ,<current severity> ,<new severity> --
I’ve tried it and it works fine with one setting (+uvm_set_severity)
However, I’ve tried to change severity of several paths/IDs (by specifying +uvm_set_severity several times) – and it didn’t work. Seems that only the 1st one is accepted and others are ignored)
Example:
+uvm_set_severity=uvm_test_top.producer_agent.monitor,ERR_TIMEOUT_ID1,UVM_ERROR,UVM_WARNING +uvm_set_severity=uvm_test_top.consumer_agent.monitor,ERR_TIMEOUT_ID2,UVM_ERROR,UVM_WARNING
Is it UVM known limitation or a bug ?
BTW, using widcard (*) indeed works well, but I wish to have better controlability (set severity of 2 different IDs in 2 different <comp>/path)
Regards, Ofir
Relevant code in uvm_component.svh :
function void uvm_component::m_set_cl_sev;
// _ALL_ can be used for ids or severities
// +uvm_set_severity=<comp>,<id>,<orig_severity>,<new_severity>
// +uvm_set_severity=uvm_test_top.env0.*,BAD_CRC,UVM_ERROR,UVM_WARNING
static string values[$];
static bit first = 1;
string args[$];
uvm_severity orig_sev, sev;
if(!values.size())
void'(uvm_cmdline_proc.get_arg_values("+uvm_set_severity=",values));