Added support for labels in immediate assert/assume
This commit is contained in:
parent
b210eb8264
commit
2eeedb193d
|
|
@ -6,3 +6,6 @@ ERROR: ./ivltests/sv_immediate_assert.v:11:
|
||||||
Time: 0 Scope: test
|
Time: 0 Scope: test
|
||||||
Check 7 : this should be displayed
|
Check 7 : this should be displayed
|
||||||
Check 8 : this should be displayed
|
Check 8 : this should be displayed
|
||||||
|
ERROR: ./ivltests/sv_immediate_assert.v:19: Check 9 : this should be displayed
|
||||||
|
Time: 0 Scope: test
|
||||||
|
Check 10 : this should be displayed
|
||||||
|
|
|
||||||
|
|
@ -6,3 +6,6 @@ ERROR: ./ivltests/sv_immediate_assume.v:11:
|
||||||
Time: 0 Scope: test
|
Time: 0 Scope: test
|
||||||
Check 7 : this should be displayed
|
Check 7 : this should be displayed
|
||||||
Check 8 : this should be displayed
|
Check 8 : this should be displayed
|
||||||
|
ERROR: ./ivltests/sv_immediate_assume.v:19: Check 9 : this should be displayed
|
||||||
|
Time: 0 Scope: test
|
||||||
|
Check 10 : this should be displayed
|
||||||
|
|
|
||||||
|
|
@ -13,6 +13,15 @@ initial begin
|
||||||
else $display("Check 7 : this shouldn't be displayed");
|
else $display("Check 7 : this shouldn't be displayed");
|
||||||
assert(i == 0) $display("Check 8 : this shouldn't be displayed");
|
assert(i == 0) $display("Check 8 : this shouldn't be displayed");
|
||||||
else $display("Check 8 : this should be displayed");
|
else $display("Check 8 : this should be displayed");
|
||||||
|
|
||||||
|
a_i_is_non_0 : assert(i == 0)
|
||||||
|
$display("Check 9 : this shouldn't be displayed");
|
||||||
|
else $error("Check 9 : this should be displayed");
|
||||||
|
|
||||||
|
a_i_is_1 : assert(i == 1)
|
||||||
|
$display("Check 10 : this should be displayed");
|
||||||
|
else $error("Check 10 : this shouldn't be displayed i: %0d", i);
|
||||||
|
|
||||||
end
|
end
|
||||||
|
|
||||||
endmodule
|
endmodule
|
||||||
|
|
|
||||||
|
|
@ -13,6 +13,15 @@ initial begin
|
||||||
else $display("Check 7 : this shouldn't be displayed");
|
else $display("Check 7 : this shouldn't be displayed");
|
||||||
assume(i == 0) $display("Check 8 : this shouldn't be displayed");
|
assume(i == 0) $display("Check 8 : this shouldn't be displayed");
|
||||||
else $display("Check 8 : this should be displayed");
|
else $display("Check 8 : this should be displayed");
|
||||||
|
|
||||||
|
a_i_is_non_0 : assume(i == 0)
|
||||||
|
$display("Check 9 : this shouldn't be displayed");
|
||||||
|
else $error("Check 9 : this should be displayed");
|
||||||
|
|
||||||
|
a_i_is_1 : assume(i == 1)
|
||||||
|
$display("Check 10 : this should be displayed");
|
||||||
|
else $error("Check 10 : this shouldn't be displayed i: %0d", i);
|
||||||
|
|
||||||
end
|
end
|
||||||
|
|
||||||
endmodule
|
endmodule
|
||||||
|
|
|
||||||
12
parse.y
12
parse.y
|
|
@ -2118,12 +2118,12 @@ port_direction_opt
|
||||||
;
|
;
|
||||||
|
|
||||||
procedural_assertion_statement /* IEEE1800-2012 A.6.10 */
|
procedural_assertion_statement /* IEEE1800-2012 A.6.10 */
|
||||||
: concurrent_assertion_statement
|
: block_identifier_opt concurrent_assertion_statement
|
||||||
{ $$ = $1; }
|
{ $$ = $2; }
|
||||||
| simple_immediate_assertion_statement
|
| block_identifier_opt simple_immediate_assertion_statement
|
||||||
{ $$ = $1; }
|
{ $$ = $2; }
|
||||||
| deferred_immediate_assertion_statement
|
| block_identifier_opt deferred_immediate_assertion_statement
|
||||||
{ $$ = $1; }
|
{ $$ = $2; }
|
||||||
;
|
;
|
||||||
|
|
||||||
property_expr /* IEEE1800-2012 A.2.10 */
|
property_expr /* IEEE1800-2012 A.2.10 */
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue