Jump to content

Problem with *_report_*_action and UVM_COUNT


Recommended Posts

I am having issues with the set/get_report_*_action - specficially, I can not disable ID based message counts. ID based message counts appear in the report summary at the end of test:

UVM_INFO :   12
UVM_WARNING :    0
UVM_ERROR :    0
UVM_FATAL :    0
RNTST :    1
TEST_ID :    1
report_server_test_vehicle :    8
test_vehicle :    2

I have a custom report server, and am using a simple UVM component to for testing. I checked the 1.1 BCL and didn't see how to make it work based on the API.

task run_phase(uvm_phase phase);
...
$display("\n   o Test ID Actions\n");

count = my_report_server.get_id_count(get_type_name());

`uvm_info(get_type_name(), "Report ID Action for TEST_ID set to UVM_DISPLAY - no count incremented for this ID", UVM_LOW)

set_report_id_action(get_type_name(), UVM_DISPLAY);
`uvm_info(get_type_name(), $psprintf("TEST_ID UVM_COUNT was %0d and is now %0d", count, my_report_server.get_id_count(get_type_name())), UVM_LOW)
`uvm_info(get_type_name(), $psprintf("TEST_ID UVM_COUNT was %0d and is now %0d", count, my_report_server.get_id_count(get_type_name())), UVM_LOW)

dump_report_state();
...
end_task

In the output, you see the id counter incrementing unexpectedly as only UVM_DISPLAY is set as the action for the ID (get_type_name()).

o Test ID Actions

UVM_INFO : 0.000      ns : report_server_test_vehicle     : Report ID Action for TEST_ID set to UVM_DISPLAY - no count incremented for this ID(...test_vehicle)
UVM_INFO : 0.000      ns : report_server_test_vehicle     : TEST_ID UVM_COUNT was 5 and is now 6                        (...test_vehicle)
UVM_INFO : 0.000      ns : report_server_test_vehicle     : TEST_ID UVM_COUNT was 5 and is now 7                        (...test_vehicle)

The report handler state dump is:

report handler state dump


+-----------------+
|   Verbosities   |
+-----------------+

max verbosity level =         200
*** verbosities by id

*** verbosities by id and severity

+-------------+
|   actions   |
+-------------+

*** actions by severity
UVM_INFO = DISPLAY COUNT 
UVM_WARNING = DISPLAY 
UVM_ERROR = DISPLAY COUNT 
UVM_FATAL = DISPLAY EXIT 

*** actions by id
[CFGOVR] --> NO ACTION
[CFGSET] --> NO ACTION
[report_server_test_vehicle] --> DISPLAY 

*** actions by id and severity

+-------------+
|    files    |
+-------------+

default file handle =           0

*** files by severity
UVM_INFO =           0
UVM_WARNING =           0
UVM_ERROR =           0
UVM_FATAL =           0

*** files by id

*** files by id and severity
report server state

+-------------+
|   counts    |
+-------------+

max quit count =     0
quit count =     0
UVM_INFO :   12
UVM_WARNING :    0
UVM_ERROR :    0
UVM_FATAL :    0
RNTST :    1
TEST_ID :    1
report_server_test_vehicle :    8
test_vehicle :    2

Thanks for any help you can give.

Link to comment
Share on other sites

The action UVM_COUNT is not really whether to count, but whether to stop on count reaching max_quit_count.

I read the reference manual again, and the uvm_report_object class describes the following actions:

Actions can be set for (in increasing priority) severity, id, and (severity,id) pair. They include output to the screen UVM_DISPLAY, whether the message counters should be incremented UVM_COUNT, and whether a $finish should occur UVM_EXIT.

Link to comment
Share on other sites

That's not what the code does (from AVM->OVM->UVM). It counts messages of all report IDs. Does there really need to be a way to control counting of messages separate from stopping on reaching max_quit_count?

No you are right - I was in a hurry and meant to say that perhaps there should be a clarification in the reference manual. The UVM_COUNT does not control any counts as shown in the report summary, rather it controls the enabling of the max quit counter. I am not sure how to file documentation request on the mantis web page though....

Thanks for your help.

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