User guide

24-227
SystemVerilog Testbench Constructs
Note:
In cumulative mode, only cumulative information can be queried for.
Furthermore, the coverage reports only report on cumulative data for
the covergroup definitions, and not instances.
Instance-based Coverage
Instance-based coverage statistics involve computing coverage statistics for
every instance of a covergroup as well as the covergroup definition as a
whole. VCS computes per-instance coverage statistics when you set the
cumulative attribute of the option.per_instance to 1.
Module based Covergroup Instances
The covergroups defined inside a module creates a separate
instances of the covergroup for every instance of the module created.
The coverage statistics is calculated for every instance of the module
created separately even when the option.per_instance is set to 0.
Coverage Options
You can specify options for the coverage of a covergroup with the
type_option.option=argument keyword and argument for
specifying options, for example:
covergroup cg2 @(negedge clk);
type_option.weight = 3;
type_option.goal = 99;
type_option.comment = "Comment for cg2";
cp3 : coverpoint bit3;
cp4 : coverpoint bit4;
endgroup
These options specify the following: