In the included demo code, it seems the table_print_detected logic is never activated. The table that gets printed in producer.sv does not go through this custom_report_server at all, it seems.
I'm trying to understand what the intended behavior is. I tried modifying the producer.sv so it uses `uvm_info to print the table, like so:
`uvm_info("producer", $sformatf("Sending %s",p.get_name()), UVM_MEDIUM)
`uvm_info("scottj", p.sprint(), UVM_HIGH) // instead of p.print()
And now the table_print_detected logic is activated, but the output is a little messed up:
UVM_INFO @ 0ns Sending producer2-0 :producer
UVM_INFO @ 0ns ---------------------------------------
Name Type Size Value
---------------------------------------
producer2-0 packet - -
addr integral 32 'h1a
initiator producer #(T) -1 @1942
--------------------------------------- :scottj
top.producer2, producer.sv(69)
UVM_INFO @ 0ns Starting. :producer
As you can see, the first line is not lined up with the rest of the table. (Even with +UVM_REPORT_DEFAULT, it is similarly misaligned.)
I can see that without the table_print_detected logic, the word wrapping messes up the table far more, so it is useful, but I'm curious if this is really the intended behavior?
In the included demo code, it seems the table_print_detected logic is never activated. The table that gets printed in producer.sv does not go through this custom_report_server at all, it seems.
I'm trying to understand what the intended behavior is. I tried modifying the producer.sv so it uses `uvm_info to print the table, like so:
And now the table_print_detected logic is activated, but the output is a little messed up:
As you can see, the first line is not lined up with the rest of the table. (Even with +UVM_REPORT_DEFAULT, it is similarly misaligned.)
I can see that without the table_print_detected logic, the word wrapping messes up the table far more, so it is useful, but I'm curious if this is really the intended behavior?