A customer asked me "can I have a coverpoint for a transaction?" What? Well, we might use a class to represent a transaction. So, can we have a coverpoint for that? Let's see. Suppose we have a class , eg class C; bit b1, b2; endclass Can we do: covergroup CG; coverpoint c; endgroup The answer is no. But we are allowed to do this: covergroup CG; coverpoint c.b1; coverpoint c.b2; endgroup Here's what the Stack Overflow folks call an MCVE : module M; class C; bit b1, b2; endclass C c = new; covergroup CG; //coverpoint c; // THIS WON'T COMPILE coverpoint c.b1; coverpoint c.b2; endgroup CG cg = new; endmodule https://www.edaplayground.com/x/ZV_ A customer asked me about th...