The covergroup construct encapsulates the specification of a coverage model. Each covergroup specification can include the following components:
A clocking event that synchronizes the sampling of coverage points
A set of coverage points
Cross coverage between coverage points
Optional formal arguments
Coverage options
A Cover group is defined between key words covergroup & endgroup.
A Covergroup Instance can be created using the new() operator.
covergroup cg;
...
...
...
endgroup
cg cg_inst = new;
The above example defines a covergroup named "cg". An instance of "cg" is declared as "cg_inst" and created using the "new" operator.