CROSS COVERAGE

In reply to Parvez:

You are correct about the difference between crossing coverpoint labels and crossing variables. When you cross a variable directly, an implicit coverpoint gets created with the default maximum of 64 bins spread across the value range.

For mode3, the cross takes each automatically generated bin and checks if it intersects with the select expression. If it does, the automatically generated bin is removed. mode3’s select expression matches everything, so all of the auto-generated bins get removed. This is all explained in section 19.6.1 Defining cross coverage bins of the IEEE 1800-2017 SystemVerilog LRM