Functional Coverage (Covergroup)Category : Assertions and Coverage ToolsFunctional Coverage can provide information about the quality of the design verification process. It operates at a higher level than Statement Coverage. Instead of checking whether HDL statements executed or not, Functional Coverage can verify whether functionality defined in the design specification was examined and whether testbench stimuli cover all scenarios necessary for testing this functionality. Assertion Coverage is a measure that defines how much of the specified properties have been covered. This type of Functional Coverage is used to verify design behavior over time (requires specification of scenarios and coding them into an executable specification in any of the supported languages). The Assertion Coverage is available in both Riviera-PRO and Active-HDL.Covergroup Coverage is a user-defined metric that measures the percentage of design specification that has been examined with simulation. This type of Functional Coverage allows verifying whether interesting and relevant design features (listed within the verification plan) have been observed using the generated stimuli. In contrast with Assertion Coverage (which is used to verify design features over time), Covergroup Coverage is focused on covering relevant values ever accepted during the entire simulation (requires manual specification of coverage objects and instantiation within testbench code). The Covergroup Coverage is available in Riviera-PRO only.