Skip to content

Commit e7fe8fd

Browse files
committed
Simplfy benchmark properties
1) This removes the redundant SVA always operator. 2) This adds a script for checking a ranking function on the benchmarks.
1 parent fffa596 commit e7fe8fd

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

98 files changed

+271
-285
lines changed

examples/Benchmarks/check_ranking

Lines changed: 137 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,137 @@
1+
#!/bin/sh
2+
3+
set -e
4+
5+
ebmc PWM_1.sv --ranking-function "2**10-cntR"
6+
ebmc PWM_2.sv --ranking-function "2**11-cntR"
7+
ebmc PWM_3.sv --ranking-function "2**12-cntR"
8+
ebmc PWM_4.sv --ranking-function "2**13-cntR"
9+
ebmc PWM_5.sv --ranking-function "2**14-cntR"
10+
ebmc PWM_6.sv --ranking-function "2**15-cntR"
11+
ebmc PWM_7.sv --ranking-function "2**16-cntR"
12+
ebmc PWM_8.sv --ranking-function "2**17-cntR"
13+
ebmc PWM_9.sv --ranking-function "2**18-cntR"
14+
15+
ebmc delay_1.sv --ranking-function "750-cnt"
16+
ebmc delay_2.sv --ranking-function "1250-cnt"
17+
ebmc delay_3.sv --ranking-function "2500-cnt"
18+
ebmc delay_4.sv --ranking-function "5000-cnt"
19+
ebmc delay_5.sv --ranking-function "7500-cnt"
20+
ebmc delay_6.sv --ranking-function "10000-cnt"
21+
ebmc delay_7.sv --ranking-function "12500-cnt"
22+
ebmc delay_8.sv --ranking-function "15000-cnt"
23+
ebmc delay_9.sv --ranking-function "17500-cnt"
24+
ebmc delay_10.sv --ranking-function "20000-cnt"
25+
ebmc delay_11.sv --ranking-function "22500-cnt"
26+
ebmc delay_12.sv --ranking-function "25000-cnt"
27+
ebmc delay_13.sv --ranking-function "50000-cnt"
28+
ebmc delay_14.sv --ranking-function "100000-cnt"
29+
ebmc delay_15.sv --ranking-function "200000-cnt"
30+
ebmc delay_16.sv --ranking-function "400000-cnt"
31+
32+
ebmc gray_1.sv --ranking-function "2**8-cnt"
33+
ebmc gray_2.sv --ranking-function "2**9-cnt"
34+
ebmc gray_3.sv --ranking-function "2**10-cnt"
35+
ebmc gray_4.sv --ranking-function "2**11-cnt"
36+
ebmc gray_5.sv --ranking-function "2**12-cnt"
37+
ebmc gray_6.sv --ranking-function "2**13-cnt"
38+
ebmc gray_7.sv --ranking-function "2**14-cnt"
39+
ebmc gray_8.sv --ranking-function "2**15-cnt"
40+
ebmc gray_9.sv --ranking-function "2**16-cnt"
41+
ebmc gray_10.sv --ranking-function "2**17-cnt"
42+
ebmc gray_11.sv --ranking-function "2**18-cnt"
43+
44+
if false ; then
45+
ebmc i2c_1.sv --ranking-function "2**9-cnt"
46+
ebmc i2c_2.sv --ranking-function "2**10-cnt"
47+
ebmc i2c_3.sv --ranking-function "2**11-cnt"
48+
ebmc i2c_4.sv --ranking-function "2**12-cnt"
49+
ebmc i2c_5.sv --ranking-function "2**13-cnt"
50+
ebmc i2c_6.sv --ranking-function "2**14-cnt"
51+
ebmc i2c_7.sv --ranking-function "2**15-cnt"
52+
ebmc i2c_8.sv --ranking-function "2**16-cnt"
53+
ebmc i2c_9.sv --ranking-function "2**17-cnt"
54+
ebmc i2c_10.sv --ranking-function "2**18-cnt"
55+
ebmc i2c_11.sv --ranking-function "2**19-cnt"
56+
ebmc i2c_12.sv --ranking-function "2**10-cnt"
57+
ebmc i2c_13.sv --ranking-function "2**10-cnt"
58+
ebmc i2c_14.sv --ranking-function "2**10-cnt"
59+
ebmc i2c_15.sv --ranking-function "2**10-cnt"
60+
ebmc i2c_16.sv --ranking-function "2**10-cnt"
61+
ebmc i2c_17.sv --ranking-function "2**10-cnt"
62+
ebmc i2c_18.sv --ranking-function "2**10-cnt"
63+
ebmc i2c_19.sv --ranking-function "2**10-cnt"
64+
ebmc i2c_20.sv --ranking-function "2**19-cnt"
65+
fi
66+
67+
ebmc lcd_1.sv --ranking-function "{3-state,500-cnt}"
68+
ebmc lcd_2.sv --ranking-function "{3-state,1000-cnt}"
69+
ebmc lcd_3.sv --ranking-function "{3-state,1500-cnt}"
70+
ebmc lcd_4.sv --ranking-function "{3-state,2500-cnt}"
71+
ebmc lcd_5.sv --ranking-function "{3-state,5000-cnt}"
72+
ebmc lcd_6.sv --ranking-function "{3-state,7500-cnt}"
73+
ebmc lcd_7.sv --ranking-function "{3-state,10000-cnt}"
74+
ebmc lcd_8.sv --ranking-function "{3-state,12500-cnt}"
75+
ebmc lcd_9.sv --ranking-function "{3-state,15000-cnt}"
76+
ebmc lcd_10.sv --ranking-function "{3-state,17500-cnt}"
77+
ebmc lcd_11.sv --ranking-function "{3-state,20000-cnt}"
78+
ebmc lcd_12.sv --ranking-function "{3-state,22500-cnt}"
79+
ebmc lcd_13.sv --ranking-function "{3-state,90000-cnt}"
80+
ebmc lcd_14.sv --ranking-function "{3-state,180000-cnt}"
81+
82+
ebmc seven_seg_1.sv --ranking-function "250-cnt" --property SEVEN.property.p1
83+
ebmc seven_seg_2.sv --ranking-function "500-cnt" --property SEVEN.property.p1
84+
ebmc seven_seg_3.sv --ranking-function "750-cnt" --property SEVEN.property.p1
85+
ebmc seven_seg_4.sv --ranking-function "1000-cnt" --property SEVEN.property.p1
86+
ebmc seven_seg_5.sv --ranking-function "2500-cnt" --property SEVEN.property.p1
87+
ebmc seven_seg_6.sv --ranking-function "5000-cnt" --property SEVEN.property.p1
88+
ebmc seven_seg_7.sv --ranking-function "7500-cnt" --property SEVEN.property.p1
89+
ebmc seven_seg_8.sv --ranking-function "10000-cnt" --property SEVEN.property.p1
90+
ebmc seven_seg_9.sv --ranking-function "12500-cnt" --property SEVEN.property.p1
91+
ebmc seven_seg_10.sv --ranking-function "15000-cnt" --property SEVEN.property.p1
92+
ebmc seven_seg_11.sv --ranking-function "17500-cnt" --property SEVEN.property.p1
93+
ebmc seven_seg_12.sv --ranking-function "20000-cnt" --property SEVEN.property.p1
94+
ebmc seven_seg_16.sv --ranking-function "40000-cnt" --property SEVEN.property.p1
95+
ebmc seven_seg_17.sv --ranking-function "80000-cnt" --property SEVEN.property.p1
96+
ebmc seven_seg_18.sv --ranking-function "160000-cnt" --property SEVEN.property.p1
97+
98+
ebmc thermocouple_1.sv --ranking-function "{2-state,2**5-cnt}"
99+
ebmc thermocouple_2.sv --ranking-function "{2-state,2**9-cnt}"
100+
ebmc thermocouple_3.sv --ranking-function "{2-state,2**10-cnt}"
101+
ebmc thermocouple_4.sv --ranking-function "{2-state,2**10-cnt}"
102+
ebmc thermocouple_5.sv --ranking-function "{2-state,2**11-cnt}"
103+
ebmc thermocouple_6.sv --ranking-function "{2-state,2**11-cnt}"
104+
ebmc thermocouple_7.sv --ranking-function "{2-state,2**12-cnt}"
105+
ebmc thermocouple_8.sv --ranking-function "{2-state,2**12-cnt}"
106+
ebmc thermocouple_9.sv --ranking-function "{2-state,2**13-cnt}"
107+
ebmc thermocouple_10.sv --ranking-function "{2-state,2**14-cnt}"
108+
ebmc thermocouple_11.sv --ranking-function "{2-state,2**14-cnt}"
109+
ebmc thermocouple_12.sv --ranking-function "{2-state,2**14-cnt}"
110+
ebmc thermocouple_13.sv --ranking-function "{2-state,2**15-cnt}"
111+
ebmc thermocouple_14.sv --ranking-function "{2-state,2**16-cnt}"
112+
ebmc thermocouple_15.sv --ranking-function "{2-state,2**17-cnt}"
113+
ebmc thermocouple_16.sv --ranking-function "{2-state,2**18-cnt}"
114+
ebmc thermocouple_17.sv --ranking-function "{2-state,2**19-cnt}"
115+
116+
ebmc uart_transmit_1.sv --ranking-function "2**3-tx_cnt"
117+
ebmc uart_transmit_2.sv --ranking-function "2**4-tx_cnt"
118+
ebmc uart_transmit_3.sv --ranking-function "2**4-tx_cnt"
119+
ebmc uart_transmit_4.sv --ranking-function "2**4-tx_cnt"
120+
ebmc uart_transmit_5.sv --ranking-function "2**4-tx_cnt"
121+
ebmc uart_transmit_6.sv --ranking-function "2**4-tx_cnt"
122+
ebmc uart_transmit_7.sv --ranking-function "2**4-tx_cnt"
123+
ebmc uart_transmit_8.sv --ranking-function "2**4-tx_cnt"
124+
ebmc uart_transmit_9.sv --ranking-function "2**5-tx_cnt"
125+
ebmc uart_transmit_10.sv --ranking-function "2**5-tx_cnt"
126+
ebmc uart_transmit_11.sv --ranking-function "2**5-tx_cnt"
127+
ebmc uart_transmit_12.sv --ranking-function "2**6-tx_cnt"
128+
129+
ebmc vga_1.sv --ranking-function "{2**5-v_cnt,2**7-h_cnt}"
130+
ebmc vga_2.sv --ranking-function "{2**6-v_cnt,2**8-h_cnt}"
131+
ebmc vga_3.sv --ranking-function "{2**6-v_cnt,2**8-h_cnt}"
132+
ebmc vga_4.sv --ranking-function "{2**7-v_cnt,2**9-h_cnt}"
133+
ebmc vga_5.sv --ranking-function "{2**8-v_cnt,2**9-h_cnt}"
134+
ebmc vga_6.sv --ranking-function "{2**8-v_cnt,2**9-h_cnt}"
135+
ebmc vga_7.sv --ranking-function "{2**8-v_cnt,2**10-h_cnt}"
136+
ebmc vga_8.sv --ranking-function "{2**9-v_cnt,2**10-h_cnt}"
137+
ebmc vga_9.sv --ranking-function "{2**9-v_cnt,2**11-h_cnt}"

