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. 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).