In reply to cuonghl:
I just give you an example of 2 messages. But what happen if we have 100 messages or more interleaving together?
Hi Chris,
Agreed, as per this specification of 100 interleaved messages, then the verif. env should store all the 100 messages in the fifo to do the comparison with the expected o/p messages. And for that matter any number of messages that are still in the pipeline and hasn’t been processed by the DUT yet, cannot be removed from Scoreboard fifo.
But as and when one message (say message ‘n’) is processed and comes out of DUT, then that message ‘n’ can be processed, compared and deleted out of the fifos. This can be do-able in your example atleast. I believe this is still considered as on-the-fly checking, although you are storing some I/P messages (as required by the design scenario).
But, if we store the processed messages(O/P) too, we may end up saving tons of messages in the SB fifos and can lead to simulation performance issues too (and you cannot run worst case heavy traffic tests).