Help on UVM for non transaction based designs

Very good topic to discuss indeed - thanks for taking time to share some “real life verification issues” :-) While the input/stimulus driving is still “abstract-able” (as you also seemed to have done it), the checking/monitoring is a huge, unnecessary pain if we want to too religious about UVM base class usage. Why not use assertions for them instead? For instance we had recently a customer case of PCIe-to-SPI address decoding and we simply had to write 2 SVAs per interface (one to say “get-correct-decoding”, another “if my-sel is ON, we better have the PCIe-addr in my-space earlier”).

If you can provide few more samples on what kind of “control signals” you deal with, maybe we can explore further.

Warm Regards
Ajeetha, CVC