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.