Jump to content

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 

Link to comment
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

Link to comment
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

Link to comment
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

Link to comment
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
Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...