How can a transaction object handle become null during simulation?

I have a monitor that is reading transactions from an interface and passing them onto a scoreboard through tlm analysis ports and tlm analysis fifos.

I don’t see any object handle being null before it goes to the scoreboard but sometime during simulation the object handle being passed to scoreboard becomes null, I am wondering how this is possible?

Is there a way this handle could become null without explicitly being assigned null? Keep in mind this handle was not null in monitor when the object was constructed and address value was(implicitly) assigned to handle. It becomes null somewhere along the way, how is that possible?

Thanks

To answer your queston it would be useful to see some code. In general, an object is null if it is not created/constructed and you might get a null object from the analysis fifo if the fifo is empty.

1 Like

Thank you so much. I think this is the answer, I am popping from an empty fifo that is resulting in a null value being returned.