3
0
Fork 0
mirror of https://github.com/YosysHQ/sby.git synced 2025-08-27 23:18:57 +00:00

Refactor tests

Organize tests into subdirectories and use a new makefile that scans
.sby files and allows selecting tests by mode, engine, solver and/or
subdirectory. Automatically skips tests that use engines/solvers that
are not found in the PATH.

See `cd tests; make help` for a description of supported make targets.
This commit is contained in:
Jannis Harder 2022-04-11 17:39:05 +02:00
parent 6daa434d85
commit 8da6f07cb3
60 changed files with 328 additions and 101 deletions

View file

@ -0,0 +1,2 @@
SUBDIR=regression
include ../make/subdir.mk

View file

@ -0,0 +1,36 @@
[tasks]
abc_bmc3 bmc
abc_sim3 bmc
aiger_avy prove
aiger_suprove prove
abc_pdr prove
[options]
bmc: mode bmc
prove: mode prove
expect fail
wait on
[engines]
abc_bmc3: abc bmc3
abc_sim3: abc sim3
aiger_avy: aiger avy
aiger_suprove: aiger suprove
abc_pdr: abc pdr
[script]
read -sv test.sv
prep -top test
[file test.sv]
module test (
input clk,
input [8:1] nonzero_offset
);
reg [7:0] counter = 0;
always @(posedge clk) begin
if (counter == 3) assert(nonzero_offset[1]);
counter <= counter + 1;
end
endmodule

View 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