White paper: Calculating FSMs coverage

Abstract
There are many techniques to calculate the coverage of states for FSM machines. One technique is to use the SystemVerilog cover property or cover sequence statements. However, to cover all possible combinations of an FSM machine can be very tedious when done manually because of the many possible combinations. There are tools that can automate this process. However, an alternate approach is to use the covergroup statement that performs coverage between the previous state of the FSM and the current state, effectively computing the coverage of the state transitions. In addition cross coverage between states of different FSMs can also be computed. This paper demonstrates this concept by example.

The complete paper and model is at