3
0
Fork 0
mirror of https://github.com/YosysHQ/yosys synced 2025-04-23 00:55:32 +00:00

verific: Fix conditions of SVAs with explicit clocks within procedures

For SVAs that have an explicit clock and are contained in a procedure
which conditionally executes the assertion, verific expresses this using
a mux with one input connected to constant 1 and the other output
connected to an SVA_AT. The existing code only handled the case where
the first input is connected to 1. This patch also handles the other
case.
This commit is contained in:
Jannis Harder 2022-05-03 13:22:18 +02:00
parent 11e75bc27c
commit 96f64f4788
4 changed files with 27 additions and 5 deletions

View file

@ -0,0 +1,11 @@
module top (input clk, a, b);
always @(posedge clk) begin
if (a);
else assume property (@(posedge clk) b);
end
`ifndef FAIL
assume property (@(posedge clk) !a);
`endif
assert property (@(posedge clk) b);
endmodule