Reporting to diferent files based on verbosity level

Hi all,

I have some prints in my agent and its components (seqr, drvr, monr, seq, seq item), with verbosity level OVM_LOW or OVM_HIGH. How to achieve following :
a) All prints (OVM_LOW and OVM_HIGH) from agent components should go to report1.txt
b) ONly prints with verbosity OVM_LOW should go report2.txt

The OVM reporting mechanism is not set up to have different actions based on Verbosity other than to ignore the message or not.

You can set specific actions based on component hierarchy, severity, or message ID. So if you have a handle to an agent, you can do to all components in its hierarchy:

agent_h.set_report_default_file_hier( fileDescriptor );
agent_h.set_report_severity_action_hier( OVM_INFO, OVM_FILE );

You need to do this after the build phase when all the agents children have already been constructed. (Not necessary in the UVM because the child components inherit the report settings of the parent)

Hi Dave, thanks for the response. Reason for asking above question –
I have around 10 agents instances in my TB. All of their prints, I am dumping to individual files like agent1.txt, agent2.txt etc. Individual reports contain a lot of information, so dumping to a single file, would not look good. So I need to report all major prints (lets say OVM_LOW) of all agent instances to a common file, this would help in debugging.

Can you suggest how to do that??

In reply to Ch. Rajesh Subudhi:

As I said before, the OVM is not set up to override actions based on Verbosity levels. That include re-directing output to different files.

You can associate particular message IDs with actions and filenames.

My suggestion however, is to dump all output to a single file, and post-process the output the way you want it.