Adding support for the SVA implication operator. For partial fix of issue #1292.

This commit is contained in:
Peter Monsson 2019-12-23 20:25:06 +01:00
parent 5b841937e8
commit 052b30ba54
1 changed files with 12 additions and 4 deletions

View File

@ -4015,13 +4015,21 @@ elseStmtBlock<nodep>: // Part of concurrent_assertion_statement
property_spec<nodep>: // IEEE: property_spec
//UNSUP: This rule has been super-specialized to what is supported now
'@' '(' senitemEdge ')' yDISABLE yIFF '(' expr ')' expr
'@' '(' senitemEdge ')' yDISABLE yIFF '(' expr ')' property_expr
{ $$ = new AstPropClocked($1, $3, $8, $10); }
| '@' '(' senitemEdge ')' expr { $$ = new AstPropClocked($1, $3, NULL, $5); }
| yDISABLE yIFF '(' expr ')' expr { $$ = new AstPropClocked($4->fileline(), NULL, $4, $6); }
| expr { $$ = new AstPropClocked($1->fileline(), NULL, NULL, $1); }
| '@' '(' senitemEdge ')' property_expr { $$ = new AstPropClocked($1, $3, NULL, $5); }
| yDISABLE yIFF '(' expr ')' property_expr { $$ = new AstPropClocked($4->fileline(), NULL, $4, $6); }
| property_expr { $$ = new AstPropClocked($1->fileline(), NULL, NULL, $1); }
;
property_expr<nodep>: // IEEE: property_expr
//UNSUP: This rule has been super-specialized to what is supported now
expr yP_ORMINUSGT property_expr { $$ = new AstLogOr($2,new AstLogNot($2,$1),$3); }
// | expr yP_OREQGT property_expr { $$ = new AstLogOr($2,new AstLogNot($2,new AstPast($2,$1, NULL)),$3); } // This handles disable iff in the past time step incorrectly
| expr { $$ = $1; }
;
//************************************************
// Let