Skip to content

Commit 5d895c8

Browse files
committed
NeurIPS 2025 SystemVerilog benchmarks
1 parent 5906108 commit 5d895c8

File tree

560 files changed

+21474
-0
lines changed

Some content is hidden

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

560 files changed

+21474
-0
lines changed
Lines changed: 35 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,35 @@
1+
module PWM_TOP (input clk, input [3:0] sw, output reg pulse_red, output reg lb_pulse, output reg ub_pulse);
2+
3+
localparam CBITS = 10; // Change pulse_wideR accordingly
4+
5+
wire [CBITS-1:0] pulse_wideR;
6+
assign pulse_wideR = {1'b0, sw[3:1], 1'b1, 5'd0}; // (CBTIS-5)
7+
assign lbR = {1'b0, 4'b0000, 1'b1, 5'd0};
8+
assign ubR = {1'b0, 4'b1111, 1'b1, 5'd0};
9+
10+
reg [CBITS-1:0] cnt_R;
11+
12+
always @(posedge clk) begin
13+
cnt_R <= cnt_R + 1;
14+
15+
if (cnt_R < pulse_wideR)
16+
pulse_red = 1;
17+
else
18+
pulse_red = 0;
19+
20+
if (cnt_R < lbR)
21+
lb_pulse = 1;
22+
else
23+
lb_pulse = 0;
24+
25+
if (cnt_R < ubR)
26+
ub_pulse = 1;
27+
else
28+
ub_pulse = 0;
29+
end
30+
31+
32+
// LTLSPEC G F Verilog.PWM_TOP.pulse_red = FALSE
33+
assert property (@(posedge clk) always s_eventually pulse_red == 0);
34+
35+
endmodule
Lines changed: 35 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,35 @@
1+
module PWM_TOP (input clk, input [3:0] sw, output reg pulse_red, output reg lb_pulse, output reg ub_pulse);
2+
3+
localparam CBITS = 19; // Change pulse_wideR accordingly
4+
5+
wire [CBITS-1:0] pulse_wideR;
6+
assign pulse_wideR = {1'b0, sw[3:1], 1'b1, 14'd0}; // (CBTIS-5)
7+
assign lbR = {1'b0, 4'b0000, 1'b1, 14'd0};
8+
assign ubR = {1'b0, 4'b1111, 1'b1, 14'd0};
9+
10+
reg [CBITS-1:0] cnt_R;
11+
12+
always @(posedge clk) begin
13+
cnt_R <= cnt_R + 1;
14+
15+
if (cnt_R < pulse_wideR)
16+
pulse_red = 1;
17+
else
18+
pulse_red = 0;
19+
20+
if (cnt_R < lbR)
21+
lb_pulse = 1;
22+
else
23+
lb_pulse = 0;
24+
25+
if (cnt_R < ubR)
26+
ub_pulse = 1;
27+
else
28+
ub_pulse = 0;
29+
end
30+
31+
32+
// LTLSPEC G F Verilog.PWM_TOP.pulse_red = FALSE
33+
assert property (@(posedge clk) always s_eventually pulse_red == 0);
34+
35+
endmodule
Lines changed: 35 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,35 @@
1+
module PWM_TOP (input clk, input [3:0] sw, output reg pulse_red, output reg lb_pulse, output reg ub_pulse);
2+
3+
localparam CBITS = 20; // Change pulse_wideR accordingly
4+
5+
wire [CBITS-1:0] pulse_wideR;
6+
assign pulse_wideR = {1'b0, sw[3:1], 1'b1, 15'd0}; // (CBTIS-5)
7+
assign lbR = {1'b0, 4'b0000, 1'b1, 15'd0};
8+
assign ubR = {1'b0, 4'b1111, 1'b1, 15'd0};
9+
10+
reg [CBITS-1:0] cnt_R;
11+
12+
always @(posedge clk) begin
13+
cnt_R <= cnt_R + 1;
14+
15+
if (cnt_R < pulse_wideR)
16+
pulse_red = 1;
17+
else
18+
pulse_red = 0;
19+
20+
if (cnt_R < lbR)
21+
lb_pulse = 1;
22+
else
23+
lb_pulse = 0;
24+
25+
if (cnt_R < ubR)
26+
ub_pulse = 1;
27+
else
28+
ub_pulse = 0;
29+
end
30+
31+
32+
// LTLSPEC G F Verilog.PWM_TOP.pulse_red = FALSE
33+
assert property (@(posedge clk) always s_eventually pulse_red == 0);
34+
35+
endmodule
Lines changed: 35 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,35 @@
1+
module PWM_TOP (input clk, input [3:0] sw, output reg pulse_red, output reg lb_pulse, output reg ub_pulse);
2+
3+
localparam CBITS = 21; // Change pulse_wideR accordingly
4+
5+
wire [CBITS-1:0] pulse_wideR;
6+
assign pulse_wideR = {1'b0, sw[3:1], 1'b1, 16'd0}; // (CBTIS-5)
7+
assign lbR = {1'b0, 4'b0000, 1'b1, 16'd0};
8+
assign ubR = {1'b0, 4'b1111, 1'b1, 16'd0};
9+
10+
reg [CBITS-1:0] cnt_R;
11+
12+
always @(posedge clk) begin
13+
cnt_R <= cnt_R + 1;
14+
15+
if (cnt_R < pulse_wideR)
16+
pulse_red = 1;
17+
else
18+
pulse_red = 0;
19+
20+
if (cnt_R < lbR)
21+
lb_pulse = 1;
22+
else
23+
lb_pulse = 0;
24+
25+
if (cnt_R < ubR)
26+
ub_pulse = 1;
27+
else
28+
ub_pulse = 0;
29+
end
30+
31+
32+
// LTLSPEC G F Verilog.PWM_TOP.pulse_red = FALSE
33+
assert property (@(posedge clk) always s_eventually pulse_red == 0);
34+
35+
endmodule
Lines changed: 35 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,35 @@
1+
module PWM_TOP (input clk, input [3:0] sw, output reg pulse_red, output reg lb_pulse, output reg ub_pulse);
2+
3+
localparam CBITS = 11; // Change pulse_wideR accordingly
4+
5+
wire [CBITS-1:0] pulse_wideR;
6+
assign pulse_wideR = {1'b0, sw[3:1], 1'b1, 6'd0}; // (CBTIS-5)
7+
assign lbR = {1'b0, 4'b0000, 1'b1, 6'd0};
8+
assign ubR = {1'b0, 4'b1111, 1'b1, 6'd0};
9+
10+
reg [CBITS-1:0] cnt_R;
11+
12+
always @(posedge clk) begin
13+
cnt_R <= cnt_R + 1;
14+
15+
if (cnt_R < pulse_wideR)
16+
pulse_red = 1;
17+
else
18+
pulse_red = 0;
19+
20+
if (cnt_R < lbR)
21+
lb_pulse = 1;
22+
else
23+
lb_pulse = 0;
24+
25+
if (cnt_R < ubR)
26+
ub_pulse = 1;
27+
else
28+
ub_pulse = 0;
29+
end
30+
31+
32+
// LTLSPEC G F Verilog.PWM_TOP.pulse_red = FALSE
33+
assert property (@(posedge clk) always s_eventually pulse_red == 0);
34+
35+
endmodule
Lines changed: 35 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,35 @@
1+
module PWM_TOP (input clk, input [3:0] sw, output reg pulse_red, output reg lb_pulse, output reg ub_pulse);
2+
3+
localparam CBITS = 12; // Change pulse_wideR accordingly
4+
5+
wire [CBITS-1:0] pulse_wideR;
6+
assign pulse_wideR = {1'b0, sw[3:1], 1'b1, 7'd0}; // (CBTIS-5)
7+
assign lbR = {1'b0, 4'b0000, 1'b1, 7'd0};
8+
assign ubR = {1'b0, 4'b1111, 1'b1, 7'd0};
9+
10+
reg [CBITS-1:0] cnt_R;
11+
12+
always @(posedge clk) begin
13+
cnt_R <= cnt_R + 1;
14+
15+
if (cnt_R < pulse_wideR)
16+
pulse_red = 1;
17+
else
18+
pulse_red = 0;
19+
20+
if (cnt_R < lbR)
21+
lb_pulse = 1;
22+
else
23+
lb_pulse = 0;
24+
25+
if (cnt_R < ubR)
26+
ub_pulse = 1;
27+
else
28+
ub_pulse = 0;
29+
end
30+
31+
32+
// LTLSPEC G F Verilog.PWM_TOP.pulse_red = FALSE
33+
assert property (@(posedge clk) always s_eventually pulse_red == 0);
34+
35+
endmodule
Lines changed: 35 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,35 @@
1+
module PWM_TOP (input clk, input [3:0] sw, output reg pulse_red, output reg lb_pulse, output reg ub_pulse);
2+
3+
localparam CBITS = 13; // Change pulse_wideR accordingly
4+
5+
wire [CBITS-1:0] pulse_wideR;
6+
assign pulse_wideR = {1'b0, sw[3:1], 1'b1, 8'd0}; // (CBTIS-5)
7+
assign lbR = {1'b0, 4'b0000, 1'b1, 8'd0};
8+
assign ubR = {1'b0, 4'b1111, 1'b1, 8'd0};
9+
10+
reg [CBITS-1:0] cnt_R;
11+
12+
always @(posedge clk) begin
13+
cnt_R <= cnt_R + 1;
14+
15+
if (cnt_R < pulse_wideR)
16+
pulse_red = 1;
17+
else
18+
pulse_red = 0;
19+
20+
if (cnt_R < lbR)
21+
lb_pulse = 1;
22+
else
23+
lb_pulse = 0;
24+
25+
if (cnt_R < ubR)
26+
ub_pulse = 1;
27+
else
28+
ub_pulse = 0;
29+
end
30+
31+
32+
// LTLSPEC G F Verilog.PWM_TOP.pulse_red = FALSE
33+
assert property (@(posedge clk) always s_eventually pulse_red == 0);
34+
35+
endmodule
Lines changed: 35 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,35 @@
1+
module PWM_TOP (input clk, input [3:0] sw, output reg pulse_red, output reg lb_pulse, output reg ub_pulse);
2+
3+
localparam CBITS = 14; // Change pulse_wideR accordingly
4+
5+
wire [CBITS-1:0] pulse_wideR;
6+
assign pulse_wideR = {1'b0, sw[3:1], 1'b1, 9'd0}; // (CBTIS-5)
7+
assign lbR = {1'b0, 4'b0000, 1'b1, 9'd0};
8+
assign ubR = {1'b0, 4'b1111, 1'b1, 9'd0};
9+
10+
reg [CBITS-1:0] cnt_R;
11+
12+
always @(posedge clk) begin
13+
cnt_R <= cnt_R + 1;
14+
15+
if (cnt_R < pulse_wideR)
16+
pulse_red = 1;
17+
else
18+
pulse_red = 0;
19+
20+
if (cnt_R < lbR)
21+
lb_pulse = 1;
22+
else
23+
lb_pulse = 0;
24+
25+
if (cnt_R < ubR)
26+
ub_pulse = 1;
27+
else
28+
ub_pulse = 0;
29+
end
30+
31+
32+
// LTLSPEC G F Verilog.PWM_TOP.pulse_red = FALSE
33+
assert property (@(posedge clk) always s_eventually pulse_red == 0);
34+
35+
endmodule
Lines changed: 35 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,35 @@
1+
module PWM_TOP (input clk, input [3:0] sw, output reg pulse_red, output reg lb_pulse, output reg ub_pulse);
2+
3+
localparam CBITS = 15; // Change pulse_wideR accordingly
4+
5+
wire [CBITS-1:0] pulse_wideR;
6+
assign pulse_wideR = {1'b0, sw[3:1], 1'b1, 10'd0}; // (CBTIS-5)
7+
assign lbR = {1'b0, 4'b0000, 1'b1, 10'd0};
8+
assign ubR = {1'b0, 4'b1111, 1'b1, 10'd0};
9+
10+
reg [CBITS-1:0] cnt_R;
11+
12+
always @(posedge clk) begin
13+
cnt_R <= cnt_R + 1;
14+
15+
if (cnt_R < pulse_wideR)
16+
pulse_red = 1;
17+
else
18+
pulse_red = 0;
19+
20+
if (cnt_R < lbR)
21+
lb_pulse = 1;
22+
else
23+
lb_pulse = 0;
24+
25+
if (cnt_R < ubR)
26+
ub_pulse = 1;
27+
else
28+
ub_pulse = 0;
29+
end
30+
31+
32+
// LTLSPEC G F Verilog.PWM_TOP.pulse_red = FALSE
33+
assert property (@(posedge clk) always s_eventually pulse_red == 0);
34+
35+
endmodule
Lines changed: 35 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,35 @@
1+
module PWM_TOP (input clk, input [3:0] sw, output reg pulse_red, output reg lb_pulse, output reg ub_pulse);
2+
3+
localparam CBITS = 16; // Change pulse_wideR accordingly
4+
5+
wire [CBITS-1:0] pulse_wideR;
6+
assign pulse_wideR = {1'b0, sw[3:1], 1'b1, 11'd0}; // (CBTIS-5)
7+
assign lbR = {1'b0, 4'b0000, 1'b1, 11'd0};
8+
assign ubR = {1'b0, 4'b1111, 1'b1, 11'd0};
9+
10+
reg [CBITS-1:0] cnt_R;
11+
12+
always @(posedge clk) begin
13+
cnt_R <= cnt_R + 1;
14+
15+
if (cnt_R < pulse_wideR)
16+
pulse_red = 1;
17+
else
18+
pulse_red = 0;
19+
20+
if (cnt_R < lbR)
21+
lb_pulse = 1;
22+
else
23+
lb_pulse = 0;
24+
25+
if (cnt_R < ubR)
26+
ub_pulse = 1;
27+
else
28+
ub_pulse = 0;
29+
end
30+
31+
32+
// LTLSPEC G F Verilog.PWM_TOP.pulse_red = FALSE
33+
assert property (@(posedge clk) always s_eventually pulse_red == 0);
34+
35+
endmodule

0 commit comments

Comments
 (0)