examples/Benchmarks/delay_1.sv

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,6 @@ module DELAY #(localparam N = 750, localparam CBITS = 10) (input clk, input rst,
77
cnt = 0; end
88
else sig = 0;
99
end
10-
p1: assert property (@(posedge clk) ((always s_eventually rst == 1) or (always s_eventually sig == 1))) ;
10+
p1: assert property (@(posedge clk) s_eventually rst || sig == 1) ;
1111
// F G (rst = F) -> G F (sig = T)
1212
endmodule

examples/Benchmarks/delay_10.sv

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,6 @@ module DELAY #(localparam N = 20000, localparam CBITS = 15) (input clk, input rs
77
cnt = 0; end
88
else sig = 0;
99
end
10-
p1: assert property (@(posedge clk) ((always s_eventually rst == 1) or (always s_eventually sig == 1))) ;
10+
p1: assert property (@(posedge clk) s_eventually rst || sig == 1);
1111
// F G (rst = F) -> G F (sig = T)
1212
endmodule

examples/Benchmarks/delay_11.sv

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,6 @@ module DELAY #(localparam N = 22500, localparam CBITS = 15) (input clk, input rs
77
cnt = 0; end
88
else sig = 0;
99
end
10-
p1: assert property (@(posedge clk) ((always s_eventually rst == 1) or (always s_eventually sig == 1))) ;
10+
p1: assert property (@(posedge clk) s_eventually rst || sig == 1);
1111
// F G (rst = F) -> G F (sig = T)
1212
endmodule

