In reply to Rsignori92:
Yes I agree with you, I did have the concern of whether the param is different causing the $cast to fail. I’ve put in an additional line of code to print out the content of the object that is being passed into the bus2reg() method and it turns out that this method is being called twice.
The first time called, the extend_seq_item was passed in with the correct param and $cast did not fail. However, for some reason this method is called second time (I’m still trying to figure out who’s calling it the second time) and the uvm_sequence_item that I am using for the Driver is passed in causing the $cast to fail as they are not the same object type. The uvm_sequence_item is only used in the reg2bus() method for the Driver to drive transactions to the DUT so I’m not sure how the Predictor end up getting this object and passing it to the bus2reg() method.
Any suggestions on what may be causing this?