Jump to content
Sign in to follow this  
McPall

controlling test message severity from command line

Recommended Posts

hi,

 

i thought this would remove all info messages

 

 

+uvm_set_action=uvm_test_top,_ALL_,UVM_INFO,UVM_NO_ACTION

 

 

btw  +uvm_set_severity would change INFO to WARNING/ERROR/FATAL and therefore still emit it - just with a different severity

 

/uwe 

Share this post


Link to post
Share on other sites

it's not working for me :

What is _ALL_ ? the second argument is the message id, I tried other ID's and RNTST but it's also not working.

I'm using vcs :

vcs -sverilog -debug_all -f ../hammer_env.fl -ntb_opts uvm ../tests/hammer_base_test.sv \
-l hammer_base_test_build.log +uvm_set_action=uvm_test_top,RNTST,UVM_INFO,UVM_NO_ACTION \
+UVM_TESTNAME=hammer_base_test -R

log:
VCD+ Writer G-2012.09-SP1-1 Copyright (c) 1991-2012 by Synopsys Inc.
UVM_INFO @ 0: reporter [RNTST] Running test hammer_base_test...


although when I used

 

set_report_severity_action_hier(UVM_INFO, UVM_NO_ACTION);
 

it did work

Share this post


Link to post
Share on other sites
_ALL_

is a "magic" name that can match either all severities or all IDs.

 

I think you'd need

+uvm_set_action=hammer_base_test*,_ALL_,UVM_INFO,UVM_NO_ACTION

That should match any component with a full hierarchical name that starts with your top level component name. I guess maybe

+uvm_set_action=*,_ALL_,UVM_INFO,UVM_NO_ACTION

should also work as that should match any component - but I haven't tried it.

 

regards

Alan

Share this post


Link to post
Share on other sites

hi,

 

as far as i remember there is an issue with messages from uvm_root and reporting adjustments via the cmdline. that might affect the RNTST message. 

 

 

btw: the first arg is "uvm_test_top" when the test is created via the factory. its the logical name of the top test (which is of type hammer_base_test).

 

/uwe

Share this post


Link to post
Share on other sites

Thanks for reminding about uvm_test_top Uwe.

 

Regarding RNTST, what seems to happen is that the command line arguments for suppressing messages are processed in the function

  m_set_cl_msg_args(); 

at the end of the constructor of the uvm_component base class - however for uvm_root, that function is never called because there is special code that returns from the constructor early if it is constructing uvm_root. Like this:

 

function uvm_component::new (string name, uvm_component parent);  string error_str;  uvm_root top;  super.new(name);  // If uvm_top, reset name to "" so it doesn't show in full paths then return  if (parent==null && name == "__top__") begin    set_name(""); // *** VIRTUAL    return;  end  //... LOTS OF OTHER STUFF OMITTED  m_set_cl_msg_args();  // this line processes the command line msg argumentsendfunction

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
Sign in to follow this  

×