Test and fix signals with nonzero start offsets in aim files with smtbmc
print("abc -g AND -fast", file=f)
print("opt_clean", file=f)
print("stat", file=f)
- print("write_aiger -I -B -zinit -map design_aiger.aim design_aiger.aig", file=f)
+ print("write_aiger -I -B -zinit -no-startoffset -map design_aiger.aim design_aiger.aig", file=f)
proc = SbyProc(
self,
/junit_*/
/submod_props*/
/multi_assert*/
+/aim_vs_smt2_nonzero_start_offset*/
--- /dev/null
+[tasks]
+bmc
+prove
+
+[options]
+bmc: mode bmc
+prove: mode prove
+expect fail
+wait on
+
+[engines]
+bmc: abc bmc3
+bmc: abc sim3
+prove: aiger avy
+prove: aiger suprove
+prove: 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