返回介绍

A.2.11 Covergroup declarations

发布于 2020-09-09 22:56:11 字数 3228 浏览 897 评论 0 收藏 0

covergroup_declaration ::=

covergroup covergroup_identifier [ ( [ tf_port_list ] ) ] [ coverage_event ] ;

{ coverage_spec_or_option ; }

endgroup [ : covergroup_identifier ]

coverage_spec_or_option ::=

{attribute_instance} coverage_spec

| {attribute_instance} coverage_option ;

coverage_option ::=

option.member_identifier = expression

| type_option.member_identifier = expression

coverage_spec ::=

cover_point

| cover_cross

coverage_event ::=

clocking_event

| @@( block_event_expression )

block_event_expression :: =

block_event_expression or block_event_expression

| begin hierarchical_btf_identifier

| end hierarchical_btf_identifier

hierarchical_btf_identifier :: =

hierarchical_tf_identifier

| hierarchical_block_identifier

| hierarchical _identifier [ class_scope ] method_identifier

cover_point ::= [ cover_point_identifer : ] coverpoint expression [ iff ( expression ) ] bins_or_empty

bins_or_empty ::=

{ {attribute_instance} { bins_or_options ; } }

| ;

bins_or_options ::=

coverage_option

| [ wildcard ] bins_keyword bin_identifier [ [ [ expression ] ] ] = { range_list } [ iff ( expression ) ]

| [ wildcard] bins_keyword bin_identifier [ [ ] ] = trans_list [ iff ( expression ) ]

| bins_keyword bin_identifier [ [ [ expression ] ] ] = default [ iff ( expression ) ]

| bins_keyword bin_identifier = default sequence [ iff ( expression ) ]

bins_keyword::= bins | illegal_bins | ignore_bins

range_list ::= value_range { , value_range }

trans_list ::= ( trans_set ) { , ( trans_set ) }

trans_set ::= trans_range_list => trans_range_list { => trans_range_list }

trans_range_list ::=

trans_item

| trans_item [ [* repeat_range ] ]

| trans_item [ [–> repeat_range ] ]

| trans_item [ [= repeat_range ] ]

trans_item ::= range_list

repeat_range ::=

expression

| expression : expression

cover_cross ::= [cover_point_identifer : ] cross list_of_coverpoints [ iff ( expression ) ] select_bins_or_empty

list_of_coverpoints ::= cross_item , cross_item { , cross_item }

cross_item ::=

cover_point_identifier

| variable_identifier

select_bins_or_empty ::=

{ { bins_selections_or_option ; } }

| ;

bins_selection_or_option ::=

{ attribute_instance } coverage_option

| { attribute_instance } bins_selection

bins_selection ::= bins_keyword bin_identifier = select_expression [ iff ( expression ) ]

select_expression ::=

select_condition

| ! select_condition

| select_expression && select_expression

| select_expression || select_expression

| ( select_expression )

select_condition ::= binsof ( bins_expression ) [ intersect { open_range_list } ]

bins_expression ::=

variable_identifier

| cover_point_identifier [ . bins_identifier ]

open_range_list ::= open_value_range { , open_value_range }

open_value_range ::= value_range21

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。
列表为空,暂无数据
    我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
    原文