1、covergroup
我以前的领导告诉我:任何事,要有一种做的方法,还要有一种检查的方法。在验证中,随机是一种高效产生激励以覆盖待测空间的方法,与此同时,我们还需要一种检查待测空间是否真的被覆盖、是否足够覆盖的方法,也就是验证中常说的覆盖率收集。
功能覆盖率不一定用coverage or cover property实现,但SV提供的这两种语法,相当于在EDA软件层搭建了一种专门的轮子,可大大减少验证者的coding工作量,且运行效率更高。
covergroup可被看成一种SV Built-In Class,因为它的语法结构和用法实在是太像class了。covergroup可以(往往)用在class中,这和“covergroup像class”这一说法并不矛盾,因为这和class可以用在class中是一样的。
2、coverpoint
bins
3、cover_cross
4、options
5、methods
6、systemtasks
7、coverage computation
略
8、cover property
以下内容来自:http://testbench.in/CO_17_COVER_PROPERTY.html
Comparison Of Cover Property And Cover Group.
Cover groups can reference data sets where as cover property references a temporal expression.
Cover group can be triggered using .sample method ()
Cover property dont have this option.
Cover group has multiple bins options.
Cover property has only one bin.
Cover group cannot handle complex temporal relationships.
Cover properties can cover complex temporal expressions.
Cover group automatically handles the crosses.
Cover properties cannot do crosses.
Cover group has lot of filtering options.
Cover property has no specific filtering constructs but it can be filtered.
Cover properties cannot be used in classes.
Cover groups can be used in classes. So, cover groups can reference the variables in class.
Cover groups are most useful at a higher level of abstractions where as cover property makes sense to use when we want to work at low level signals.
We can mix cover group and cover property to gain the OO and temporal advantages. Using properties for temporal expressions and trigger the cover group.