I defined a class called repeat_seq
, which extends from base_seq
, which extends from uvm_sequence
. Some slicing code has shown the following:
class repeat_seq extends hermes_base_seq;
...
hermes_router_seq_config cfg;
...
task pre_body();
super.pre_body();
if(!uvm_config_db #(hermes_router_seq_config)::get(get_sequencer(),"","config",cfg))
`uvm_fatal(get_type_name(), "config config_db lookup failed")
endtask
task body;
...
`uvm_info("repeat_seq",cfg.convert2string(),UVM_HIGH)
...
endtask: body
In class hermes_router_seq_config
, the convert2string
function has shown the following:
virtual function string convert2string();
string s = super.convert2string();
s = { s, $psprintf( "\n port : %0d", port) };
s = { s, $psprintf( "\n p_size : %0d", p_size) };
s = { s, $psprintf( "\n header : %H" , header) };
s = { s, $psprintf( "\n valid_addr : %p" , hermes_pkg::valid_addrs(port)) };
s = { s, $psprintf( "\n npackets : %0d", npackets) };
return s;
endfunction: convert2string
However, in the transcript file, the corresponding message is:
UVM_INFO /home/ICer/nocc/noc-router/tb/seqs/src/repeat_seq.sv(39) @ 130000: uvm_test_top.env.agent_master_2.sequencer@@seq [repeat_seq]
I find that an `uvm_info
doesn't print as expected in monitor, which also takes convert2string()
as an argument.