Examples of monitors + driver + sequence code for credit based protocols

Hello,

I have a DUT that takes:

  1. data_valid with the following:
    (a) Payload (assume a n bit wide bus)
    (b) Port number ( assume there are 5 ports)
    (c) Backpressure bit from the DUT indicating an “all-stop” - Stimulus cannot drive pkts as long as this bit is set
    (d) DUT returns per port credit with a valid

I need some ideas to write a credit checker for handling credit returns (from DUT) and where do I handle them? In the driver? Monitor?

Any example for credit-based driver/monitor/sequence example would be great too.

Thanks!

In reply to val_gal:

There does not seem to be much information about credit based protocol verification, but I did find one paper/dissertation:

https://www.semanticscholar.org/paper/A-hardware-verification-methodology-for-an-network-Burkhardt/59d6c4c3461fe623f22777dfc29022d9b105ab77#citing-papers

In reply to dave_59:

Thanks Dave. Would the experts on this forum consider adding blogs/articles that talk about credit-based protocol verification (with a sequence-driver-monitor, the whole picture)?

Also, in general, there are not a lot of examples of uvm_monitor for different kinds of protocols. Would be great to have examples there too.

Thanks!