c4brian Posted September 1, 2015 Report Share Posted September 1, 2015 Is there a command-line command to change the verbosity for a uvm_object (like a configuration object)? For components, I use: +uvm_set_verbosity=test_top.env.myagent.*,_ALL_,UVM_DEBUG,run I want to leave the entire testbench verbosity as sv_medium, except for one object of the following class. Not being a component, it's not in the component hierarchy. class plb_agent_configuration extends agent_cfg_base #(plb_transaction); `uvm_object_utils( plb_agent_configuration ) virtual interface plb_driver_bfm driver_bus; virtual interface plb_monitor_bfm monitor_bus; function new( string name = "" ); super.new( name ); endfunction virtual task access(inout TRANS_T txn); driver_bus.access(txn); endtask virtual task monitor(inout TRANS_T txn); monitor_bus.monitor(txn); endtask virtual task wait_clk(input uint32_t num); monitor_bus.wait_for_clk(num); endtask virtual task wait_rsp(); while (monitor_bus.cb.RspFlag_i!=1) @monitor_bus.cb; `uvm_info(report_id, "response!", UVM_DEBUG) endtask endclass Quote Link to comment Share on other sites More sharing options...
apfitch Posted September 1, 2015 Report Share Posted September 1, 2015 Tudor mentioned in his blog http://blog.verificationgentleman.com/2015/07/rambling-about-uvm-factory-overrides-per-instance.html that you can supply a parent component when you create an object. So one option would be actually to create the config object as part of the component hierarchy, regards Alan Quote Link to comment Share on other sites More sharing options...
tudor.timi Posted September 1, 2015 Report Share Posted September 1, 2015 @Alan I'm not sure if this is going to affect reporting. I think supplying a parent when creating an object will only set the context used by the factory. I had a quick look through the code and when calling uvm_report_*(...) inside an object, you'll actually be calling the global methods which route the report to the top component (uvm_root). You should try making your object inherit from uvm_report_object instead, as this class contains its own report handler. If you also set the context of the object (by specifying a parent or a full path), then you'll be able to distinguish it from other instances, even though it's not part of the component hierarchy. 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.