mirror of
https://github.com/YosysHQ/sby.git
synced 2025-04-07 14:45:18 +00:00
Regression test: do not merge FFs with unconstrained initvals
Currently done by `opt -keepdc` via `opt_merge` but not valid in a formal context.
This commit is contained in:
parent
25e982c238
commit
ef236eeddc
1
tests/.gitignore
vendored
1
tests/.gitignore
vendored
|
@ -12,4 +12,5 @@
|
||||||
/submod_props*/
|
/submod_props*/
|
||||||
/multi_assert*/
|
/multi_assert*/
|
||||||
/aim_vs_smt2_nonzero_start_offset*/
|
/aim_vs_smt2_nonzero_start_offset*/
|
||||||
|
/invalid_ff_dcinit_merge*/
|
||||||
/2props1trace*/
|
/2props1trace*/
|
||||||
|
|
29
tests/invalid_ff_dcinit_merge.sby
Normal file
29
tests/invalid_ff_dcinit_merge.sby
Normal file
|
@ -0,0 +1,29 @@
|
||||||
|
[options]
|
||||||
|
mode bmc
|
||||||
|
depth 4
|
||||||
|
expect fail
|
||||||
|
|
||||||
|
[engines]
|
||||||
|
smtbmc
|
||||||
|
|
||||||
|
[script]
|
||||||
|
read -formal top.sv
|
||||||
|
prep -top top
|
||||||
|
|
||||||
|
[file top.sv]
|
||||||
|
module top(
|
||||||
|
input clk, d
|
||||||
|
);
|
||||||
|
|
||||||
|
reg q1;
|
||||||
|
reg q2;
|
||||||
|
|
||||||
|
always @(posedge clk) begin
|
||||||
|
q1 <= d;
|
||||||
|
q2 <= d;
|
||||||
|
end;
|
||||||
|
|
||||||
|
// q1 and q2 are unconstrained in the initial state, so this should fail
|
||||||
|
always @(*) assert(q1 == q2);
|
||||||
|
|
||||||
|
endmodule
|
Loading…
Reference in a new issue