This operation can reveal if one or more sub-conditions have not triggered the branch or, conversely, have always caused a simulation to enter this branch. Condition coverage acts as a diagnostic aid in helping to locate which subcondition is causing problems with the simulation run. This coverage also provides a higher level of control-structure test than branch coverage provides. Branch and condition coverage are higher level metrics than statement coverage. These operations provide useful diagnostics, such as why a simulation has not reached an assignment statement, and they give quality measurements that are more accurate than those obtained by simulation alone.
Path coverage is another essential verification feature needed to encourage higher quality testing.
For example, a VHDL process may contain paths. A path occurs where one complete branching statement follows another branching statement in the code. A branching statement can be an IF or CASE statement. Path coverage calculates how many first-construct branch combinations and branches in the second construct could be entered. In addition, path coverage measures how many of the combinations execute during simulation.