aboutsummaryrefslogtreecommitdiffstats
path: root/tests/sva
diff options
context:
space:
mode:
authorJannis Harder <me@jix.one>2022-05-03 13:22:18 +0200
committerJannis Harder <me@jix.one>2022-05-03 14:13:08 +0200
commit96f64f4788ca64adde55421a6abadefd182d9a1a (patch)
treeb3c7faecdbcf26b4b7357024994719f3c06869e9 /tests/sva
parent11e75bc27ceacb909c31fc201110f78ee995f979 (diff)
downloadyosys-96f64f4788ca64adde55421a6abadefd182d9a1a.tar.gz
yosys-96f64f4788ca64adde55421a6abadefd182d9a1a.tar.bz2
yosys-96f64f4788ca64adde55421a6abadefd182d9a1a.zip
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.
Diffstat (limited to 'tests/sva')
-rw-r--r--tests/sva/nested_clk_else.sv11
1 files changed, 11 insertions, 0 deletions
diff --git a/tests/sva/nested_clk_else.sv b/tests/sva/nested_clk_else.sv
new file mode 100644
index 000000000..4421cb36a
--- /dev/null
+++ b/tests/sva/nested_clk_else.sv
@@ -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