Add COVERIGN warning, as a more specific UNSUPPORTED error.
This commit is contained in:
parent
481adf8fe7
commit
e171463fa2
1
Changes
1
Changes
|
|
@ -13,6 +13,7 @@ Verilator 5.033 devel
|
|||
|
||||
**Minor:**
|
||||
|
||||
* Add COVERIGN warning, as a more specific UNSUPPORTED error.
|
||||
* Support generated classes (#5665). [Shou-Li Hsu]
|
||||
* Support `+incdir` with multiple directories.
|
||||
* Fix error message when call task as a function (#3089). [Matthew Ballance]
|
||||
|
|
|
|||
|
|
@ -445,6 +445,18 @@ List Of Warnings
|
|||
correctly.
|
||||
|
||||
|
||||
.. option:: COVERIGN
|
||||
|
||||
Warns that Verilator does not support certain forms of
|
||||
:code:`covergroup`, :code:`coverpoint`, and coverage options, and the
|
||||
construct was are ignored.
|
||||
|
||||
Disabling the :option:`UNSUPPORTED` error also disables this warning.
|
||||
|
||||
Ignoring this warning may make Verilator ignore lint checking on the
|
||||
construct, and collect coverage data differently from other simulators.
|
||||
|
||||
|
||||
.. option:: DECLFILENAME
|
||||
|
||||
.. TODO better example
|
||||
|
|
|
|||
|
|
@ -88,6 +88,7 @@ public:
|
|||
COMBDLY, // Combinatorial delayed assignment
|
||||
CONSTRAINTIGN, // Constraint ignored
|
||||
CONTASSREG, // Continuous assignment on reg
|
||||
COVERIGN, // Coverage ignored
|
||||
DECLFILENAME, // Declaration doesn't match filename
|
||||
DEFPARAM, // Style: Defparam
|
||||
DEPRECATED, // Feature will be deprecated
|
||||
|
|
@ -194,7 +195,7 @@ public:
|
|||
"ALWCOMBORDER", "ASCRANGE", "ASSIGNDLY", "ASSIGNIN", "BADSTDPRAGMA",
|
||||
"BLKANDNBLK", "BLKLOOPINIT", "BLKSEQ", "BSSPACE",
|
||||
"CASEINCOMPLETE", "CASEOVERLAP", "CASEWITHX", "CASEX", "CASTCONST", "CDCRSTLOGIC", "CLKDATA",
|
||||
"CMPCONST", "COLONPLUS", "COMBDLY", "CONSTRAINTIGN", "CONTASSREG",
|
||||
"CMPCONST", "COLONPLUS", "COMBDLY", "CONSTRAINTIGN", "CONTASSREG", "COVERIGN",
|
||||
"DECLFILENAME", "DEFPARAM", "DEPRECATED",
|
||||
"ENCAPSULATED", "ENDLABEL", "ENUMVALUE", "EOFNEWLINE", "GENCLK",
|
||||
"GENUNNAMED", "HIERBLOCK",
|
||||
|
|
|
|||
|
|
@ -275,6 +275,7 @@ public:
|
|||
warnOn(V3ErrorCode::WIDTHEXPAND, flag);
|
||||
warnOn(V3ErrorCode::WIDTHXZEXPAND, flag);
|
||||
}
|
||||
if (code == V3ErrorCode::E_UNSUPPORTED) warnOn(V3ErrorCode::COVERIGN, flag);
|
||||
m_msgEnIdx = singleton().msgEnSetBit(m_msgEnIdx, code, flag);
|
||||
}
|
||||
void warnOff(V3ErrorCode code, bool flag) { warnOn(code, !flag); }
|
||||
|
|
|
|||
|
|
@ -1744,6 +1744,12 @@ void V3Options::parseOptsList(FileLine* fl, const string& optdir, int argc,
|
|||
V3Error::pretendError(V3ErrorCode::UNUSEDSIGNAL, false);
|
||||
V3Error::pretendError(V3ErrorCode::UNUSEDPARAM, false);
|
||||
});
|
||||
DECL_OPTION("-Wwarn-UNSUPPORTED", CbCall, []() {
|
||||
FileLine::globalWarnOff(V3ErrorCode::E_UNSUPPORTED, false);
|
||||
FileLine::globalWarnOff(V3ErrorCode::COVERIGN, false);
|
||||
V3Error::pretendError(V3ErrorCode::E_UNSUPPORTED, false);
|
||||
V3Error::pretendError(V3ErrorCode::COVERIGN, false);
|
||||
});
|
||||
DECL_OPTION("-Wwarn-WIDTH", CbCall, []() {
|
||||
FileLine::globalWarnOff(V3ErrorCode::WIDTH, false);
|
||||
V3Error::pretendError(V3ErrorCode::WIDTH, false);
|
||||
|
|
|
|||
|
|
@ -37,6 +37,7 @@
|
|||
|
||||
// Pick up new lexer
|
||||
#define yylex PARSEP->tokenToBison
|
||||
#define BBCOVERIGN(fl, msg) (fl)->v3warn(COVERIGN, msg)
|
||||
#define BBUNSUP(fl, msg) (fl)->v3warn(E_UNSUPPORTED, msg)
|
||||
#define GATEUNSUP(fl, tok) \
|
||||
{ BBUNSUP((fl), "Unsupported: Verilog 1995 gate primitive: " << (tok)); }
|
||||
|
|
@ -3947,16 +3948,16 @@ value_range<nodeExprp>: // ==IEEE: value_range/open_value_range
|
|||
covergroup_value_range<nodeExprp>: // ==IEEE-2012: covergroup_value_range
|
||||
cgexpr { $$ = $1; }
|
||||
| '[' cgexpr ':' cgexpr ']'
|
||||
{ $$ = nullptr; BBUNSUP($1, "Unsupported: covergroup value range"); }
|
||||
{ $$ = nullptr; BBCOVERIGN($1, "Ignoring unsupported: covergroup value range"); }
|
||||
// // IEEE-2023: added all four:
|
||||
// // Skipped as '$' is part of our expr
|
||||
// // IEEE-2023: '[' '$' ':' cgexpr ']'
|
||||
// // Skipped as '$' is part of our expr
|
||||
// // IEEE-2023: '[' cgexpr ':' '$' ']'
|
||||
| '[' cgexpr yP_PLUSSLASHMINUS cgexpr ']'
|
||||
{ $$ = nullptr; BBUNSUP($1, "Unsupported: covergroup value range"); }
|
||||
{ $$ = nullptr; BBCOVERIGN($1, "Ignoring unsupported: covergroup value range"); }
|
||||
| '[' cgexpr yP_PLUSPCTMINUS cgexpr ']'
|
||||
{ $$ = nullptr; BBUNSUP($1, "Unsupported: covergroup value range"); }
|
||||
{ $$ = nullptr; BBCOVERIGN($1, "Ignoring unsupported: covergroup value range"); }
|
||||
;
|
||||
|
||||
caseCondList<nodeExprp>: // IEEE: part of case_item
|
||||
|
|
@ -6173,13 +6174,13 @@ concurrent_assertion_statement<nodep>: // ==IEEE: concurrent_assertion_statemen
|
|||
{ $$ = new AstCover{$1, $4, $6, VAssertType::CONCURRENT}; }
|
||||
// // IEEE: cover_sequence_statement
|
||||
| yCOVER ySEQUENCE '(' sexpr ')' stmt
|
||||
{ $$ = nullptr; BBUNSUP($2, "Unsupported: cover sequence"); }
|
||||
{ $$ = nullptr; BBCOVERIGN($2, "Ignoring unsupported: cover sequence"); }
|
||||
// // IEEE: yCOVER ySEQUENCE '(' clocking_event sexpr ')' stmt
|
||||
// // sexpr already includes "clocking_event sexpr"
|
||||
| yCOVER ySEQUENCE '(' clocking_event yDISABLE yIFF '(' expr/*expression_or_dist*/ ')' sexpr ')' stmt
|
||||
{ $$ = nullptr; BBUNSUP($2, "Unsupported: cover sequence"); }
|
||||
{ $$ = nullptr; BBCOVERIGN($2, "Ignoring unsupported: cover sequence"); }
|
||||
| yCOVER ySEQUENCE '(' yDISABLE yIFF '(' expr/*expression_or_dist*/ ')' sexpr ')' stmt
|
||||
{ $$ = nullptr; BBUNSUP($2, "Unsupported: cover sequence"); }
|
||||
{ $$ = nullptr; BBCOVERIGN($2, "Ignoring unsupported: cover sequence"); }
|
||||
// // IEEE: restrict_property_statement
|
||||
| yRESTRICT yPROPERTY '(' property_spec ')' ';'
|
||||
{ $$ = new AstRestrict{$1, $4}; }
|
||||
|
|
@ -6656,7 +6657,7 @@ covergroup_declaration<nodep>: // ==IEEE: covergroup_declaration
|
|||
covergroup_declarationFront<constraintp>: // IEEE: part of covergroup_declaration
|
||||
yCOVERGROUP idAny
|
||||
{ $$ = new AstConstraint{$<fl>2, *$2, nullptr};
|
||||
BBUNSUP($<fl>1, "Unsupported: covergroup");
|
||||
BBCOVERIGN($<fl>1, "Ignoring unsupported: covergroup");
|
||||
SYMP->pushNew($<constraintp>$); }
|
||||
;
|
||||
|
||||
|
|
@ -6686,27 +6687,27 @@ coverage_option<nodep>: // ==IEEE: coverage_option
|
|||
// // option/type_option aren't really keywords
|
||||
id/*yOPTION | yTYPE_OPTION*/ '.' idAny/*member_identifier*/ '=' expr
|
||||
{ // TODO: check that 'id' is 'option' or 'type_option'
|
||||
$$ = nullptr; BBUNSUP($<fl>1, "Unsupported: coverage option"); }
|
||||
$$ = nullptr; BBCOVERIGN($<fl>1, "Ignoring unsupported: coverage option"); }
|
||||
;
|
||||
|
||||
cover_point<nodep>: // ==IEEE: cover_point
|
||||
// // [ [ data_type_or_implicit ] cover_point_identifier ':' ] yCOVERPOINT
|
||||
yCOVERPOINT expr iffE bins_or_empty
|
||||
{ $$ = nullptr; BBUNSUP($<fl>1, "Unsupported: cover point"); }
|
||||
{ $$ = nullptr; BBCOVERIGN($<fl>1, "Ignoring unsupported: coverpoint"); }
|
||||
// // IEEE-2012: class_scope before an ID
|
||||
| id/*cover_point_id*/ ':' yCOVERPOINT expr iffE bins_or_empty
|
||||
{ $$ = nullptr; BBUNSUP($<fl>3, "Unsupported: cover point"); }
|
||||
{ $$ = nullptr; BBCOVERIGN($<fl>3, "Ignoring unsupported: coverpoint"); }
|
||||
// // data_type_or_implicit expansion
|
||||
| data_type id/*cover_point_id*/ ':' yCOVERPOINT expr iffE bins_or_empty
|
||||
{ $$ = nullptr; BBUNSUP($<fl>4, "Unsupported: cover point"); }
|
||||
{ $$ = nullptr; BBCOVERIGN($<fl>4, "Ignoring unsupported: coverpoint"); }
|
||||
| yVAR data_type id/*cover_point_id*/ ':' yCOVERPOINT expr iffE bins_or_empty
|
||||
{ $$ = nullptr; BBUNSUP($<fl>5, "Unsupported: cover point"); }
|
||||
{ $$ = nullptr; BBCOVERIGN($<fl>5, "Ignoring unsupported: coverpoint"); }
|
||||
| yVAR implicit_typeE id/*cover_point_id*/ ':' yCOVERPOINT expr iffE bins_or_empty
|
||||
{ $$ = nullptr; BBUNSUP($<fl>5, "Unsupported: cover point"); }
|
||||
{ $$ = nullptr; BBCOVERIGN($<fl>5, "Ignoring unsupported: coverpoint"); }
|
||||
| signingE rangeList id/*cover_point_id*/ ':' yCOVERPOINT expr iffE bins_or_empty
|
||||
{ $$ = nullptr; BBUNSUP($<fl>5, "Unsupported: cover point"); }
|
||||
{ $$ = nullptr; BBCOVERIGN($<fl>5, "Ignoring unsupported: coverpoint"); }
|
||||
| signing id/*cover_point_id*/ ':' yCOVERPOINT expr iffE bins_or_empty
|
||||
{ $$ = nullptr; BBUNSUP($<fl>4, "Unsupported: cover point"); }
|
||||
{ $$ = nullptr; BBCOVERIGN($<fl>4, "Ignoring unsupported: coverpoint"); }
|
||||
// // IEEE-2012:
|
||||
| bins_or_empty { $$ = $1; }
|
||||
;
|
||||
|
|
@ -6714,7 +6715,7 @@ cover_point<nodep>: // ==IEEE: cover_point
|
|||
iffE<nodep>: // IEEE: part of cover_point, others
|
||||
/* empty */ { $$ = nullptr; }
|
||||
| yIFF '(' expr ')'
|
||||
{ $$ = nullptr; BBUNSUP($<fl>1, "Unsupported: cover 'iff'"); }
|
||||
{ $$ = nullptr; BBCOVERIGN($<fl>1, "Ignoring unsupported: cover 'iff'"); }
|
||||
;
|
||||
|
||||
bins_or_empty<nodep>: // ==IEEE: bins_or_empty
|
||||
|
|
@ -6739,24 +6740,24 @@ bins_or_options<nodep>: // ==IEEE: bins_or_options
|
|||
coverage_option { $$ = $1; }
|
||||
// // Can't use wildcardE as results in conflicts
|
||||
| bins_keyword idAny/*bin_identifier*/ bins_orBraE '=' '{' range_list '}' iffE
|
||||
{ $$ = nullptr; BBUNSUP($<fl>4, "Unsupported: cover bin specification"); }
|
||||
{ $$ = nullptr; BBCOVERIGN($<fl>4, "Ignoring unsupported: cover bin specification"); }
|
||||
| bins_keyword idAny/*bin_identifier*/ bins_orBraE '=' '{' range_list '}' yWITH__CUR '{' cgexpr '}' iffE
|
||||
{ $$ = nullptr; BBUNSUP($<fl>8, "Unsupported: cover bin 'with' specification"); }
|
||||
{ $$ = nullptr; BBCOVERIGN($<fl>8, "Ignoring unsupported: cover bin 'with' specification"); }
|
||||
| yWILDCARD bins_keyword idAny/*bin_identifier*/ bins_orBraE '=' '{' range_list '}' iffE
|
||||
{ $$ = nullptr; BBUNSUP($<fl>5, "Unsupported: cover bin 'wildcard' specification"); }
|
||||
{ $$ = nullptr; BBCOVERIGN($<fl>5, "Ignoring unsupported: cover bin 'wildcard' specification"); }
|
||||
| yWILDCARD bins_keyword idAny/*bin_identifier*/ bins_orBraE '=' '{' range_list '}' yWITH__CUR '{' cgexpr '}' iffE
|
||||
{ $$ = nullptr; BBUNSUP($<fl>9, "Unsupported: cover bin 'wildcard' 'with' specification"); }
|
||||
{ $$ = nullptr; BBCOVERIGN($<fl>9, "Ignoring unsupported: cover bin 'wildcard' 'with' specification"); }
|
||||
//
|
||||
// // cgexpr part of trans_list
|
||||
| bins_keyword idAny/*bin_identifier*/ bins_orBraE '=' trans_list iffE
|
||||
{ $$ = nullptr; BBUNSUP($<fl>4, "Unsupported: cover bin trans list"); }
|
||||
{ $$ = nullptr; BBCOVERIGN($<fl>4, "Ignoring unsupported: cover bin trans list"); }
|
||||
| yWILDCARD bins_keyword idAny/*bin_identifier*/ bins_orBraE '=' trans_list iffE
|
||||
{ $$ = nullptr; BBUNSUP($<fl>1, "Unsupported: cover bin 'wildcard' trans list"); }
|
||||
{ $$ = nullptr; BBCOVERIGN($<fl>1, "Ignoring unsupported: cover bin 'wildcard' trans list"); }
|
||||
//
|
||||
| bins_keyword idAny/*bin_identifier*/ bins_orBraE '=' yDEFAULT iffE
|
||||
{ $$ = nullptr; BBUNSUP($<fl>5, "Unsupported: cover bin 'default'"); }
|
||||
{ $$ = nullptr; BBCOVERIGN($<fl>5, "Ignoring unsupported: cover bin 'default'"); }
|
||||
| bins_keyword idAny/*bin_identifier*/ bins_orBraE '=' yDEFAULT ySEQUENCE iffE
|
||||
{ $$ = nullptr; BBUNSUP($<fl>6, "Unsupported: cover bin 'default' 'sequence'"); }
|
||||
{ $$ = nullptr; BBCOVERIGN($<fl>6, "Ignoring unsupported: cover bin 'default' 'sequence'"); }
|
||||
;
|
||||
|
||||
bins_orBraE<nodep>: // IEEE: part of bins_or_options:
|
||||
|
|
@ -6780,23 +6781,23 @@ trans_set<nodep>: // ==IEEE: trans_set
|
|||
trans_range_list { $$ = $1; }
|
||||
// // Note the { => } in the grammar, this is really a list
|
||||
| trans_set yP_EQGT trans_range_list
|
||||
{ $$ = $1; BBUNSUP($<fl>2, "Unsupported: cover trans set '=>'"); }
|
||||
{ $$ = $1; BBCOVERIGN($<fl>2, "Ignoring unsupported: cover trans set '=>'"); }
|
||||
;
|
||||
|
||||
trans_range_list<nodep>: // ==IEEE: trans_range_list
|
||||
trans_item { $$ = $1; }
|
||||
| trans_item yP_BRASTAR cgexpr ']'
|
||||
{ $$ = nullptr; BBUNSUP($<fl>2, "Unsupported: cover '[*'"); }
|
||||
{ $$ = nullptr; BBCOVERIGN($<fl>2, "Ignoring unsupported: cover '[*'"); }
|
||||
| trans_item yP_BRASTAR cgexpr ':' cgexpr ']'
|
||||
{ $$ = nullptr; BBUNSUP($<fl>2, "Unsupported: cover '[*'"); }
|
||||
{ $$ = nullptr; BBCOVERIGN($<fl>2, "Ignoring unsupported: cover '[*'"); }
|
||||
| trans_item yP_BRAMINUSGT cgexpr ']'
|
||||
{ $$ = nullptr; BBUNSUP($<fl>2, "Unsupported: cover '[->'"); }
|
||||
{ $$ = nullptr; BBCOVERIGN($<fl>2, "Ignoring unsupported: cover '[->'"); }
|
||||
| trans_item yP_BRAMINUSGT cgexpr ':' cgexpr ']'
|
||||
{ $$ = nullptr; BBUNSUP($<fl>2, "Unsupported: cover '[->'"); }
|
||||
{ $$ = nullptr; BBCOVERIGN($<fl>2, "Ignoring unsupported: cover '[->'"); }
|
||||
| trans_item yP_BRAEQ cgexpr ']'
|
||||
{ $$ = nullptr; BBUNSUP($<fl>2, "Unsupported: cover '[='"); }
|
||||
{ $$ = nullptr; BBCOVERIGN($<fl>2, "Ignoring unsupported: cover '[='"); }
|
||||
| trans_item yP_BRAEQ cgexpr ':' cgexpr ']'
|
||||
{ $$ = nullptr; BBUNSUP($<fl>2, "Unsupported: cover '[='"); }
|
||||
{ $$ = nullptr; BBCOVERIGN($<fl>2, "Ignoring unsupported: cover '[='"); }
|
||||
;
|
||||
|
||||
trans_item<nodep>: // ==IEEE: range_list
|
||||
|
|
@ -6811,9 +6812,9 @@ covergroup_range_list<nodep>: // ==IEEE: covergroup_range_list
|
|||
|
||||
cover_cross<nodep>: // ==IEEE: cover_cross
|
||||
id/*cover_point_identifier*/ ':' yCROSS list_of_cross_items iffE cross_body
|
||||
{ $$ = nullptr; BBUNSUP($<fl>3, "Unsupported: cross"); }
|
||||
{ $$ = nullptr; BBCOVERIGN($<fl>3, "Ignoring unsupported: cover cross"); }
|
||||
| yCROSS list_of_cross_items iffE cross_body
|
||||
{ $$ = nullptr; BBUNSUP($<fl>1, "Unsupported: cross"); }
|
||||
{ $$ = nullptr; BBCOVERIGN($<fl>1, "Ignoring unsupported: cover cross"); }
|
||||
;
|
||||
|
||||
list_of_cross_items<nodep>: // ==IEEE: list_of_cross_items
|
||||
|
|
@ -6855,25 +6856,25 @@ cross_body_item<nodep>: // ==IEEE: cross_body_item
|
|||
coverage_option { $$ = $1; }
|
||||
// // IEEE: bins_selection
|
||||
| function_declaration
|
||||
{ $$ = $1; BBUNSUP($1->fileline(), "Unsupported: coverage cross 'function' declaration"); }
|
||||
{ $$ = $1; BBCOVERIGN($1->fileline(), "Ignoring unsupported: coverage cross 'function' declaration"); }
|
||||
| bins_keyword idAny/*new-bin_identifier*/ '=' select_expression iffE
|
||||
{ $$ = nullptr; BBUNSUP($1, "Unsupported: coverage cross bin"); }
|
||||
{ $$ = nullptr; BBCOVERIGN($1, "Ignoring unsupported: coverage cross bin"); }
|
||||
;
|
||||
|
||||
select_expression<nodep>: // ==IEEE: select_expression
|
||||
// // IEEE: select_condition expanded here
|
||||
yBINSOF '(' bins_expression ')'
|
||||
{ $$ = nullptr; BBUNSUP($1, "Unsupported: coverage select expression 'binsof'"); }
|
||||
{ $$ = nullptr; BBCOVERIGN($1, "Ignoring unsupported: coverage select expression 'binsof'"); }
|
||||
| '!' yBINSOF '(' bins_expression ')'
|
||||
{ $$ = nullptr; BBUNSUP($1, "Unsupported: coverage select expression 'binsof'"); }
|
||||
{ $$ = nullptr; BBCOVERIGN($1, "Ignoring unsupported: coverage select expression 'binsof'"); }
|
||||
| yBINSOF '(' bins_expression ')' yINTERSECT '{' covergroup_range_list '}'
|
||||
{ $$ = nullptr; BBUNSUP($5, "Unsupported: coverage select expression 'intersect'"); }
|
||||
{ $$ = nullptr; BBCOVERIGN($5, "Ignoring unsupported: coverage select expression 'intersect'"); }
|
||||
| '!' yBINSOF '(' bins_expression ')' yINTERSECT '{' covergroup_range_list '}' { }
|
||||
{ $$ = nullptr; BBUNSUP($5, "Unsupported: coverage select expression 'intersect'"); }
|
||||
{ $$ = nullptr; BBCOVERIGN($5, "Ignoring unsupported: coverage select expression 'intersect'"); }
|
||||
| yWITH__PAREN '(' cgexpr ')'
|
||||
{ $$ = nullptr; BBUNSUP($1, "Unsupported: coverage select expression with"); }
|
||||
{ $$ = nullptr; BBCOVERIGN($1, "Ignoring unsupported: coverage select expression with"); }
|
||||
| '!' yWITH__PAREN '(' cgexpr ')'
|
||||
{ $$ = nullptr; BBUNSUP($1, "Unsupported: coverage select expression with"); }
|
||||
{ $$ = nullptr; BBCOVERIGN($1, "Ignoring unsupported: coverage select expression with"); }
|
||||
// // IEEE-2012: Need clarification as to precedence
|
||||
//UNSUP yWITH__PAREN '(' cgexpr ')' yMATCHES cgexpr { }
|
||||
// // IEEE-2012: Need clarification as to precedence
|
||||
|
|
@ -6881,13 +6882,13 @@ select_expression<nodep>: // ==IEEE: select_expression
|
|||
//
|
||||
| '(' select_expression ')' { $$ = $2; }
|
||||
| select_expression yP_ANDAND select_expression
|
||||
{ $$ = nullptr; BBUNSUP($2, "Unsupported: coverage select expression '&&'"); }
|
||||
{ $$ = nullptr; BBCOVERIGN($2, "Ignoring unsupported: coverage select expression '&&'"); }
|
||||
| select_expression yP_OROR select_expression
|
||||
{ $$ = nullptr; BBUNSUP($2, "Unsupported: coverage select expression '||'"); }
|
||||
{ $$ = nullptr; BBCOVERIGN($2, "Ignoring unsupported: coverage select expression '||'"); }
|
||||
// // IEEE-2012: cross_identifier
|
||||
// // Part of covergroup_expression - generic identifier
|
||||
// // IEEE-2012: Need clarification as to precedence
|
||||
//UNSUP cgexpr { $$ = nullptr; BBUNSUP($1, "Unsupported: coverage select expression"); }
|
||||
//UNSUP cgexpr { $$ = nullptr; BBCOVERIGN($1, "Ignoring unsupported: coverage select expression"); }
|
||||
//
|
||||
// // Need precedence fix
|
||||
//UNSUP cgexpr yMATCHES cgexpr {..}
|
||||
|
|
@ -6904,11 +6905,11 @@ bins_expression<nodep>: // ==IEEE: bins_expression
|
|||
coverage_eventE<nodep>: // IEEE: [ coverage_event ]
|
||||
/* empty */ { $$ = nullptr; }
|
||||
| clocking_event
|
||||
{ $$ = nullptr; BBUNSUP($<fl>1, "Unsupported: coverage clocking event"); }
|
||||
{ $$ = nullptr; BBCOVERIGN($<fl>1, "Ignoring unsupported: coverage clocking event"); }
|
||||
| yWITH__ETC yFUNCTION idAny/*"sample"*/ '(' tf_port_listE ')'
|
||||
{ $$ = nullptr; BBUNSUP($<fl>1, "Unsupported: coverage 'with' 'function'"); }
|
||||
{ $$ = nullptr; BBCOVERIGN($<fl>1, "Ignoring unsupported: coverage 'with' 'function'"); }
|
||||
| yP_ATAT '(' block_event_expression ')'
|
||||
{ $$ = nullptr; BBUNSUP($<fl>1, "Unsupported: coverage '@@' events"); }
|
||||
{ $$ = nullptr; BBCOVERIGN($<fl>1, "Ignoring unsupported: coverage '@@' events"); }
|
||||
;
|
||||
|
||||
block_event_expression<nodep>: // ==IEEE: block_event_expression
|
||||
|
|
@ -7352,7 +7353,7 @@ class_item<nodep>: // ==IEEE: class_item
|
|||
{ $$ = nullptr; BBUNSUP($1, "Unsupported: class within class"); }
|
||||
| timeunits_declaration { $$ = $1; }
|
||||
| covergroup_declaration
|
||||
{ $$ = nullptr; BBUNSUP($1, "Unsupported: covergroup within class"); }
|
||||
{ $$ = nullptr; BBCOVERIGN($1, "Ignoring unsupported: covergroup within class"); }
|
||||
// // local_parameter_declaration under parameter_declaration
|
||||
| parameter_declaration ';' { $$ = $1; }
|
||||
| ';' { $$ = nullptr; }
|
||||
|
|
|
|||
|
|
@ -1,383 +1,384 @@
|
|||
%Error-UNSUPPORTED: t/t_covergroup_unsup.v:25:4: Unsupported: covergroup
|
||||
%Warning-COVERIGN: t/t_covergroup_unsup.v:25:4: Ignoring unsupported: covergroup
|
||||
25 | covergroup cg_empty;
|
||||
| ^~~~~~~~~~
|
||||
... For error description see https://verilator.org/warn/UNSUPPORTED?v=latest
|
||||
%Error-UNSUPPORTED: t/t_covergroup_unsup.v:28:4: Unsupported: covergroup
|
||||
... For warning description see https://verilator.org/warn/COVERIGN?v=latest
|
||||
... Use "/* verilator lint_off COVERIGN */" and lint_on around source to disable this message.
|
||||
%Warning-COVERIGN: t/t_covergroup_unsup.v:28:4: Ignoring unsupported: covergroup
|
||||
28 | covergroup cg_opt;
|
||||
| ^~~~~~~~~~
|
||||
%Error-UNSUPPORTED: t/t_covergroup_unsup.v:29:7: Unsupported: coverage option
|
||||
%Warning-COVERIGN: t/t_covergroup_unsup.v:29:7: Ignoring unsupported: coverage option
|
||||
29 | type_option.weight = 1;
|
||||
| ^~~~~~~~~~~
|
||||
%Error-UNSUPPORTED: t/t_covergroup_unsup.v:30:7: Unsupported: coverage option
|
||||
%Warning-COVERIGN: t/t_covergroup_unsup.v:30:7: Ignoring unsupported: coverage option
|
||||
30 | type_option.goal = 99;
|
||||
| ^~~~~~~~~~~
|
||||
%Error-UNSUPPORTED: t/t_covergroup_unsup.v:31:7: Unsupported: coverage option
|
||||
%Warning-COVERIGN: t/t_covergroup_unsup.v:31:7: Ignoring unsupported: coverage option
|
||||
31 | type_option.comment = "type_option_comment";
|
||||
| ^~~~~~~~~~~
|
||||
%Error-UNSUPPORTED: t/t_covergroup_unsup.v:32:7: Unsupported: coverage option
|
||||
%Warning-COVERIGN: t/t_covergroup_unsup.v:32:7: Ignoring unsupported: coverage option
|
||||
32 | type_option.strobe = 0;
|
||||
| ^~~~~~~~~~~
|
||||
%Error-UNSUPPORTED: t/t_covergroup_unsup.v:33:7: Unsupported: coverage option
|
||||
%Warning-COVERIGN: t/t_covergroup_unsup.v:33:7: Ignoring unsupported: coverage option
|
||||
33 | type_option.merge_instances = 1;
|
||||
| ^~~~~~~~~~~
|
||||
%Error-UNSUPPORTED: t/t_covergroup_unsup.v:34:7: Unsupported: coverage option
|
||||
%Warning-COVERIGN: t/t_covergroup_unsup.v:34:7: Ignoring unsupported: coverage option
|
||||
34 | type_option.distribuge_first = 1;
|
||||
| ^~~~~~~~~~~
|
||||
%Error-UNSUPPORTED: t/t_covergroup_unsup.v:35:7: Unsupported: coverage option
|
||||
%Warning-COVERIGN: t/t_covergroup_unsup.v:35:7: Ignoring unsupported: coverage option
|
||||
35 | option.name = "the_name";
|
||||
| ^~~~~~
|
||||
%Error-UNSUPPORTED: t/t_covergroup_unsup.v:36:7: Unsupported: coverage option
|
||||
%Warning-COVERIGN: t/t_covergroup_unsup.v:36:7: Ignoring unsupported: coverage option
|
||||
36 | option.weight = 1;
|
||||
| ^~~~~~
|
||||
%Error-UNSUPPORTED: t/t_covergroup_unsup.v:37:7: Unsupported: coverage option
|
||||
%Warning-COVERIGN: t/t_covergroup_unsup.v:37:7: Ignoring unsupported: coverage option
|
||||
37 | option.goal = 98;
|
||||
| ^~~~~~
|
||||
%Error-UNSUPPORTED: t/t_covergroup_unsup.v:38:7: Unsupported: coverage option
|
||||
%Warning-COVERIGN: t/t_covergroup_unsup.v:38:7: Ignoring unsupported: coverage option
|
||||
38 | option.comment = "option_comment";
|
||||
| ^~~~~~
|
||||
%Error-UNSUPPORTED: t/t_covergroup_unsup.v:39:7: Unsupported: coverage option
|
||||
%Warning-COVERIGN: t/t_covergroup_unsup.v:39:7: Ignoring unsupported: coverage option
|
||||
39 | option.at_least = 20;
|
||||
| ^~~~~~
|
||||
%Error-UNSUPPORTED: t/t_covergroup_unsup.v:40:7: Unsupported: coverage option
|
||||
%Warning-COVERIGN: t/t_covergroup_unsup.v:40:7: Ignoring unsupported: coverage option
|
||||
40 | option.auto_bin_max = 10;
|
||||
| ^~~~~~
|
||||
%Error-UNSUPPORTED: t/t_covergroup_unsup.v:41:7: Unsupported: coverage option
|
||||
%Warning-COVERIGN: t/t_covergroup_unsup.v:41:7: Ignoring unsupported: coverage option
|
||||
41 | option.cross_num_print_missing = 2;
|
||||
| ^~~~~~
|
||||
%Error-UNSUPPORTED: t/t_covergroup_unsup.v:42:7: Unsupported: coverage option
|
||||
%Warning-COVERIGN: t/t_covergroup_unsup.v:42:7: Ignoring unsupported: coverage option
|
||||
42 | option.detect_overlap = 1;
|
||||
| ^~~~~~
|
||||
%Error-UNSUPPORTED: t/t_covergroup_unsup.v:43:7: Unsupported: coverage option
|
||||
%Warning-COVERIGN: t/t_covergroup_unsup.v:43:7: Ignoring unsupported: coverage option
|
||||
43 | option.per_instance = 1;
|
||||
| ^~~~~~
|
||||
%Error-UNSUPPORTED: t/t_covergroup_unsup.v:44:7: Unsupported: coverage option
|
||||
%Warning-COVERIGN: t/t_covergroup_unsup.v:44:7: Ignoring unsupported: coverage option
|
||||
44 | option.get_inst_coverage = 1;
|
||||
| ^~~~~~
|
||||
%Error-UNSUPPORTED: t/t_covergroup_unsup.v:47:4: Unsupported: covergroup
|
||||
%Warning-COVERIGN: t/t_covergroup_unsup.v:47:4: Ignoring unsupported: covergroup
|
||||
47 | covergroup cg_clockingevent() @(posedge clk);
|
||||
| ^~~~~~~~~~
|
||||
%Error-UNSUPPORTED: t/t_covergroup_unsup.v:47:34: Unsupported: coverage clocking event
|
||||
%Warning-COVERIGN: t/t_covergroup_unsup.v:47:34: Ignoring unsupported: coverage clocking event
|
||||
47 | covergroup cg_clockingevent() @(posedge clk);
|
||||
| ^
|
||||
%Error-UNSUPPORTED: t/t_covergroup_unsup.v:49:4: Unsupported: covergroup
|
||||
%Warning-COVERIGN: t/t_covergroup_unsup.v:49:4: Ignoring unsupported: covergroup
|
||||
49 | covergroup cg_withfunction() with function sample (a);
|
||||
| ^~~~~~~~~~
|
||||
%Error-UNSUPPORTED: t/t_covergroup_unsup.v:49:33: Unsupported: coverage 'with' 'function'
|
||||
%Warning-COVERIGN: t/t_covergroup_unsup.v:49:33: Ignoring unsupported: coverage 'with' 'function'
|
||||
49 | covergroup cg_withfunction() with function sample (a);
|
||||
| ^~~~
|
||||
%Error-UNSUPPORTED: t/t_covergroup_unsup.v:51:4: Unsupported: covergroup
|
||||
%Warning-COVERIGN: t/t_covergroup_unsup.v:51:4: Ignoring unsupported: covergroup
|
||||
51 | covergroup cg_atat() @@ (begin funca or end funcb);
|
||||
| ^~~~~~~~~~
|
||||
%Error-UNSUPPORTED: t/t_covergroup_unsup.v:51:25: Unsupported: coverage '@@' events
|
||||
%Warning-COVERIGN: t/t_covergroup_unsup.v:51:25: Ignoring unsupported: coverage '@@' events
|
||||
51 | covergroup cg_atat() @@ (begin funca or end funcb);
|
||||
| ^~
|
||||
%Error-UNSUPPORTED: t/t_covergroup_unsup.v:53:4: Unsupported: covergroup
|
||||
%Warning-COVERIGN: t/t_covergroup_unsup.v:53:4: Ignoring unsupported: covergroup
|
||||
53 | covergroup cg_bracket;
|
||||
| ^~~~~~~~~~
|
||||
%Error-UNSUPPORTED: t/t_covergroup_unsup.v:56:4: Unsupported: covergroup
|
||||
56 | covergroup cg_bracket;
|
||||
%Warning-COVERIGN: t/t_covergroup_unsup.v:56:4: Ignoring unsupported: covergroup
|
||||
56 | covergroup cg_bracket2;
|
||||
| ^~~~~~~~~~
|
||||
%Error-UNSUPPORTED: t/t_covergroup_unsup.v:57:9: Unsupported: coverage option
|
||||
%Warning-COVERIGN: t/t_covergroup_unsup.v:57:9: Ignoring unsupported: coverage option
|
||||
57 | { option.name = "option"; }
|
||||
| ^~~~~~
|
||||
%Error-UNSUPPORTED: t/t_covergroup_unsup.v:59:4: Unsupported: covergroup
|
||||
%Warning-COVERIGN: t/t_covergroup_unsup.v:59:4: Ignoring unsupported: covergroup
|
||||
59 | covergroup cg_cp;
|
||||
| ^~~~~~~~~~
|
||||
%Error-UNSUPPORTED: t/t_covergroup_unsup.v:60:7: Unsupported: cover point
|
||||
%Warning-COVERIGN: t/t_covergroup_unsup.v:60:7: Ignoring unsupported: coverpoint
|
||||
60 | coverpoint a;
|
||||
| ^~~~~~~~~~
|
||||
%Error-UNSUPPORTED: t/t_covergroup_unsup.v:62:4: Unsupported: covergroup
|
||||
%Warning-COVERIGN: t/t_covergroup_unsup.v:62:4: Ignoring unsupported: covergroup
|
||||
62 | covergroup cg_cp_iff;
|
||||
| ^~~~~~~~~~
|
||||
%Error-UNSUPPORTED: t/t_covergroup_unsup.v:63:20: Unsupported: cover 'iff'
|
||||
%Warning-COVERIGN: t/t_covergroup_unsup.v:63:20: Ignoring unsupported: cover 'iff'
|
||||
63 | coverpoint a iff (b);
|
||||
| ^~~
|
||||
%Error-UNSUPPORTED: t/t_covergroup_unsup.v:63:7: Unsupported: cover point
|
||||
%Warning-COVERIGN: t/t_covergroup_unsup.v:63:7: Ignoring unsupported: coverpoint
|
||||
63 | coverpoint a iff (b);
|
||||
| ^~~~~~~~~~
|
||||
%Error-UNSUPPORTED: t/t_covergroup_unsup.v:65:4: Unsupported: covergroup
|
||||
%Warning-COVERIGN: t/t_covergroup_unsup.v:65:4: Ignoring unsupported: covergroup
|
||||
65 | covergroup cg_id_cp_iff;
|
||||
| ^~~~~~~~~~
|
||||
%Error-UNSUPPORTED: t/t_covergroup_unsup.v:66:24: Unsupported: cover 'iff'
|
||||
%Warning-COVERIGN: t/t_covergroup_unsup.v:66:24: Ignoring unsupported: cover 'iff'
|
||||
66 | id: coverpoint a iff (b);
|
||||
| ^~~
|
||||
%Error-UNSUPPORTED: t/t_covergroup_unsup.v:66:11: Unsupported: cover point
|
||||
%Warning-COVERIGN: t/t_covergroup_unsup.v:66:11: Ignoring unsupported: coverpoint
|
||||
66 | id: coverpoint a iff (b);
|
||||
| ^~~~~~~~~~
|
||||
%Error-UNSUPPORTED: t/t_covergroup_unsup.v:68:4: Unsupported: covergroup
|
||||
%Warning-COVERIGN: t/t_covergroup_unsup.v:68:4: Ignoring unsupported: covergroup
|
||||
68 | covergroup cg_id_cp_id1;
|
||||
| ^~~~~~~~~~
|
||||
%Error-UNSUPPORTED: t/t_covergroup_unsup.v:69:28: Unsupported: cover 'iff'
|
||||
%Warning-COVERIGN: t/t_covergroup_unsup.v:69:28: Ignoring unsupported: cover 'iff'
|
||||
69 | int id: coverpoint a iff (b);
|
||||
| ^~~
|
||||
%Error-UNSUPPORTED: t/t_covergroup_unsup.v:69:15: Unsupported: cover point
|
||||
%Warning-COVERIGN: t/t_covergroup_unsup.v:69:15: Ignoring unsupported: coverpoint
|
||||
69 | int id: coverpoint a iff (b);
|
||||
| ^~~~~~~~~~
|
||||
%Error-UNSUPPORTED: t/t_covergroup_unsup.v:71:4: Unsupported: covergroup
|
||||
%Warning-COVERIGN: t/t_covergroup_unsup.v:71:4: Ignoring unsupported: covergroup
|
||||
71 | covergroup cg_id_cp_id2;
|
||||
| ^~~~~~~~~~
|
||||
%Error-UNSUPPORTED: t/t_covergroup_unsup.v:72:32: Unsupported: cover 'iff'
|
||||
%Warning-COVERIGN: t/t_covergroup_unsup.v:72:32: Ignoring unsupported: cover 'iff'
|
||||
72 | var int id: coverpoint a iff (b);
|
||||
| ^~~
|
||||
%Error-UNSUPPORTED: t/t_covergroup_unsup.v:72:19: Unsupported: cover point
|
||||
%Warning-COVERIGN: t/t_covergroup_unsup.v:72:19: Ignoring unsupported: coverpoint
|
||||
72 | var int id: coverpoint a iff (b);
|
||||
| ^~~~~~~~~~
|
||||
%Error-UNSUPPORTED: t/t_covergroup_unsup.v:74:4: Unsupported: covergroup
|
||||
%Warning-COVERIGN: t/t_covergroup_unsup.v:74:4: Ignoring unsupported: covergroup
|
||||
74 | covergroup cg_id_cp_id3;
|
||||
| ^~~~~~~~~~
|
||||
%Error-UNSUPPORTED: t/t_covergroup_unsup.v:75:34: Unsupported: cover 'iff'
|
||||
%Warning-COVERIGN: t/t_covergroup_unsup.v:75:34: Ignoring unsupported: cover 'iff'
|
||||
75 | var [3:0] id: coverpoint a iff (b);
|
||||
| ^~~
|
||||
%Error-UNSUPPORTED: t/t_covergroup_unsup.v:75:21: Unsupported: cover point
|
||||
%Warning-COVERIGN: t/t_covergroup_unsup.v:75:21: Ignoring unsupported: coverpoint
|
||||
75 | var [3:0] id: coverpoint a iff (b);
|
||||
| ^~~~~~~~~~
|
||||
%Error-UNSUPPORTED: t/t_covergroup_unsup.v:77:4: Unsupported: covergroup
|
||||
%Warning-COVERIGN: t/t_covergroup_unsup.v:77:4: Ignoring unsupported: covergroup
|
||||
77 | covergroup cg_id_cp_id4;
|
||||
| ^~~~~~~~~~
|
||||
%Error-UNSUPPORTED: t/t_covergroup_unsup.v:78:30: Unsupported: cover 'iff'
|
||||
%Warning-COVERIGN: t/t_covergroup_unsup.v:78:30: Ignoring unsupported: cover 'iff'
|
||||
78 | [3:0] id: coverpoint a iff (b);
|
||||
| ^~~
|
||||
%Error-UNSUPPORTED: t/t_covergroup_unsup.v:78:17: Unsupported: cover point
|
||||
%Warning-COVERIGN: t/t_covergroup_unsup.v:78:17: Ignoring unsupported: coverpoint
|
||||
78 | [3:0] id: coverpoint a iff (b);
|
||||
| ^~~~~~~~~~
|
||||
%Error-UNSUPPORTED: t/t_covergroup_unsup.v:80:4: Unsupported: covergroup
|
||||
%Warning-COVERIGN: t/t_covergroup_unsup.v:80:4: Ignoring unsupported: covergroup
|
||||
80 | covergroup cg_id_cp_id5;
|
||||
| ^~~~~~~~~~
|
||||
%Error-UNSUPPORTED: t/t_covergroup_unsup.v:81:31: Unsupported: cover 'iff'
|
||||
%Warning-COVERIGN: t/t_covergroup_unsup.v:81:31: Ignoring unsupported: cover 'iff'
|
||||
81 | signed id: coverpoint a iff (b);
|
||||
| ^~~
|
||||
%Error-UNSUPPORTED: t/t_covergroup_unsup.v:81:18: Unsupported: cover point
|
||||
%Warning-COVERIGN: t/t_covergroup_unsup.v:81:18: Ignoring unsupported: coverpoint
|
||||
81 | signed id: coverpoint a iff (b);
|
||||
| ^~~~~~~~~~
|
||||
%Error-UNSUPPORTED: t/t_covergroup_unsup.v:84:4: Unsupported: covergroup
|
||||
%Warning-COVERIGN: t/t_covergroup_unsup.v:84:4: Ignoring unsupported: covergroup
|
||||
84 | covergroup cg_cross;
|
||||
| ^~~~~~~~~~
|
||||
%Error-UNSUPPORTED: t/t_covergroup_unsup.v:85:18: Unsupported: cover 'iff'
|
||||
%Warning-COVERIGN: t/t_covergroup_unsup.v:85:18: Ignoring unsupported: cover 'iff'
|
||||
85 | cross a, b iff (!rst);
|
||||
| ^~~
|
||||
%Error-UNSUPPORTED: t/t_covergroup_unsup.v:85:7: Unsupported: cross
|
||||
%Warning-COVERIGN: t/t_covergroup_unsup.v:85:7: Ignoring unsupported: cover cross
|
||||
85 | cross a, b iff (!rst);
|
||||
| ^~~~~
|
||||
%Error-UNSUPPORTED: t/t_covergroup_unsup.v:87:4: Unsupported: covergroup
|
||||
%Warning-COVERIGN: t/t_covergroup_unsup.v:87:4: Ignoring unsupported: covergroup
|
||||
87 | covergroup cg_cross2;
|
||||
| ^~~~~~~~~~
|
||||
%Error-UNSUPPORTED: t/t_covergroup_unsup.v:88:18: Unsupported: cover 'iff'
|
||||
%Warning-COVERIGN: t/t_covergroup_unsup.v:88:18: Ignoring unsupported: cover 'iff'
|
||||
88 | cross a, b iff (!rst) {}
|
||||
| ^~~
|
||||
%Error-UNSUPPORTED: t/t_covergroup_unsup.v:88:7: Unsupported: cross
|
||||
%Warning-COVERIGN: t/t_covergroup_unsup.v:88:7: Ignoring unsupported: cover cross
|
||||
88 | cross a, b iff (!rst) {}
|
||||
| ^~~~~
|
||||
%Error-UNSUPPORTED: t/t_covergroup_unsup.v:90:4: Unsupported: covergroup
|
||||
%Warning-COVERIGN: t/t_covergroup_unsup.v:90:4: Ignoring unsupported: covergroup
|
||||
90 | covergroup cg_cross3;
|
||||
| ^~~~~~~~~~
|
||||
%Error-UNSUPPORTED: t/t_covergroup_unsup.v:91:20: Unsupported: coverage option
|
||||
%Warning-COVERIGN: t/t_covergroup_unsup.v:91:20: Ignoring unsupported: coverage option
|
||||
91 | cross a, b { option.comment = "cross"; option.weight = 12; }
|
||||
| ^~~~~~
|
||||
%Error-UNSUPPORTED: t/t_covergroup_unsup.v:91:46: Unsupported: coverage option
|
||||
%Warning-COVERIGN: t/t_covergroup_unsup.v:91:46: Ignoring unsupported: coverage option
|
||||
91 | cross a, b { option.comment = "cross"; option.weight = 12; }
|
||||
| ^~~~~~
|
||||
%Error-UNSUPPORTED: t/t_covergroup_unsup.v:91:7: Unsupported: cross
|
||||
%Warning-COVERIGN: t/t_covergroup_unsup.v:91:7: Ignoring unsupported: cover cross
|
||||
91 | cross a, b { option.comment = "cross"; option.weight = 12; }
|
||||
| ^~~~~
|
||||
%Error-UNSUPPORTED: t/t_covergroup_unsup.v:93:4: Unsupported: covergroup
|
||||
93 | covergroup cg_cross3;
|
||||
%Warning-COVERIGN: t/t_covergroup_unsup.v:93:4: Ignoring unsupported: covergroup
|
||||
93 | covergroup cg_cross4;
|
||||
| ^~~~~~~~~~
|
||||
%Error-UNSUPPORTED: t/t_covergroup_unsup.v:94:34: Unsupported: coverage cross 'function' declaration
|
||||
%Warning-COVERIGN: t/t_covergroup_unsup.v:94:34: Ignoring unsupported: coverage cross 'function' declaration
|
||||
94 | cross a, b { function void crossfunc; endfunction; }
|
||||
| ^~~~~~~~~
|
||||
%Error-UNSUPPORTED: t/t_covergroup_unsup.v:94:7: Unsupported: cross
|
||||
%Warning-COVERIGN: t/t_covergroup_unsup.v:94:7: Ignoring unsupported: cover cross
|
||||
94 | cross a, b { function void crossfunc; endfunction; }
|
||||
| ^~~~~
|
||||
%Error-UNSUPPORTED: t/t_covergroup_unsup.v:96:4: Unsupported: covergroup
|
||||
%Warning-COVERIGN: t/t_covergroup_unsup.v:96:4: Ignoring unsupported: covergroup
|
||||
96 | covergroup cg_cross_id;
|
||||
| ^~~~~~~~~~
|
||||
%Error-UNSUPPORTED: t/t_covergroup_unsup.v:97:28: Unsupported: cover 'iff'
|
||||
%Warning-COVERIGN: t/t_covergroup_unsup.v:97:28: Ignoring unsupported: cover 'iff'
|
||||
97 | my_cg_id: cross a, b iff (!rst);
|
||||
| ^~~
|
||||
%Error-UNSUPPORTED: t/t_covergroup_unsup.v:97:17: Unsupported: cross
|
||||
%Warning-COVERIGN: t/t_covergroup_unsup.v:97:17: Ignoring unsupported: cover cross
|
||||
97 | my_cg_id: cross a, b iff (!rst);
|
||||
| ^~~~~
|
||||
%Error-UNSUPPORTED: t/t_covergroup_unsup.v:100:4: Unsupported: covergroup
|
||||
%Warning-COVERIGN: t/t_covergroup_unsup.v:100:4: Ignoring unsupported: covergroup
|
||||
100 | covergroup cg_binsoroptions_bk1;
|
||||
| ^~~~~~~~~~
|
||||
%Error-UNSUPPORTED: t/t_covergroup_unsup.v:102:17: Unsupported: cover bin specification
|
||||
%Warning-COVERIGN: t/t_covergroup_unsup.v:102:17: Ignoring unsupported: cover bin specification
|
||||
102 | { bins ba = {a}; }
|
||||
| ^
|
||||
%Error-UNSUPPORTED: t/t_covergroup_unsup.v:103:24: Unsupported: cover 'iff'
|
||||
%Warning-COVERIGN: t/t_covergroup_unsup.v:103:24: Ignoring unsupported: cover 'iff'
|
||||
103 | { bins bar = {a} iff (!rst); }
|
||||
| ^~~
|
||||
%Error-UNSUPPORTED: t/t_covergroup_unsup.v:103:18: Unsupported: cover bin specification
|
||||
%Warning-COVERIGN: t/t_covergroup_unsup.v:103:18: Ignoring unsupported: cover bin specification
|
||||
103 | { bins bar = {a} iff (!rst); }
|
||||
| ^
|
||||
%Error-UNSUPPORTED: t/t_covergroup_unsup.v:104:26: Unsupported: cover bin specification
|
||||
%Warning-COVERIGN: t/t_covergroup_unsup.v:104:26: Ignoring unsupported: cover bin specification
|
||||
104 | { illegal_bins ila = {a}; }
|
||||
| ^
|
||||
%Error-UNSUPPORTED: t/t_covergroup_unsup.v:105:25: Unsupported: cover bin specification
|
||||
%Warning-COVERIGN: t/t_covergroup_unsup.v:105:25: Ignoring unsupported: cover bin specification
|
||||
105 | { ignore_bins iga = {a}; }
|
||||
| ^
|
||||
%Error-UNSUPPORTED: t/t_covergroup_unsup.v:107:19: Unsupported: cover bin specification
|
||||
%Warning-COVERIGN: t/t_covergroup_unsup.v:107:19: Ignoring unsupported: cover bin specification
|
||||
107 | { bins ba[] = {a}; }
|
||||
| ^
|
||||
%Error-UNSUPPORTED: t/t_covergroup_unsup.v:108:20: Unsupported: cover bin specification
|
||||
%Warning-COVERIGN: t/t_covergroup_unsup.v:108:20: Ignoring unsupported: cover bin specification
|
||||
108 | { bins ba[2] = {a}; }
|
||||
| ^
|
||||
%Error-UNSUPPORTED: t/t_covergroup_unsup.v:110:23: Unsupported: cover bin 'with' specification
|
||||
%Warning-COVERIGN: t/t_covergroup_unsup.v:110:23: Ignoring unsupported: cover bin 'with' specification
|
||||
110 | { bins ba = {a} with { b }; }
|
||||
| ^~~~
|
||||
%Error-UNSUPPORTED: t/t_covergroup_unsup.v:112:27: Unsupported: cover bin 'wildcard' specification
|
||||
%Warning-COVERIGN: t/t_covergroup_unsup.v:112:27: Ignoring unsupported: cover bin 'wildcard' specification
|
||||
112 | { wildcard bins bwa = {a}; }
|
||||
| ^
|
||||
%Error-UNSUPPORTED: t/t_covergroup_unsup.v:113:34: Unsupported: cover bin 'wildcard' 'with' specification
|
||||
%Warning-COVERIGN: t/t_covergroup_unsup.v:113:34: Ignoring unsupported: cover bin 'wildcard' 'with' specification
|
||||
113 | { wildcard bins bwaw = {a} with { b }; }
|
||||
| ^~~~
|
||||
%Error-UNSUPPORTED: t/t_covergroup_unsup.v:115:20: Unsupported: cover bin 'default'
|
||||
%Warning-COVERIGN: t/t_covergroup_unsup.v:115:20: Ignoring unsupported: cover bin 'default'
|
||||
115 | { bins def = default; }
|
||||
| ^~~~~~~
|
||||
%Error-UNSUPPORTED: t/t_covergroup_unsup.v:116:29: Unsupported: cover bin 'default' 'sequence'
|
||||
%Warning-COVERIGN: t/t_covergroup_unsup.v:116:29: Ignoring unsupported: cover bin 'default' 'sequence'
|
||||
116 | { bins defs = default sequence; }
|
||||
| ^~~~~~~~
|
||||
%Error-UNSUPPORTED: t/t_covergroup_unsup.v:118:18: Unsupported: cover bin trans list
|
||||
%Warning-COVERIGN: t/t_covergroup_unsup.v:118:18: Ignoring unsupported: cover bin trans list
|
||||
118 | { bins bts = ( 1, 2 ); }
|
||||
| ^
|
||||
%Error-UNSUPPORTED: t/t_covergroup_unsup.v:119:9: Unsupported: cover bin 'wildcard' trans list
|
||||
%Warning-COVERIGN: t/t_covergroup_unsup.v:119:9: Ignoring unsupported: cover bin 'wildcard' trans list
|
||||
119 | { wildcard bins wbts = ( 1, 2 ); }
|
||||
| ^~~~~~~~
|
||||
%Error-UNSUPPORTED: t/t_covergroup_unsup.v:120:33: Unsupported: covergroup value range
|
||||
%Warning-COVERIGN: t/t_covergroup_unsup.v:120:33: Ignoring unsupported: covergroup value range
|
||||
120 | { bins bts2 = ( 2, 3 ), ( [5:6] ) ; }
|
||||
| ^
|
||||
%Error-UNSUPPORTED: t/t_covergroup_unsup.v:120:19: Unsupported: cover bin trans list
|
||||
%Warning-COVERIGN: t/t_covergroup_unsup.v:120:19: Ignoring unsupported: cover bin trans list
|
||||
120 | { bins bts2 = ( 2, 3 ), ( [5:6] ) ; }
|
||||
| ^
|
||||
%Error-UNSUPPORTED: t/t_covergroup_unsup.v:122:27: Unsupported: cover trans set '=>'
|
||||
%Warning-COVERIGN: t/t_covergroup_unsup.v:122:27: Ignoring unsupported: cover trans set '=>'
|
||||
122 | { bins bts2 = ( 1,5 => 6,7 ) ; }
|
||||
| ^~
|
||||
%Error-UNSUPPORTED: t/t_covergroup_unsup.v:122:19: Unsupported: cover bin trans list
|
||||
%Warning-COVERIGN: t/t_covergroup_unsup.v:122:19: Ignoring unsupported: cover bin trans list
|
||||
122 | { bins bts2 = ( 1,5 => 6,7 ) ; }
|
||||
| ^
|
||||
%Error-UNSUPPORTED: t/t_covergroup_unsup.v:123:25: Unsupported: cover '[*'
|
||||
%Warning-COVERIGN: t/t_covergroup_unsup.v:123:25: Ignoring unsupported: cover '[*'
|
||||
123 | { bins bts2 = ( 3 [*5] ) ; }
|
||||
| ^~
|
||||
%Error-UNSUPPORTED: t/t_covergroup_unsup.v:123:19: Unsupported: cover bin trans list
|
||||
%Warning-COVERIGN: t/t_covergroup_unsup.v:123:19: Ignoring unsupported: cover bin trans list
|
||||
123 | { bins bts2 = ( 3 [*5] ) ; }
|
||||
| ^
|
||||
%Error-UNSUPPORTED: t/t_covergroup_unsup.v:124:25: Unsupported: cover '[*'
|
||||
%Warning-COVERIGN: t/t_covergroup_unsup.v:124:25: Ignoring unsupported: cover '[*'
|
||||
124 | { bins bts2 = ( 3 [*5:6] ) ; }
|
||||
| ^~
|
||||
%Error-UNSUPPORTED: t/t_covergroup_unsup.v:124:19: Unsupported: cover bin trans list
|
||||
%Warning-COVERIGN: t/t_covergroup_unsup.v:124:19: Ignoring unsupported: cover bin trans list
|
||||
124 | { bins bts2 = ( 3 [*5:6] ) ; }
|
||||
| ^
|
||||
%Error-UNSUPPORTED: t/t_covergroup_unsup.v:125:25: Unsupported: cover '[->'
|
||||
%Warning-COVERIGN: t/t_covergroup_unsup.v:125:25: Ignoring unsupported: cover '[->'
|
||||
125 | { bins bts2 = ( 3 [->5] ) ; }
|
||||
| ^~~
|
||||
%Error-UNSUPPORTED: t/t_covergroup_unsup.v:125:19: Unsupported: cover bin trans list
|
||||
%Warning-COVERIGN: t/t_covergroup_unsup.v:125:19: Ignoring unsupported: cover bin trans list
|
||||
125 | { bins bts2 = ( 3 [->5] ) ; }
|
||||
| ^
|
||||
%Error-UNSUPPORTED: t/t_covergroup_unsup.v:126:25: Unsupported: cover '[->'
|
||||
%Warning-COVERIGN: t/t_covergroup_unsup.v:126:25: Ignoring unsupported: cover '[->'
|
||||
126 | { bins bts2 = ( 3 [->5:6] ) ; }
|
||||
| ^~~
|
||||
%Error-UNSUPPORTED: t/t_covergroup_unsup.v:126:19: Unsupported: cover bin trans list
|
||||
%Warning-COVERIGN: t/t_covergroup_unsup.v:126:19: Ignoring unsupported: cover bin trans list
|
||||
126 | { bins bts2 = ( 3 [->5:6] ) ; }
|
||||
| ^
|
||||
%Error-UNSUPPORTED: t/t_covergroup_unsup.v:127:25: Unsupported: cover '[='
|
||||
%Warning-COVERIGN: t/t_covergroup_unsup.v:127:25: Ignoring unsupported: cover '[='
|
||||
127 | { bins bts2 = ( 3 [=5] ) ; }
|
||||
| ^~
|
||||
%Error-UNSUPPORTED: t/t_covergroup_unsup.v:127:19: Unsupported: cover bin trans list
|
||||
%Warning-COVERIGN: t/t_covergroup_unsup.v:127:19: Ignoring unsupported: cover bin trans list
|
||||
127 | { bins bts2 = ( 3 [=5] ) ; }
|
||||
| ^
|
||||
%Error-UNSUPPORTED: t/t_covergroup_unsup.v:128:25: Unsupported: cover '[='
|
||||
%Warning-COVERIGN: t/t_covergroup_unsup.v:128:25: Ignoring unsupported: cover '[='
|
||||
128 | { bins bts2 = ( 3 [=5:6] ) ; }
|
||||
| ^~
|
||||
%Error-UNSUPPORTED: t/t_covergroup_unsup.v:128:19: Unsupported: cover bin trans list
|
||||
%Warning-COVERIGN: t/t_covergroup_unsup.v:128:19: Ignoring unsupported: cover bin trans list
|
||||
128 | { bins bts2 = ( 3 [=5:6] ) ; }
|
||||
| ^
|
||||
%Error-UNSUPPORTED: t/t_covergroup_unsup.v:132:4: Unsupported: covergroup
|
||||
%Warning-COVERIGN: t/t_covergroup_unsup.v:132:4: Ignoring unsupported: covergroup
|
||||
132 | covergroup cg_cross_bins;
|
||||
| ^~~~~~~~~~
|
||||
%Error-UNSUPPORTED: t/t_covergroup_unsup.v:134:23: Unsupported: coverage select expression 'binsof'
|
||||
%Warning-COVERIGN: t/t_covergroup_unsup.v:134:23: Ignoring unsupported: coverage select expression 'binsof'
|
||||
134 | bins bin_a = binsof(a);
|
||||
| ^~~~~~
|
||||
%Error-UNSUPPORTED: t/t_covergroup_unsup.v:134:10: Unsupported: coverage cross bin
|
||||
%Warning-COVERIGN: t/t_covergroup_unsup.v:134:10: Ignoring unsupported: coverage cross bin
|
||||
134 | bins bin_a = binsof(a);
|
||||
| ^~~~
|
||||
%Error-UNSUPPORTED: t/t_covergroup_unsup.v:135:24: Unsupported: coverage select expression 'binsof'
|
||||
%Warning-COVERIGN: t/t_covergroup_unsup.v:135:24: Ignoring unsupported: coverage select expression 'binsof'
|
||||
135 | bins bin_ai = binsof(a) iff (!rst);
|
||||
| ^~~~~~
|
||||
%Error-UNSUPPORTED: t/t_covergroup_unsup.v:135:34: Unsupported: cover 'iff'
|
||||
%Warning-COVERIGN: t/t_covergroup_unsup.v:135:34: Ignoring unsupported: cover 'iff'
|
||||
135 | bins bin_ai = binsof(a) iff (!rst);
|
||||
| ^~~
|
||||
%Error-UNSUPPORTED: t/t_covergroup_unsup.v:135:10: Unsupported: coverage cross bin
|
||||
%Warning-COVERIGN: t/t_covergroup_unsup.v:135:10: Ignoring unsupported: coverage cross bin
|
||||
135 | bins bin_ai = binsof(a) iff (!rst);
|
||||
| ^~~~
|
||||
%Error-UNSUPPORTED: t/t_covergroup_unsup.v:136:23: Unsupported: coverage select expression 'binsof'
|
||||
%Warning-COVERIGN: t/t_covergroup_unsup.v:136:23: Ignoring unsupported: coverage select expression 'binsof'
|
||||
136 | bins bin_c = binsof(cp.x);
|
||||
| ^~~~~~
|
||||
%Error-UNSUPPORTED: t/t_covergroup_unsup.v:136:10: Unsupported: coverage cross bin
|
||||
%Warning-COVERIGN: t/t_covergroup_unsup.v:136:10: Ignoring unsupported: coverage cross bin
|
||||
136 | bins bin_c = binsof(cp.x);
|
||||
| ^~~~
|
||||
%Error-UNSUPPORTED: t/t_covergroup_unsup.v:137:24: Unsupported: coverage select expression 'binsof'
|
||||
%Warning-COVERIGN: t/t_covergroup_unsup.v:137:24: Ignoring unsupported: coverage select expression 'binsof'
|
||||
137 | bins bin_na = ! binsof(a);
|
||||
| ^
|
||||
%Error-UNSUPPORTED: t/t_covergroup_unsup.v:137:10: Unsupported: coverage cross bin
|
||||
%Warning-COVERIGN: t/t_covergroup_unsup.v:137:10: Ignoring unsupported: coverage cross bin
|
||||
137 | bins bin_na = ! binsof(a);
|
||||
| ^~~~
|
||||
%Error-UNSUPPORTED: t/t_covergroup_unsup.v:139:33: Unsupported: coverage select expression 'intersect'
|
||||
%Warning-COVERIGN: t/t_covergroup_unsup.v:139:33: Ignoring unsupported: coverage select expression 'intersect'
|
||||
139 | bins bin_d = binsof(a) intersect { b };
|
||||
| ^~~~~~~~~
|
||||
%Error-UNSUPPORTED: t/t_covergroup_unsup.v:139:10: Unsupported: coverage cross bin
|
||||
%Warning-COVERIGN: t/t_covergroup_unsup.v:139:10: Ignoring unsupported: coverage cross bin
|
||||
139 | bins bin_d = binsof(a) intersect { b };
|
||||
| ^~~~
|
||||
%Error-UNSUPPORTED: t/t_covergroup_unsup.v:140:34: Unsupported: coverage select expression 'intersect'
|
||||
%Warning-COVERIGN: t/t_covergroup_unsup.v:140:34: Ignoring unsupported: coverage select expression 'intersect'
|
||||
140 | bins bin_nd = ! binsof(a) intersect { b };
|
||||
| ^
|
||||
%Error-UNSUPPORTED: t/t_covergroup_unsup.v:140:10: Unsupported: coverage cross bin
|
||||
%Warning-COVERIGN: t/t_covergroup_unsup.v:140:10: Ignoring unsupported: coverage cross bin
|
||||
140 | bins bin_nd = ! binsof(a) intersect { b };
|
||||
| ^~~~
|
||||
%Error-UNSUPPORTED: t/t_covergroup_unsup.v:142:23: Unsupported: coverage select expression with
|
||||
%Warning-COVERIGN: t/t_covergroup_unsup.v:142:23: Ignoring unsupported: coverage select expression with
|
||||
142 | bins bin_e = with (a);
|
||||
| ^~~~
|
||||
%Error-UNSUPPORTED: t/t_covergroup_unsup.v:142:10: Unsupported: coverage cross bin
|
||||
%Warning-COVERIGN: t/t_covergroup_unsup.v:142:10: Ignoring unsupported: coverage cross bin
|
||||
142 | bins bin_e = with (a);
|
||||
| ^~~~
|
||||
%Error-UNSUPPORTED: t/t_covergroup_unsup.v:143:23: Unsupported: coverage select expression with
|
||||
%Warning-COVERIGN: t/t_covergroup_unsup.v:143:23: Ignoring unsupported: coverage select expression with
|
||||
143 | bins bin_e = ! with (a);
|
||||
| ^
|
||||
%Error-UNSUPPORTED: t/t_covergroup_unsup.v:143:10: Unsupported: coverage cross bin
|
||||
%Warning-COVERIGN: t/t_covergroup_unsup.v:143:10: Ignoring unsupported: coverage cross bin
|
||||
143 | bins bin_e = ! with (a);
|
||||
| ^~~~
|
||||
%Error-UNSUPPORTED: t/t_covergroup_unsup.v:145:26: Unsupported: coverage select expression 'binsof'
|
||||
%Warning-COVERIGN: t/t_covergroup_unsup.v:145:26: Ignoring unsupported: coverage select expression 'binsof'
|
||||
145 | bins bin_par = (binsof(a));
|
||||
| ^~~~~~
|
||||
%Error-UNSUPPORTED: t/t_covergroup_unsup.v:145:10: Unsupported: coverage cross bin
|
||||
%Warning-COVERIGN: t/t_covergroup_unsup.v:145:10: Ignoring unsupported: coverage cross bin
|
||||
145 | bins bin_par = (binsof(a));
|
||||
| ^~~~
|
||||
%Error-UNSUPPORTED: t/t_covergroup_unsup.v:146:25: Unsupported: coverage select expression 'binsof'
|
||||
%Warning-COVERIGN: t/t_covergroup_unsup.v:146:25: Ignoring unsupported: coverage select expression 'binsof'
|
||||
146 | bins bin_and = binsof(a) && binsof(b);
|
||||
| ^~~~~~
|
||||
%Error-UNSUPPORTED: t/t_covergroup_unsup.v:146:38: Unsupported: coverage select expression 'binsof'
|
||||
%Warning-COVERIGN: t/t_covergroup_unsup.v:146:38: Ignoring unsupported: coverage select expression 'binsof'
|
||||
146 | bins bin_and = binsof(a) && binsof(b);
|
||||
| ^~~~~~
|
||||
%Error-UNSUPPORTED: t/t_covergroup_unsup.v:146:35: Unsupported: coverage select expression '&&'
|
||||
%Warning-COVERIGN: t/t_covergroup_unsup.v:146:35: Ignoring unsupported: coverage select expression '&&'
|
||||
146 | bins bin_and = binsof(a) && binsof(b);
|
||||
| ^~
|
||||
%Error-UNSUPPORTED: t/t_covergroup_unsup.v:146:10: Unsupported: coverage cross bin
|
||||
%Warning-COVERIGN: t/t_covergroup_unsup.v:146:10: Ignoring unsupported: coverage cross bin
|
||||
146 | bins bin_and = binsof(a) && binsof(b);
|
||||
| ^~~~
|
||||
%Error-UNSUPPORTED: t/t_covergroup_unsup.v:147:24: Unsupported: coverage select expression 'binsof'
|
||||
%Warning-COVERIGN: t/t_covergroup_unsup.v:147:24: Ignoring unsupported: coverage select expression 'binsof'
|
||||
147 | bins bin_or = binsof(a) || binsof(b);
|
||||
| ^~~~~~
|
||||
%Error-UNSUPPORTED: t/t_covergroup_unsup.v:147:37: Unsupported: coverage select expression 'binsof'
|
||||
%Warning-COVERIGN: t/t_covergroup_unsup.v:147:37: Ignoring unsupported: coverage select expression 'binsof'
|
||||
147 | bins bin_or = binsof(a) || binsof(b);
|
||||
| ^~~~~~
|
||||
%Error-UNSUPPORTED: t/t_covergroup_unsup.v:147:34: Unsupported: coverage select expression '||'
|
||||
%Warning-COVERIGN: t/t_covergroup_unsup.v:147:34: Ignoring unsupported: coverage select expression '||'
|
||||
147 | bins bin_or = binsof(a) || binsof(b);
|
||||
| ^~
|
||||
%Error-UNSUPPORTED: t/t_covergroup_unsup.v:147:10: Unsupported: coverage cross bin
|
||||
%Warning-COVERIGN: t/t_covergroup_unsup.v:147:10: Ignoring unsupported: coverage cross bin
|
||||
147 | bins bin_or = binsof(a) || binsof(b);
|
||||
| ^~~~
|
||||
%Error-UNSUPPORTED: t/t_covergroup_unsup.v:133:7: Unsupported: cross
|
||||
%Warning-COVERIGN: t/t_covergroup_unsup.v:133:7: Ignoring unsupported: cover cross
|
||||
133 | cross a, b {
|
||||
| ^~~~~
|
||||
%Error-UNSUPPORTED: t/t_covergroup_unsup.v:151:4: Unsupported: covergroup
|
||||
%Warning-COVERIGN: t/t_covergroup_unsup.v:151:4: Ignoring unsupported: covergroup
|
||||
151 | covergroup cg_more extends cg_empty;
|
||||
| ^~~~~~~~~~
|
||||
%Error: Exiting due to
|
||||
|
|
|
|||
|
|
@ -53,7 +53,7 @@ module t (/*AUTOARG*/
|
|||
covergroup cg_bracket;
|
||||
{}
|
||||
endgroup
|
||||
covergroup cg_bracket;
|
||||
covergroup cg_bracket2;
|
||||
{ option.name = "option"; }
|
||||
endgroup
|
||||
covergroup cg_cp;
|
||||
|
|
@ -90,7 +90,7 @@ module t (/*AUTOARG*/
|
|||
covergroup cg_cross3;
|
||||
cross a, b { option.comment = "cross"; option.weight = 12; }
|
||||
endgroup
|
||||
covergroup cg_cross3;
|
||||
covergroup cg_cross4;
|
||||
cross a, b { function void crossfunc; endfunction; }
|
||||
endgroup
|
||||
covergroup cg_cross_id;
|
||||
|
|
|
|||
|
|
@ -0,0 +1,17 @@
|
|||
#!/usr/bin/env python3
|
||||
# DESCRIPTION: Verilator: Verilog Test driver/expect definition
|
||||
#
|
||||
# Copyright 2024 by Wilson Snyder. This program is free software; you
|
||||
# can redistribute it and/or modify it under the terms of either the GNU
|
||||
# Lesser General Public License Version 3 or the Perl Artistic License
|
||||
# Version 2.0.
|
||||
# SPDX-License-Identifier: LGPL-3.0-only OR Artistic-2.0
|
||||
|
||||
import vltest_bootstrap
|
||||
|
||||
test.scenarios('vlt')
|
||||
test.top_filename = "t/t_covergroup_unsup.v"
|
||||
|
||||
test.lint(verilator_flags2=['--assert --coverage --Wno-COVERIGN'])
|
||||
|
||||
test.passes()
|
||||
|
|
@ -230,13 +230,14 @@
|
|||
%Error-UNSUPPORTED: t/t_sequence_sexpr_unsup.v:126:7: Unsupported: first_match (in sequence expression)
|
||||
126 | first_match (a, res0 = 1, res1 = 2);
|
||||
| ^~~~~~~~~~~
|
||||
%Error-UNSUPPORTED: t/t_sequence_sexpr_unsup.v:129:10: Unsupported: cover sequence
|
||||
%Warning-COVERIGN: t/t_sequence_sexpr_unsup.v:129:10: Ignoring unsupported: cover sequence
|
||||
129 | cover sequence (s_a) $display("");
|
||||
| ^~~~~~~~
|
||||
%Error-UNSUPPORTED: t/t_sequence_sexpr_unsup.v:130:10: Unsupported: cover sequence
|
||||
... Use "/* verilator lint_off COVERIGN */" and lint_on around source to disable this message.
|
||||
%Warning-COVERIGN: t/t_sequence_sexpr_unsup.v:130:10: Ignoring unsupported: cover sequence
|
||||
130 | cover sequence (@(posedge a) disable iff (b) s_a) $display("");
|
||||
| ^~~~~~~~
|
||||
%Error-UNSUPPORTED: t/t_sequence_sexpr_unsup.v:131:10: Unsupported: cover sequence
|
||||
%Warning-COVERIGN: t/t_sequence_sexpr_unsup.v:131:10: Ignoring unsupported: cover sequence
|
||||
131 | cover sequence (disable iff (b) s_a) $display("");
|
||||
| ^~~~~~~~
|
||||
%Error: Exiting due to
|
||||
|
|
|
|||
Loading…
Reference in New Issue