Update format of unsupported messages for consistency
Signed-off-by: Matthew Ballance <matt.ballance@gmail.com>
This commit is contained in:
parent
9e70f0a2ae
commit
cbf6c64d05
127
src/verilog.y
127
src/verilog.y
|
|
@ -3958,16 +3958,16 @@ value_range<nodeExprp>: // ==IEEE: value_range/open_value_range
|
|||
covergroup_value_range<nodeExprp>: // ==IEEE-2012: covergroup_value_range
|
||||
cgexpr { $$ = $1; }
|
||||
| '[' cgexpr ':' cgexpr ']'
|
||||
{ $$ = nullptr; BBCOVERIGN($1, "Ignoring unsupported: covergroup value range"); DEL($2, $4); }
|
||||
{ $$ = nullptr; BBCOVERIGN($1, "Unsupported: covergroup value range '[...]'"); DEL($2, $4); }
|
||||
// // 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; BBCOVERIGN($1, "Ignoring unsupported: covergroup value range"); DEL($2, $4); }
|
||||
{ $$ = nullptr; BBCOVERIGN($1, "Unsupported: covergroup value range '[...]'"); DEL($2, $4); }
|
||||
| '[' cgexpr yP_PLUSPCTMINUS cgexpr ']'
|
||||
{ $$ = nullptr; BBCOVERIGN($1, "Ignoring unsupported: covergroup value range"); DEL($2, $4); }
|
||||
{ $$ = nullptr; BBCOVERIGN($1, "Unsupported: covergroup value range '[...]'"); DEL($2, $4); }
|
||||
;
|
||||
|
||||
caseCondList<nodeExprp>: // IEEE: part of case_item
|
||||
|
|
@ -6936,10 +6936,11 @@ covergroup_declaration<nodep>: // ==IEEE: covergroup_declaration
|
|||
{ AstSenTree* clockp = nullptr;
|
||||
AstNode* sampleArgsp = nullptr;
|
||||
if ($4) {
|
||||
if (VN_IS($4, SenItem))
|
||||
if (VN_IS($4, SenItem)) {
|
||||
clockp = new AstSenTree{$<fl>1, VN_AS($4, SenItem)};
|
||||
else
|
||||
} else {
|
||||
sampleArgsp = $4;
|
||||
}
|
||||
}
|
||||
$$ = new AstCovergroup{$<fl>1, *$2, static_cast<AstVar*>($3),
|
||||
static_cast<AstVar*>(sampleArgsp), $6, clockp};
|
||||
|
|
@ -6951,7 +6952,7 @@ covergroup_declaration<nodep>: // ==IEEE: covergroup_declaration
|
|||
/*cont*/ coverage_spec_or_optionListE
|
||||
/*cont*/ yENDGROUP endLabelE
|
||||
{ $$ = nullptr;
|
||||
BBUNSUP($1, "Unsupported: covergroup inheritance (extends) is not implemented");
|
||||
BBUNSUP($1, "Unsupported: covergroup inheritance (extends)");
|
||||
DEL($5); }
|
||||
;
|
||||
|
||||
|
|
@ -7000,50 +7001,50 @@ cover_point<nodep>: // ==IEEE: cover_point
|
|||
// // [ [ data_type_or_implicit ] cover_point_identifier ':' ] yCOVERPOINT
|
||||
yCOVERPOINT expr iffE bins_or_empty
|
||||
{ AstCoverpoint* const cp = new AstCoverpoint{$<fl>1, "", $2};
|
||||
if ($3) cp->iffp(VN_AS($3, NodeExpr));
|
||||
if ($3) cp->iffp($3);
|
||||
if ($4) cp->addBinsp($4);
|
||||
$$ = cp; }
|
||||
// // IEEE-2012: class_scope before an ID
|
||||
| id/*cover_point_id*/ ':' yCOVERPOINT expr iffE bins_or_empty
|
||||
{ AstCoverpoint* const cp = new AstCoverpoint{$<fl>3, *$1, $4};
|
||||
if ($5) cp->iffp(VN_AS($5, NodeExpr));
|
||||
if ($5) cp->iffp($5);
|
||||
if ($6) cp->addBinsp($6);
|
||||
$$ = cp; }
|
||||
// // data_type_or_implicit expansion
|
||||
| data_type id/*cover_point_id*/ ':' yCOVERPOINT expr iffE bins_or_empty
|
||||
{ AstCoverpoint* const cp = new AstCoverpoint{$<fl>4, *$2, $5};
|
||||
if ($6) cp->iffp(VN_AS($6, NodeExpr));
|
||||
if ($6) cp->iffp($6);
|
||||
if ($7) cp->addBinsp($7);
|
||||
$$ = cp;
|
||||
DEL($1); }
|
||||
| yVAR data_type id/*cover_point_id*/ ':' yCOVERPOINT expr iffE bins_or_empty
|
||||
{ AstCoverpoint* const cp = new AstCoverpoint{$<fl>5, *$3, $6};
|
||||
if ($7) cp->iffp(VN_AS($7, NodeExpr));
|
||||
if ($7) cp->iffp($7);
|
||||
if ($8) cp->addBinsp($8);
|
||||
$$ = cp;
|
||||
DEL($2); }
|
||||
| yVAR implicit_typeE id/*cover_point_id*/ ':' yCOVERPOINT expr iffE bins_or_empty
|
||||
{ AstCoverpoint* const cp = new AstCoverpoint{$<fl>5, *$3, $6};
|
||||
if ($7) cp->iffp(VN_AS($7, NodeExpr));
|
||||
if ($7) cp->iffp($7);
|
||||
if ($8) cp->addBinsp($8);
|
||||
$$ = cp;
|
||||
DEL($2); }
|
||||
| signingE rangeList id/*cover_point_id*/ ':' yCOVERPOINT expr iffE bins_or_empty
|
||||
{ AstCoverpoint* const cp = new AstCoverpoint{$<fl>5, *$3, $6};
|
||||
if ($7) cp->iffp(VN_AS($7, NodeExpr));
|
||||
if ($7) cp->iffp($7);
|
||||
if ($8) cp->addBinsp($8);
|
||||
$$ = cp;
|
||||
DEL($2); }
|
||||
| signing id/*cover_point_id*/ ':' yCOVERPOINT expr iffE bins_or_empty
|
||||
{ AstCoverpoint* const cp = new AstCoverpoint{$<fl>4, *$2, $5};
|
||||
if ($6) cp->iffp(VN_AS($6, NodeExpr));
|
||||
if ($6) cp->iffp($6);
|
||||
if ($7) cp->addBinsp($7);
|
||||
$$ = cp; }
|
||||
// // IEEE-2012:
|
||||
| bins_or_empty { $$ = $1; }
|
||||
;
|
||||
|
||||
iffE<nodep>: // IEEE: part of cover_point, others
|
||||
iffE<nodeExprp>: // IEEE: part of cover_point, others
|
||||
/* empty */ { $$ = nullptr; }
|
||||
| yIFF '(' expr ')'
|
||||
{ $$ = $3; /* Keep iff condition for coverpoint */ }
|
||||
|
|
@ -7071,9 +7072,9 @@ bins_or_options<nodep>: // ==IEEE: bins_or_options
|
|||
coverage_option { $$ = $1; }
|
||||
// // Can't use wildcardE as results in conflicts
|
||||
| yBINS idAny/*bin_identifier*/ bins_orBraE '=' '{' range_list '}' iffE
|
||||
{ $$ = new AstCoverBin{$<fl>2, *$2, $6, false, false};
|
||||
if ($3) VN_AS($$, CoverBin)->isArray(true); // If bins_orBraE returned non-null, it's array
|
||||
DEL($8); }
|
||||
{ AstCoverBin* const binp = new AstCoverBin{$<fl>2, *$2, $6, false, false};
|
||||
if ($3) binp->isArray(true);
|
||||
$$ = binp; DEL($8); }
|
||||
| yBINS idAny/*bin_identifier*/ '[' cgexpr ']' iffE
|
||||
{ // Check for automatic bins: bins auto[N]
|
||||
if (*$2 == "auto") {
|
||||
|
|
@ -7081,18 +7082,18 @@ bins_or_options<nodep>: // ==IEEE: bins_or_options
|
|||
DEL($6);
|
||||
} else {
|
||||
$$ = nullptr;
|
||||
BBCOVERIGN($<fl>2, "Ignoring unsupported: bin array (non-auto)");
|
||||
BBCOVERIGN($<fl>2, "Unsupported: 'bins' array (non-auto)");
|
||||
DEL($4, $6);
|
||||
}
|
||||
}
|
||||
| yIGNORE_BINS idAny/*bin_identifier*/ bins_orBraE '=' '{' range_list '}' iffE
|
||||
{ $$ = new AstCoverBin{$<fl>2, *$2, $6, true, false};
|
||||
if ($3) VN_AS($$, CoverBin)->isArray(true);
|
||||
DEL($8); }
|
||||
{ AstCoverBin* const binp = new AstCoverBin{$<fl>2, *$2, $6, true, false};
|
||||
if ($3) binp->isArray(true);
|
||||
$$ = binp; DEL($8); }
|
||||
| yILLEGAL_BINS idAny/*bin_identifier*/ bins_orBraE '=' '{' range_list '}' iffE
|
||||
{ $$ = new AstCoverBin{$<fl>2, *$2, $6, false, true};
|
||||
if ($3) VN_AS($$, CoverBin)->isArray(true);
|
||||
DEL($8); }
|
||||
{ AstCoverBin* const binp = new AstCoverBin{$<fl>2, *$2, $6, false, true};
|
||||
if ($3) binp->isArray(true);
|
||||
$$ = binp; DEL($8); }
|
||||
| yBINS idAny/*bin_identifier*/ bins_orBraE '=' '{' range_list '}' yWITH__PAREN '(' cgexpr ')' iffE
|
||||
{ $$ = new AstCoverBin{$<fl>2, *$2, $6, false, false};
|
||||
DEL($10, $12); /* TODO: Support 'with' clause */ }
|
||||
|
|
@ -7103,11 +7104,11 @@ bins_or_options<nodep>: // ==IEEE: bins_or_options
|
|||
{ $$ = new AstCoverBin{$<fl>2, *$2, $6, false, true};
|
||||
DEL($10, $12); /* TODO: Support 'with' clause */ }
|
||||
| yBINS idAny/*bin_identifier*/ bins_orBraE '=' id/*cover_point_id*/ yWITH__PAREN '(' cgexpr ')' iffE
|
||||
{ $$ = nullptr; BBCOVERIGN($<fl>6, "Ignoring unsupported: cover bin 'with' specification"); DEL($8, $10); }
|
||||
{ $$ = nullptr; BBCOVERIGN($<fl>6, "Unsupported: 'with' in cover bin"); DEL($8, $10); }
|
||||
| yIGNORE_BINS idAny/*bin_identifier*/ bins_orBraE '=' id/*cover_point_id*/ yWITH__PAREN '(' cgexpr ')' iffE
|
||||
{ $$ = nullptr; BBCOVERIGN($<fl>6, "Ignoring unsupported: cover bin 'with' specification"); DEL($8, $10); }
|
||||
{ $$ = nullptr; BBCOVERIGN($<fl>6, "Unsupported: 'with' in cover bin"); DEL($8, $10); }
|
||||
| yILLEGAL_BINS idAny/*bin_identifier*/ bins_orBraE '=' id/*cover_point_id*/ yWITH__PAREN '(' cgexpr ')' iffE
|
||||
{ $$ = nullptr; BBCOVERIGN($<fl>6, "Ignoring unsupported: cover bin 'with' specification"); DEL($8, $10); }
|
||||
{ $$ = nullptr; BBCOVERIGN($<fl>6, "Unsupported: 'with' in cover bin"); DEL($8, $10); }
|
||||
| yWILDCARD yBINS idAny/*bin_identifier*/ bins_orBraE '=' '{' range_list '}' iffE
|
||||
{ $$ = new AstCoverBin{$<fl>3, *$3, $7, false, false, true};
|
||||
DEL($9); }
|
||||
|
|
@ -7118,11 +7119,11 @@ bins_or_options<nodep>: // ==IEEE: bins_or_options
|
|||
{ $$ = new AstCoverBin{$<fl>3, *$3, $7, false, true, true};
|
||||
DEL($9); }
|
||||
| yWILDCARD yBINS idAny/*bin_identifier*/ bins_orBraE '=' '{' range_list '}' yWITH__PAREN '(' cgexpr ')' iffE
|
||||
{ $$ = nullptr; BBCOVERIGN($<fl>9, "Ignoring unsupported: cover bin 'wildcard' 'with' specification"); DEL($7, $11, $13); }
|
||||
{ $$ = nullptr; BBCOVERIGN($<fl>9, "Unsupported: 'with' in wildcard cover bin"); DEL($7, $11, $13); }
|
||||
| yWILDCARD yIGNORE_BINS idAny/*bin_identifier*/ bins_orBraE '=' '{' range_list '}' yWITH__PAREN '(' cgexpr ')' iffE
|
||||
{ $$ = nullptr; BBCOVERIGN($<fl>9, "Ignoring unsupported: cover bin 'wildcard' 'with' specification"); DEL($7, $11, $13); }
|
||||
{ $$ = nullptr; BBCOVERIGN($<fl>9, "Unsupported: 'with' in wildcard cover bin"); DEL($7, $11, $13); }
|
||||
| yWILDCARD yILLEGAL_BINS idAny/*bin_identifier*/ bins_orBraE '=' '{' range_list '}' yWITH__PAREN '(' cgexpr ')' iffE
|
||||
{ $$ = nullptr; BBCOVERIGN($<fl>9, "Ignoring unsupported: cover bin 'wildcard' 'with' specification"); DEL($7, $11, $13); }
|
||||
{ $$ = nullptr; BBCOVERIGN($<fl>9, "Unsupported: 'with' in wildcard cover bin"); DEL($7, $11, $13); }
|
||||
//
|
||||
// // cgexpr part of trans_list
|
||||
| yBINS idAny/*bin_identifier*/ bins_orBraE '=' trans_list iffE
|
||||
|
|
@ -7138,11 +7139,11 @@ bins_or_options<nodep>: // ==IEEE: bins_or_options
|
|||
$$ = new AstCoverBin{$<fl>2, *$2, static_cast<AstCoverTransSet*>($5), VCoverBinsType{VCoverBinsType::BINS_ILLEGAL}, isArray != nullptr};
|
||||
DEL($6); }
|
||||
| yWILDCARD yBINS idAny/*bin_identifier*/ bins_orBraE '=' trans_list iffE
|
||||
{ $$ = nullptr; BBCOVERIGN($<fl>1, "Ignoring unsupported: cover bin 'wildcard' trans list"); DEL($6, $7);}
|
||||
{ $$ = nullptr; BBCOVERIGN($<fl>1, "Unsupported: 'wildcard' transition list in cover bin"); DEL($6, $7);}
|
||||
| yWILDCARD yIGNORE_BINS idAny/*bin_identifier*/ bins_orBraE '=' trans_list iffE
|
||||
{ $$ = nullptr; BBCOVERIGN($<fl>1, "Ignoring unsupported: cover bin 'wildcard' trans list"); DEL($6, $7);}
|
||||
{ $$ = nullptr; BBCOVERIGN($<fl>1, "Unsupported: 'wildcard' transition list in cover bin"); DEL($6, $7);}
|
||||
| yWILDCARD yILLEGAL_BINS idAny/*bin_identifier*/ bins_orBraE '=' trans_list iffE
|
||||
{ $$ = nullptr; BBCOVERIGN($<fl>1, "Ignoring unsupported: cover bin 'wildcard' trans list"); DEL($6, $7);}
|
||||
{ $$ = nullptr; BBCOVERIGN($<fl>1, "Unsupported: 'wildcard' transition list in cover bin"); DEL($6, $7);}
|
||||
//
|
||||
| yBINS idAny/*bin_identifier*/ bins_orBraE '=' yDEFAULT iffE
|
||||
{ $$ = new AstCoverBin{$<fl>2, *$2, VCoverBinsType::BINS_DEFAULT};
|
||||
|
|
@ -7154,11 +7155,11 @@ bins_or_options<nodep>: // ==IEEE: bins_or_options
|
|||
{ $$ = new AstCoverBin{$<fl>2, *$2, VCoverBinsType::BINS_ILLEGAL};
|
||||
DEL($6); }
|
||||
| yBINS idAny/*bin_identifier*/ bins_orBraE '=' yDEFAULT ySEQUENCE iffE
|
||||
{ $$ = nullptr; BBCOVERIGN($<fl>6, "Ignoring unsupported: cover bin 'default' 'sequence'"); DEL($7); }
|
||||
{ $$ = nullptr; BBCOVERIGN($<fl>6, "Unsupported: 'sequence' in default cover bin"); DEL($7); }
|
||||
| yIGNORE_BINS idAny/*bin_identifier*/ bins_orBraE '=' yDEFAULT ySEQUENCE iffE
|
||||
{ $$ = nullptr; BBCOVERIGN($<fl>6, "Ignoring unsupported: cover bin 'default' 'sequence'"); DEL($7); }
|
||||
{ $$ = nullptr; BBCOVERIGN($<fl>6, "Unsupported: 'sequence' in default cover bin"); DEL($7); }
|
||||
| yILLEGAL_BINS idAny/*bin_identifier*/ bins_orBraE '=' yDEFAULT ySEQUENCE iffE
|
||||
{ $$ = nullptr; BBCOVERIGN($<fl>6, "Ignoring unsupported: cover bin 'default' 'sequence'"); DEL($7); }
|
||||
{ $$ = nullptr; BBCOVERIGN($<fl>6, "Unsupported: 'sequence' in default cover bin"); DEL($7); }
|
||||
;
|
||||
|
||||
bins_orBraE<fl>: // IEEE: part of bins_or_options: returns fileline (abuse for boolean flag)
|
||||
|
|
@ -7174,15 +7175,15 @@ trans_list<nodep>: // ==IEEE: trans_list
|
|||
|
||||
trans_set<nodep>: // ==IEEE: trans_set (returns AstCoverTransSet)
|
||||
trans_range_list {
|
||||
// Single transition item - wrap in AstCoverTransSet
|
||||
$$ = new AstCoverTransSet{$<fl>1, static_cast<AstCoverTransItem*>($1)};
|
||||
AstCoverTransItem* const itemp = static_cast<AstCoverTransItem*>($1);
|
||||
$$ = new AstCoverTransSet{$<fl>1, itemp};
|
||||
}
|
||||
| trans_set yP_EQGT trans_range_list
|
||||
{
|
||||
// Chain transition items with => operator
|
||||
// Add new item to existing set
|
||||
$$ = $1;
|
||||
static_cast<AstCoverTransSet*>($$)->addItemsp(static_cast<AstCoverTransItem*>($3));
|
||||
AstCoverTransSet* const setp = static_cast<AstCoverTransSet*>($1);
|
||||
AstCoverTransItem* const itemp = static_cast<AstCoverTransItem*>($3);
|
||||
setp->addItemsp(itemp);
|
||||
$$ = setp;
|
||||
}
|
||||
;
|
||||
|
||||
|
|
@ -7192,17 +7193,17 @@ trans_range_list<nodep>: // ==IEEE: trans_range_list (returns AstCoverTransItem
|
|||
$$ = new AstCoverTransItem{$<fl>1, $1, VTransRepType::NONE};
|
||||
}
|
||||
| trans_item yP_BRASTAR cgexpr ']'
|
||||
{ $$ = nullptr; BBCOVERIGN($<fl>2, "Ignoring unsupported: cover '[*'"); DEL($1, $3); }
|
||||
{ $$ = nullptr; BBCOVERIGN($<fl>2, "Unsupported: '[*]' in cover transition"); DEL($1, $3); }
|
||||
| trans_item yP_BRASTAR cgexpr ':' cgexpr ']'
|
||||
{ $$ = nullptr; BBCOVERIGN($<fl>2, "Ignoring unsupported: cover '[*'"); DEL($1, $3, $5); }
|
||||
{ $$ = nullptr; BBCOVERIGN($<fl>2, "Unsupported: '[*]' in cover transition"); DEL($1, $3, $5); }
|
||||
| trans_item yP_BRAMINUSGT cgexpr ']'
|
||||
{ $$ = nullptr; BBCOVERIGN($<fl>2, "Ignoring unsupported: cover '[->'"); DEL($1, $3); }
|
||||
{ $$ = nullptr; BBCOVERIGN($<fl>2, "Unsupported: '[->' in cover transition"); DEL($1, $3); }
|
||||
| trans_item yP_BRAMINUSGT cgexpr ':' cgexpr ']'
|
||||
{ $$ = nullptr; BBCOVERIGN($<fl>2, "Ignoring unsupported: cover '[->'"); DEL($1, $3, $5); }
|
||||
{ $$ = nullptr; BBCOVERIGN($<fl>2, "Unsupported: '[->' in cover transition"); DEL($1, $3, $5); }
|
||||
| trans_item yP_BRAEQ cgexpr ']'
|
||||
{ $$ = nullptr; BBCOVERIGN($<fl>2, "Ignoring unsupported: cover '[='"); DEL($1, $3); }
|
||||
{ $$ = nullptr; BBCOVERIGN($<fl>2, "Unsupported: '[=]' in cover transition"); DEL($1, $3); }
|
||||
| trans_item yP_BRAEQ cgexpr ':' cgexpr ']'
|
||||
{ $$ = nullptr; BBCOVERIGN($<fl>2, "Ignoring unsupported: cover '[='"); DEL($1, $3, $5); }
|
||||
{ $$ = nullptr; BBCOVERIGN($<fl>2, "Unsupported: '[=]' in cover transition"); DEL($1, $3, $5); }
|
||||
;
|
||||
|
||||
trans_item<nodep>: // ==IEEE: range_list (returns range list node)
|
||||
|
|
@ -7340,16 +7341,16 @@ cross_body_itemList<nodep>: // IEEE: part of cross_body
|
|||
|
||||
cross_body_item<nodep>: // ==IEEE: cross_body_item
|
||||
function_declaration
|
||||
{ $$ = nullptr; BBCOVERIGN($1->fileline(), "Ignoring unsupported: coverage cross 'function' declaration"); DEL($1); }
|
||||
{ $$ = nullptr; BBCOVERIGN($1->fileline(), "Unsupported: 'function' in coverage cross body"); DEL($1); }
|
||||
// // IEEE: bins_selection_or_option
|
||||
| coverage_option ';' { $$ = $1; }
|
||||
// // IEEE: bins_selection - for now, we ignore explicit cross bins
|
||||
| yBINS idAny/*new-bin_identifier*/ '=' select_expression iffE ';'
|
||||
{ $$ = nullptr; BBCOVERIGN($1, "Ignoring unsupported: explicit coverage cross bins"); DEL($4, $5); }
|
||||
{ $$ = nullptr; BBCOVERIGN($1, "Unsupported: explicit coverage cross bins"); DEL($4, $5); }
|
||||
| yIGNORE_BINS idAny/*new-bin_identifier*/ '=' select_expression iffE ';'
|
||||
{ $$ = nullptr; BBCOVERIGN($1, "Ignoring unsupported: explicit coverage cross bins"); DEL($4, $5); }
|
||||
{ $$ = nullptr; BBCOVERIGN($1, "Unsupported: explicit coverage cross bins"); DEL($4, $5); }
|
||||
| yILLEGAL_BINS idAny/*new-bin_identifier*/ '=' select_expression iffE ';'
|
||||
{ $$ = nullptr; BBCOVERIGN($1, "Ignoring unsupported: explicit coverage cross bins"); DEL($4, $5); }
|
||||
{ $$ = nullptr; BBCOVERIGN($1, "Unsupported: explicit coverage cross bins"); DEL($4, $5); }
|
||||
| error ';' { $$ = nullptr; } // LCOV_EXCL_LINE
|
||||
;
|
||||
|
||||
|
|
@ -7357,28 +7358,28 @@ select_expression<nodep>: // ==IEEE: select_expression
|
|||
select_expression_r
|
||||
{ $$ = $1; }
|
||||
| select_expression yP_ANDAND select_expression
|
||||
{ $$ = nullptr; BBCOVERIGN($2, "Ignoring unsupported: coverage select expression '&&'"); DEL($1, $3); }
|
||||
{ $$ = nullptr; BBCOVERIGN($2, "Unsupported: '&&' in coverage select expression"); DEL($1, $3); }
|
||||
| select_expression yP_OROR select_expression
|
||||
{ $$ = nullptr; BBCOVERIGN($2, "Ignoring unsupported: coverage select expression '||'"); DEL($1, $3); }
|
||||
{ $$ = nullptr; BBCOVERIGN($2, "Unsupported: '||' in coverage select expression"); DEL($1, $3); }
|
||||
;
|
||||
|
||||
// This non-terminal exists to disambiguate select_expression and make "with" bind tighter
|
||||
select_expression_r<nodep>:
|
||||
// // IEEE: select_condition expanded here
|
||||
yBINSOF '(' bins_expression ')'
|
||||
{ $$ = nullptr; BBCOVERIGN($1, "Ignoring unsupported: coverage select expression 'binsof'"); DEL($3); }
|
||||
{ $$ = nullptr; BBCOVERIGN($1, "Unsupported: 'binsof' in coverage select expression"); DEL($3); }
|
||||
| '!' yBINSOF '(' bins_expression ')'
|
||||
{ $$ = nullptr; BBCOVERIGN($1, "Ignoring unsupported: coverage select expression 'binsof'"); DEL($4); }
|
||||
{ $$ = nullptr; BBCOVERIGN($1, "Unsupported: 'binsof' in coverage select expression"); DEL($4); }
|
||||
| yBINSOF '(' bins_expression ')' yINTERSECT '{' covergroup_range_list '}'
|
||||
{ $$ = nullptr; BBCOVERIGN($5, "Ignoring unsupported: coverage select expression 'intersect'"); DEL($7); }
|
||||
{ $$ = nullptr; BBCOVERIGN($5, "Unsupported: 'intersect' in coverage select expression"); DEL($7); }
|
||||
| '!' yBINSOF '(' bins_expression ')' yINTERSECT '{' covergroup_range_list '}' { }
|
||||
{ $$ = nullptr; BBCOVERIGN($5, "Ignoring unsupported: coverage select expression 'intersect'"); DEL($4, $8); }
|
||||
{ $$ = nullptr; BBCOVERIGN($5, "Unsupported: 'intersect' in coverage select expression"); DEL($4, $8); }
|
||||
| yWITH__PAREN '(' cgexpr ')'
|
||||
{ $$ = nullptr; BBCOVERIGN($1, "Ignoring unsupported: coverage select expression with"); DEL($3); }
|
||||
{ $$ = nullptr; BBCOVERIGN($1, "Unsupported: 'with' in coverage select expression"); DEL($3); }
|
||||
| '!' yWITH__PAREN '(' cgexpr ')'
|
||||
{ $$ = nullptr; BBCOVERIGN($1, "Ignoring unsupported: coverage select expression with"); DEL($4); }
|
||||
{ $$ = nullptr; BBCOVERIGN($1, "Unsupported: 'with' in coverage select expression"); DEL($4); }
|
||||
| select_expression_r yWITH__PAREN '(' cgexpr ')'
|
||||
{ $$ = nullptr; BBCOVERIGN($2, "Ignoring unsupported: coverage select expression with"); DEL($1, $4); }
|
||||
{ $$ = nullptr; BBCOVERIGN($2, "Unsupported: 'with' in coverage select expression"); DEL($1, $4); }
|
||||
// // IEEE-2012: Need clarification as to precedence
|
||||
//UNSUP yWITH__PAREN '(' cgexpr ')' yMATCHES cgexpr { }
|
||||
// // IEEE-2012: Need clarification as to precedence
|
||||
|
|
@ -7396,7 +7397,7 @@ select_expression_r<nodep>:
|
|||
//UNSUP cgexpr yMATCHES cgexpr {..}
|
||||
//UNSUP // Below are all removed
|
||||
| idAny '(' list_of_argumentsE ')'
|
||||
{ $$ = nullptr; BBCOVERIGN($<fl>1, "Ignoring unsupported: coverage select function call"); DEL($3); }
|
||||
{ $$ = nullptr; BBCOVERIGN($<fl>1, "Unsupported: function call in coverage select expression"); DEL($3); }
|
||||
//UNSUP // Above are all removed, replace with:
|
||||
;
|
||||
|
||||
|
|
@ -7426,7 +7427,7 @@ coverage_eventE<nodep>: // IEEE: [ coverage_event ]
|
|||
}
|
||||
}
|
||||
| yP_ATAT '(' block_event_expression ')'
|
||||
{ $$ = nullptr; BBCOVERIGN($<fl>1, "Ignoring unsupported: coverage '@@' events"); DEL($3); }
|
||||
{ $$ = nullptr; BBCOVERIGN($<fl>1, "Unsupported: '@@' coverage event"); DEL($3); }
|
||||
;
|
||||
|
||||
block_event_expression<nodep>: // ==IEEE: block_event_expression
|
||||
|
|
|
|||
|
|
@ -1,4 +1,4 @@
|
|||
%Error-UNSUPPORTED: t/t_covergroup_extends_unsup.v:26:5: Unsupported: covergroup inheritance (extends) is not implemented
|
||||
%Error-UNSUPPORTED: t/t_covergroup_extends_unsup.v:26:5: Unsupported: covergroup inheritance (extends)
|
||||
26 | covergroup extends g1;
|
||||
| ^~~~~~~~~~
|
||||
... For error description see https://verilator.org/warn/UNSUPPORTED?v=latest
|
||||
|
|
|
|||
|
|
@ -1,4 +1,4 @@
|
|||
%Warning-COVERIGN: t/t_covergroup_trans_repeat_unsup_bad.v:15:20: Ignoring unsupported: cover '[*'
|
||||
%Warning-COVERIGN: t/t_covergroup_trans_repeat_unsup_bad.v:15:20: Unsupported: '[*]' in cover transition
|
||||
15 | bins t1 = (1 [*2]);
|
||||
| ^~
|
||||
... For warning description see https://verilator.org/warn/COVERIGN?v=latest
|
||||
|
|
|
|||
|
|
@ -1,4 +1,4 @@
|
|||
%Warning-COVERIGN: t/t_covergroup_unsup.v:64:24: Ignoring unsupported: coverage '@@' events
|
||||
%Warning-COVERIGN: t/t_covergroup_unsup.v:64:24: Unsupported: '@@' coverage event
|
||||
64 | covergroup cg_atat() @@ (begin funca or end funcb);
|
||||
| ^~
|
||||
... For warning description see https://verilator.org/warn/COVERIGN?v=latest
|
||||
|
|
@ -9,184 +9,184 @@
|
|||
%Warning-COVERIGN: t/t_covergroup_unsup.v:101:21: Ignoring unsupported: cross iff condition
|
||||
101 | cross a, b iff (!rst) {}
|
||||
| ^
|
||||
%Warning-COVERIGN: t/t_covergroup_unsup.v:108:21: Ignoring unsupported: coverage cross 'function' declaration
|
||||
%Warning-COVERIGN: t/t_covergroup_unsup.v:108:21: Unsupported: 'function' in coverage cross body
|
||||
108 | function void crossfunc; endfunction
|
||||
| ^~~~~~~~~
|
||||
%Warning-COVERIGN: t/t_covergroup_unsup.v:109:18: Ignoring unsupported: coverage select function call
|
||||
%Warning-COVERIGN: t/t_covergroup_unsup.v:109:18: Unsupported: function call in coverage select expression
|
||||
109 | bins one = crossfunc();
|
||||
| ^~~~~~~~~
|
||||
%Warning-COVERIGN: t/t_covergroup_unsup.v:109:7: Ignoring unsupported: explicit coverage cross bins
|
||||
%Warning-COVERIGN: t/t_covergroup_unsup.v:109:7: Unsupported: explicit coverage cross bins
|
||||
109 | bins one = crossfunc();
|
||||
| ^~~~
|
||||
%Warning-COVERIGN: t/t_covergroup_unsup.v:113:31: Ignoring unsupported: cross iff condition
|
||||
113 | my_cg_id: cross a, b iff (!rst);
|
||||
| ^
|
||||
%Warning-COVERIGN: t/t_covergroup_unsup.v:129:32: Ignoring unsupported: cover bin 'wildcard' 'with' specification
|
||||
%Warning-COVERIGN: t/t_covergroup_unsup.v:129:32: Unsupported: 'with' in wildcard cover bin
|
||||
129 | { wildcard bins bwaw = {a} with ( b ); }
|
||||
| ^~~~
|
||||
%Warning-COVERIGN: t/t_covergroup_unsup.v:132:27: Ignoring unsupported: cover bin 'default' 'sequence'
|
||||
%Warning-COVERIGN: t/t_covergroup_unsup.v:132:27: Unsupported: 'sequence' in default cover bin
|
||||
132 | { bins defs = default sequence; }
|
||||
| ^~~~~~~~
|
||||
%Warning-COVERIGN: t/t_covergroup_unsup.v:135:7: Ignoring unsupported: cover bin 'wildcard' trans list
|
||||
%Warning-COVERIGN: t/t_covergroup_unsup.v:135:7: Unsupported: 'wildcard' transition list in cover bin
|
||||
135 | { wildcard bins wbts = ( 1, 2 ); }
|
||||
| ^~~~~~~~
|
||||
%Warning-COVERIGN: t/t_covergroup_unsup.v:136:31: Ignoring unsupported: covergroup value range
|
||||
%Warning-COVERIGN: t/t_covergroup_unsup.v:136:31: Unsupported: covergroup value range '[...]'
|
||||
136 | { bins bts2 = ( 2, 3 ), ( [5:6] ), ( [5 +/- 2] ), ( [ 5 +%- 20.0] ) ; }
|
||||
| ^
|
||||
%Warning-COVERIGN: t/t_covergroup_unsup.v:136:42: Ignoring unsupported: covergroup value range
|
||||
%Warning-COVERIGN: t/t_covergroup_unsup.v:136:42: Unsupported: covergroup value range '[...]'
|
||||
136 | { bins bts2 = ( 2, 3 ), ( [5:6] ), ( [5 +/- 2] ), ( [ 5 +%- 20.0] ) ; }
|
||||
| ^
|
||||
%Warning-COVERIGN: t/t_covergroup_unsup.v:136:57: Ignoring unsupported: covergroup value range
|
||||
%Warning-COVERIGN: t/t_covergroup_unsup.v:136:57: Unsupported: covergroup value range '[...]'
|
||||
136 | { bins bts2 = ( 2, 3 ), ( [5:6] ), ( [5 +/- 2] ), ( [ 5 +%- 20.0] ) ; }
|
||||
| ^
|
||||
%Warning-COVERIGN: t/t_covergroup_unsup.v:139:23: Ignoring unsupported: cover '[*'
|
||||
%Warning-COVERIGN: t/t_covergroup_unsup.v:139:23: Unsupported: '[*]' in cover transition
|
||||
139 | { bins bts2 = ( 3 [*5] ) ; }
|
||||
| ^~
|
||||
%Warning-COVERIGN: t/t_covergroup_unsup.v:140:23: Ignoring unsupported: cover '[*'
|
||||
%Warning-COVERIGN: t/t_covergroup_unsup.v:140:23: Unsupported: '[*]' in cover transition
|
||||
140 | { bins bts2 = ( 3 [*5:6] ) ; }
|
||||
| ^~
|
||||
%Warning-COVERIGN: t/t_covergroup_unsup.v:141:23: Ignoring unsupported: cover '[->'
|
||||
%Warning-COVERIGN: t/t_covergroup_unsup.v:141:23: Unsupported: '[->' in cover transition
|
||||
141 | { bins bts2 = ( 3 [->5] ) ; }
|
||||
| ^~~
|
||||
%Warning-COVERIGN: t/t_covergroup_unsup.v:142:23: Ignoring unsupported: cover '[->'
|
||||
%Warning-COVERIGN: t/t_covergroup_unsup.v:142:23: Unsupported: '[->' in cover transition
|
||||
142 | { bins bts2 = ( 3 [->5:6] ) ; }
|
||||
| ^~~
|
||||
%Warning-COVERIGN: t/t_covergroup_unsup.v:143:23: Ignoring unsupported: cover '[='
|
||||
%Warning-COVERIGN: t/t_covergroup_unsup.v:143:23: Unsupported: '[=]' in cover transition
|
||||
143 | { bins bts2 = ( 3 [=5] ) ; }
|
||||
| ^~
|
||||
%Warning-COVERIGN: t/t_covergroup_unsup.v:144:23: Ignoring unsupported: cover '[='
|
||||
%Warning-COVERIGN: t/t_covergroup_unsup.v:144:23: Unsupported: '[=]' in cover transition
|
||||
144 | { bins bts2 = ( 3 [=5:6] ) ; }
|
||||
| ^~
|
||||
%Warning-COVERIGN: t/t_covergroup_unsup.v:149:24: Ignoring unsupported: cover bin 'with' specification
|
||||
%Warning-COVERIGN: t/t_covergroup_unsup.v:149:24: Unsupported: 'with' in cover bin
|
||||
149 | bins div_by_2 = a with (item % 2 == 0);
|
||||
| ^~~~
|
||||
%Warning-COVERIGN: t/t_covergroup_unsup.v:150:32: Ignoring unsupported: cover bin 'with' specification
|
||||
%Warning-COVERIGN: t/t_covergroup_unsup.v:150:32: Unsupported: 'with' in cover bin
|
||||
150 | bins div_by_2_paren[] = a with (item % 2 == 0);
|
||||
| ^~~~
|
||||
%Warning-COVERIGN: t/t_covergroup_unsup.v:156:20: Ignoring unsupported: coverage select expression 'binsof'
|
||||
%Warning-COVERIGN: t/t_covergroup_unsup.v:156:20: Unsupported: 'binsof' in coverage select expression
|
||||
156 | bins bin_a = binsof(a);
|
||||
| ^~~~~~
|
||||
%Warning-COVERIGN: t/t_covergroup_unsup.v:156:7: Ignoring unsupported: explicit coverage cross bins
|
||||
%Warning-COVERIGN: t/t_covergroup_unsup.v:156:7: Unsupported: explicit coverage cross bins
|
||||
156 | bins bin_a = binsof(a);
|
||||
| ^~~~
|
||||
%Warning-COVERIGN: t/t_covergroup_unsup.v:157:21: Ignoring unsupported: coverage select expression 'binsof'
|
||||
%Warning-COVERIGN: t/t_covergroup_unsup.v:157:21: Unsupported: 'binsof' in coverage select expression
|
||||
157 | bins bin_ai = binsof(a) iff (!rst);
|
||||
| ^~~~~~
|
||||
%Warning-COVERIGN: t/t_covergroup_unsup.v:157:7: Ignoring unsupported: explicit coverage cross bins
|
||||
%Warning-COVERIGN: t/t_covergroup_unsup.v:157:7: Unsupported: explicit coverage cross bins
|
||||
157 | bins bin_ai = binsof(a) iff (!rst);
|
||||
| ^~~~
|
||||
%Warning-COVERIGN: t/t_covergroup_unsup.v:158:20: Ignoring unsupported: coverage select expression 'binsof'
|
||||
%Warning-COVERIGN: t/t_covergroup_unsup.v:158:20: Unsupported: 'binsof' in coverage select expression
|
||||
158 | bins bin_c = binsof(cp.x);
|
||||
| ^~~~~~
|
||||
%Warning-COVERIGN: t/t_covergroup_unsup.v:158:7: Ignoring unsupported: explicit coverage cross bins
|
||||
%Warning-COVERIGN: t/t_covergroup_unsup.v:158:7: Unsupported: explicit coverage cross bins
|
||||
158 | bins bin_c = binsof(cp.x);
|
||||
| ^~~~
|
||||
%Warning-COVERIGN: t/t_covergroup_unsup.v:159:21: Ignoring unsupported: coverage select expression 'binsof'
|
||||
%Warning-COVERIGN: t/t_covergroup_unsup.v:159:21: Unsupported: 'binsof' in coverage select expression
|
||||
159 | bins bin_na = ! binsof(a);
|
||||
| ^
|
||||
%Warning-COVERIGN: t/t_covergroup_unsup.v:159:7: Ignoring unsupported: explicit coverage cross bins
|
||||
%Warning-COVERIGN: t/t_covergroup_unsup.v:159:7: Unsupported: explicit coverage cross bins
|
||||
159 | bins bin_na = ! binsof(a);
|
||||
| ^~~~
|
||||
%Warning-COVERIGN: t/t_covergroup_unsup.v:161:30: Ignoring unsupported: coverage select expression 'intersect'
|
||||
%Warning-COVERIGN: t/t_covergroup_unsup.v:161:30: Unsupported: 'intersect' in coverage select expression
|
||||
161 | bins bin_d = binsof(a) intersect { b };
|
||||
| ^~~~~~~~~
|
||||
%Warning-COVERIGN: t/t_covergroup_unsup.v:161:7: Ignoring unsupported: explicit coverage cross bins
|
||||
%Warning-COVERIGN: t/t_covergroup_unsup.v:161:7: Unsupported: explicit coverage cross bins
|
||||
161 | bins bin_d = binsof(a) intersect { b };
|
||||
| ^~~~
|
||||
%Warning-COVERIGN: t/t_covergroup_unsup.v:162:31: Ignoring unsupported: coverage select expression 'intersect'
|
||||
%Warning-COVERIGN: t/t_covergroup_unsup.v:162:31: Unsupported: 'intersect' in coverage select expression
|
||||
162 | bins bin_nd = ! binsof(a) intersect { b };
|
||||
| ^
|
||||
%Warning-COVERIGN: t/t_covergroup_unsup.v:162:7: Ignoring unsupported: explicit coverage cross bins
|
||||
%Warning-COVERIGN: t/t_covergroup_unsup.v:162:7: Unsupported: explicit coverage cross bins
|
||||
162 | bins bin_nd = ! binsof(a) intersect { b };
|
||||
| ^~~~
|
||||
%Warning-COVERIGN: t/t_covergroup_unsup.v:164:20: Ignoring unsupported: coverage select expression with
|
||||
%Warning-COVERIGN: t/t_covergroup_unsup.v:164:20: Unsupported: 'with' in coverage select expression
|
||||
164 | bins bin_e = with (a);
|
||||
| ^~~~
|
||||
%Warning-COVERIGN: t/t_covergroup_unsup.v:164:7: Ignoring unsupported: explicit coverage cross bins
|
||||
%Warning-COVERIGN: t/t_covergroup_unsup.v:164:7: Unsupported: explicit coverage cross bins
|
||||
164 | bins bin_e = with (a);
|
||||
| ^~~~
|
||||
%Warning-COVERIGN: t/t_covergroup_unsup.v:165:24: Ignoring unsupported: coverage select expression with
|
||||
%Warning-COVERIGN: t/t_covergroup_unsup.v:165:24: Unsupported: 'with' in coverage select expression
|
||||
165 | bins bin_not_e = ! with (a);
|
||||
| ^
|
||||
%Warning-COVERIGN: t/t_covergroup_unsup.v:165:7: Ignoring unsupported: explicit coverage cross bins
|
||||
%Warning-COVERIGN: t/t_covergroup_unsup.v:165:7: Unsupported: explicit coverage cross bins
|
||||
165 | bins bin_not_e = ! with (a);
|
||||
| ^~~~
|
||||
%Warning-COVERIGN: t/t_covergroup_unsup.v:167:23: Ignoring unsupported: coverage select expression 'binsof'
|
||||
%Warning-COVERIGN: t/t_covergroup_unsup.v:167:23: Unsupported: 'binsof' in coverage select expression
|
||||
167 | bins bin_par = (binsof(a));
|
||||
| ^~~~~~
|
||||
%Warning-COVERIGN: t/t_covergroup_unsup.v:167:7: Ignoring unsupported: explicit coverage cross bins
|
||||
%Warning-COVERIGN: t/t_covergroup_unsup.v:167:7: Unsupported: explicit coverage cross bins
|
||||
167 | bins bin_par = (binsof(a));
|
||||
| ^~~~
|
||||
%Warning-COVERIGN: t/t_covergroup_unsup.v:168:22: Ignoring unsupported: coverage select expression 'binsof'
|
||||
%Warning-COVERIGN: t/t_covergroup_unsup.v:168:22: Unsupported: 'binsof' in coverage select expression
|
||||
168 | bins bin_and = binsof(a) && binsof(b);
|
||||
| ^~~~~~
|
||||
%Warning-COVERIGN: t/t_covergroup_unsup.v:168:35: Ignoring unsupported: coverage select expression 'binsof'
|
||||
%Warning-COVERIGN: t/t_covergroup_unsup.v:168:35: Unsupported: 'binsof' in coverage select expression
|
||||
168 | bins bin_and = binsof(a) && binsof(b);
|
||||
| ^~~~~~
|
||||
%Warning-COVERIGN: t/t_covergroup_unsup.v:168:32: Ignoring unsupported: coverage select expression '&&'
|
||||
%Warning-COVERIGN: t/t_covergroup_unsup.v:168:32: Unsupported: '&&' in coverage select expression
|
||||
168 | bins bin_and = binsof(a) && binsof(b);
|
||||
| ^~
|
||||
%Warning-COVERIGN: t/t_covergroup_unsup.v:168:7: Ignoring unsupported: explicit coverage cross bins
|
||||
%Warning-COVERIGN: t/t_covergroup_unsup.v:168:7: Unsupported: explicit coverage cross bins
|
||||
168 | bins bin_and = binsof(a) && binsof(b);
|
||||
| ^~~~
|
||||
%Warning-COVERIGN: t/t_covergroup_unsup.v:169:21: Ignoring unsupported: coverage select expression 'binsof'
|
||||
%Warning-COVERIGN: t/t_covergroup_unsup.v:169:21: Unsupported: 'binsof' in coverage select expression
|
||||
169 | bins bin_or = binsof(a) || binsof(b);
|
||||
| ^~~~~~
|
||||
%Warning-COVERIGN: t/t_covergroup_unsup.v:169:34: Ignoring unsupported: coverage select expression 'binsof'
|
||||
%Warning-COVERIGN: t/t_covergroup_unsup.v:169:34: Unsupported: 'binsof' in coverage select expression
|
||||
169 | bins bin_or = binsof(a) || binsof(b);
|
||||
| ^~~~~~
|
||||
%Warning-COVERIGN: t/t_covergroup_unsup.v:169:31: Ignoring unsupported: coverage select expression '||'
|
||||
%Warning-COVERIGN: t/t_covergroup_unsup.v:169:31: Unsupported: '||' in coverage select expression
|
||||
169 | bins bin_or = binsof(a) || binsof(b);
|
||||
| ^~
|
||||
%Warning-COVERIGN: t/t_covergroup_unsup.v:169:7: Ignoring unsupported: explicit coverage cross bins
|
||||
%Warning-COVERIGN: t/t_covergroup_unsup.v:169:7: Unsupported: explicit coverage cross bins
|
||||
169 | bins bin_or = binsof(a) || binsof(b);
|
||||
| ^~~~
|
||||
%Warning-COVERIGN: t/t_covergroup_unsup.v:170:23: Ignoring unsupported: coverage select expression 'binsof'
|
||||
%Warning-COVERIGN: t/t_covergroup_unsup.v:170:23: Unsupported: 'binsof' in coverage select expression
|
||||
170 | bins bin_with = binsof(a) with (a);
|
||||
| ^~~~~~
|
||||
%Warning-COVERIGN: t/t_covergroup_unsup.v:170:33: Ignoring unsupported: coverage select expression with
|
||||
%Warning-COVERIGN: t/t_covergroup_unsup.v:170:33: Unsupported: 'with' in coverage select expression
|
||||
170 | bins bin_with = binsof(a) with (a);
|
||||
| ^~~~
|
||||
%Warning-COVERIGN: t/t_covergroup_unsup.v:170:7: Ignoring unsupported: explicit coverage cross bins
|
||||
%Warning-COVERIGN: t/t_covergroup_unsup.v:170:7: Unsupported: explicit coverage cross bins
|
||||
170 | bins bin_with = binsof(a) with (a);
|
||||
| ^~~~
|
||||
%Warning-COVERIGN: t/t_covergroup_unsup.v:171:26: Ignoring unsupported: coverage select expression 'binsof'
|
||||
%Warning-COVERIGN: t/t_covergroup_unsup.v:171:26: Unsupported: 'binsof' in coverage select expression
|
||||
171 | bins bin_or_with = binsof(a) || binsof(a) with (a);
|
||||
| ^~~~~~
|
||||
%Warning-COVERIGN: t/t_covergroup_unsup.v:171:39: Ignoring unsupported: coverage select expression 'binsof'
|
||||
%Warning-COVERIGN: t/t_covergroup_unsup.v:171:39: Unsupported: 'binsof' in coverage select expression
|
||||
171 | bins bin_or_with = binsof(a) || binsof(a) with (a);
|
||||
| ^~~~~~
|
||||
%Warning-COVERIGN: t/t_covergroup_unsup.v:171:49: Ignoring unsupported: coverage select expression with
|
||||
%Warning-COVERIGN: t/t_covergroup_unsup.v:171:49: Unsupported: 'with' in coverage select expression
|
||||
171 | bins bin_or_with = binsof(a) || binsof(a) with (a);
|
||||
| ^~~~
|
||||
%Warning-COVERIGN: t/t_covergroup_unsup.v:171:36: Ignoring unsupported: coverage select expression '||'
|
||||
%Warning-COVERIGN: t/t_covergroup_unsup.v:171:36: Unsupported: '||' in coverage select expression
|
||||
171 | bins bin_or_with = binsof(a) || binsof(a) with (a);
|
||||
| ^~
|
||||
%Warning-COVERIGN: t/t_covergroup_unsup.v:171:7: Ignoring unsupported: explicit coverage cross bins
|
||||
%Warning-COVERIGN: t/t_covergroup_unsup.v:171:7: Unsupported: explicit coverage cross bins
|
||||
171 | bins bin_or_with = binsof(a) || binsof(a) with (a);
|
||||
| ^~~~
|
||||
%Warning-COVERIGN: t/t_covergroup_unsup.v:172:27: Ignoring unsupported: coverage select expression 'binsof'
|
||||
%Warning-COVERIGN: t/t_covergroup_unsup.v:172:27: Unsupported: 'binsof' in coverage select expression
|
||||
172 | bins bin_and_with = binsof(a) && binsof(a) with (a);
|
||||
| ^~~~~~
|
||||
%Warning-COVERIGN: t/t_covergroup_unsup.v:172:40: Ignoring unsupported: coverage select expression 'binsof'
|
||||
%Warning-COVERIGN: t/t_covergroup_unsup.v:172:40: Unsupported: 'binsof' in coverage select expression
|
||||
172 | bins bin_and_with = binsof(a) && binsof(a) with (a);
|
||||
| ^~~~~~
|
||||
%Warning-COVERIGN: t/t_covergroup_unsup.v:172:50: Ignoring unsupported: coverage select expression with
|
||||
%Warning-COVERIGN: t/t_covergroup_unsup.v:172:50: Unsupported: 'with' in coverage select expression
|
||||
172 | bins bin_and_with = binsof(a) && binsof(a) with (a);
|
||||
| ^~~~
|
||||
%Warning-COVERIGN: t/t_covergroup_unsup.v:172:37: Ignoring unsupported: coverage select expression '&&'
|
||||
%Warning-COVERIGN: t/t_covergroup_unsup.v:172:37: Unsupported: '&&' in coverage select expression
|
||||
172 | bins bin_and_with = binsof(a) && binsof(a) with (a);
|
||||
| ^~
|
||||
%Warning-COVERIGN: t/t_covergroup_unsup.v:172:7: Ignoring unsupported: explicit coverage cross bins
|
||||
%Warning-COVERIGN: t/t_covergroup_unsup.v:172:7: Unsupported: explicit coverage cross bins
|
||||
172 | bins bin_and_with = binsof(a) && binsof(a) with (a);
|
||||
| ^~~~
|
||||
%Warning-COVERIGN: t/t_covergroup_unsup.v:173:34: Ignoring unsupported: coverage select expression 'binsof'
|
||||
%Warning-COVERIGN: t/t_covergroup_unsup.v:173:34: Unsupported: 'binsof' in coverage select expression
|
||||
173 | bins bin_multiple_fields = binsof(p.inner_packet.field);
|
||||
| ^~~~~~
|
||||
%Warning-COVERIGN: t/t_covergroup_unsup.v:173:7: Ignoring unsupported: explicit coverage cross bins
|
||||
%Warning-COVERIGN: t/t_covergroup_unsup.v:173:7: Unsupported: explicit coverage cross bins
|
||||
173 | bins bin_multiple_fields = binsof(p.inner_packet.field);
|
||||
| ^~~~
|
||||
%Error-UNSUPPORTED: t/t_covergroup_unsup.v:195:5: Unsupported: covergroup inheritance (extends) is not implemented
|
||||
%Error-UNSUPPORTED: t/t_covergroup_unsup.v:195:5: Unsupported: covergroup inheritance (extends)
|
||||
195 | covergroup extends cg_empty;
|
||||
| ^~~~~~~~~~
|
||||
... For error description see https://verilator.org/warn/UNSUPPORTED?v=latest
|
||||
|
|
|
|||
Loading…
Reference in New Issue