examples/Benchmarks/delay_12.sv

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,6 @@ module DELAY #(localparam N = 25000, localparam CBITS = 15) (input clk, input rs
77
cnt = 0; end
88
else sig = 0;
99
end
10-
p1: assert property (@(posedge clk) ((always s_eventually rst == 1) or (always s_eventually sig == 1))) ;
10+
p1: assert property (@(posedge clk) s_eventually rst || sig == 1);
1111
// F G (rst = F) -> G F (sig = T)
1212
endmodule

examples/Benchmarks/delay_13.sv

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,6 @@ module DELAY #(localparam N = 50000, localparam CBITS = 16) (input clk, input rs
77
cnt = 0; end
88
else sig = 0;
99
end
10-
p1: assert property (@(posedge clk) ((always s_eventually rst == 1) or (always s_eventually sig == 1))) ;
10+
p1: assert property (@(posedge clk) s_eventually rst || sig == 1);
1111
// F G (rst = F) -> G F (sig = T)
1212
endmodule

examples/Benchmarks/delay_14.sv

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,6 @@ module DELAY #(localparam N = 100000, localparam CBITS = 17) (input clk, input r
77
cnt = 0; end
88
else sig = 0;
99
end
10-
p1: assert property (@(posedge clk) ((always s_eventually rst == 1) or (always s_eventually sig == 1))) ;
10+
p1: assert property (@(posedge clk) s_eventually rst || sig == 1);
1111
// F G (rst = F) -> G F (sig = T)
1212
endmodule

