Hi UVM forum.
I had a problem with mirror function in my test bench.
in my sequence I have the following code.
m_reg_block.m_ctrl_reg.write(status,8'h04);
m_reg_block.m_ctrl_reg.mirror(status,UVM_CHECK);
the simulator reported “read from DUT 0x0 does not match mirrored value 0x4”
In order to debug I added a print command for all received packets in the adapter bus2reg function.
And then I saw the problem.
After the monitor sent the collected packet via analysis port write function
item_collected.write(util_pkt);
some other object wrote the driver req object into reg2bus.
I know this because I printed all the packets from driver and monitor
and compered the packet id that was received in the reg2bus function to the packets id that was printed in the driver and monitor.
my question is who uses the bus2reg function with req as an input, and why?