Chethan M Posted March 29, 2019 Report Share Posted March 29, 2019 Hi, I am trying to redirect report messages of all the components into a log file as shown below. 1. In top_test.h: UVM_FILE default_report; std::unique_ptr<std::ofstream> log_file; 2. In top_test.cpp: (At the end of build_phase, after instantiating top_env ) auto m_uvm_root = uvm_root::get(); m_uvm_root->set_report_severity_action_hier(UVM_INFO, UVM_DISPLAY | UVM_LOG); m_uvm_root->set_report_severity_action_hier(UVM_WARNING, UVM_DISPLAY | UVM_COUNT | UVM_LOG); m_uvm_root->set_report_severity_action_hier(UVM_ERROR, UVM_DISPLAY | UVM_COUNT | UVM_LOG); m_uvm_root->set_report_severity_action_hier(UVM_FATAL, UVM_DISPLAY | UVM_EXIT | UVM_LOG); log_file = std::unique_ptr<std::ofstream> (new std::ofstream("my_file.log")); if (log_file->is_open()) { default_report = log_file.get(); m_uvm_root->set_report_default_file_hier(default_report); } else { UVM_ERROR(this->name(), "Unable to open my_file.log file"); } With the above code, messages in all components other than 'driver' and 'sequence_item' are re-directed into log file. please let me know how to resolve this issue. Kindly let me know more information is needed from my side. Quote Link to comment Share on other sites More sharing options...
Stephan Gerth Posted February 6, 2020 Report Share Posted February 6, 2020 Hi Chethan, the issue you see comes probably stems from the driver and sequencer being created during the build phase when you start run_test(...). Your hierarchical logfile setting happens before that, so that the driver and sequencer could not know of that setting. To enable the wanted behaviour, you need to move the log setting to a later place in runtime or make the driver and sequencer full members of the environment. Quote Link to comment Share on other sites More sharing options...
Recommended Posts
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.