Doubts about how to handle behavioral model and delay on DUT


I’ve had some problems to verify one block. This block do some operations of transmit (modulate) and receive (demodulate) signals. The block contains a register bank that have the command register, the status register, and the received data register. My model (preditor) do some calculations with the received data and stores the message at the correct register. The problem that i have had is that my model is behavioral and their calculations is instantaneous, but my DUT have a delay and put some status on the status register (E.G. RECEIVING). If there is a requisition of read the status register will be an incorrect comparation between the model and the DUT, but it isn’t necessary a bug.

There is a correct method do handle situation like this?


In reply to Jose_Iuri:

You can put all instantaneous responses by model in a queue and do comparison of popped item from queue when DUT output is received

In reply to tro:

The problem isn’t the comparation between the correct answers. Is for the read requisition of Status register. My model puts the status complete and the DUT the status “computing”.

Thanks for your answer.