You are passing wrong type of packet to your write method as it clearly mentions formal and actual type of arguments doesn’t match. For ‘pkt_in_transaction’ you are passing ‘gmii_rx_n_transaction’. You need to check your monitor/collector class or driver class for before transaction. Ideally you should a dynamic type check ($cast) in your scoreboard when handling packets from different base types. Also why are you using analysis imp’s you could have used analysis export as the other two and used imp ports of the FIFO’s.