examples/Benchmarks/delay_15.sv

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,6 @@ module DELAY #(localparam N = 200000, localparam CBITS = 18) (input clk, input r
77
cnt = 0; end
88
else sig = 0;
99
end
10-
p1: assert property (@(posedge clk) ((always s_eventually rst == 1) or (always s_eventually sig == 1))) ;
10+
p1: assert property (@(posedge clk) s_eventually rst || sig == 1);
1111
// F G (rst = F) -> G F (sig = T)
1212
endmodule

examples/Benchmarks/delay_16.sv

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,6 @@ module DELAY #(localparam N = 400000, localparam CBITS = 19) (input clk, input r
77
cnt = 0; end
88
else sig = 0;
99
end
10-
p1: assert property (@(posedge clk) ((always s_eventually rst == 1) or (always s_eventually sig == 1))) ;
10+
p1: assert property (@(posedge clk) s_eventually rst || sig == 1);
1111
// F G (rst = F) -> G F (sig = T)
1212
endmodule

examples/Benchmarks/delay_2.sv

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,6 @@ module DELAY #(localparam N = 1250, localparam CBITS = 11) (input clk, input rst
77
cnt = 0; end
88
else sig = 0;
99
end
10-
p1: assert property (@(posedge clk) ((always s_eventually rst == 1) or (always s_eventually sig == 1))) ;
10+
p1: assert property (@(posedge clk) s_eventually rst || sig == 1);
1111
// F G (rst = F) -> G F (sig = T)
1212
endmodule

0 commit comments

Comments
 (0)