mirror of
https://github.com/zachjs/sv2v.git
synced 2026-09-03 08:33:46 +02:00
convert for loop declarations and assignments to signle assignment (closes #15)
This commit is contained in:
@@ -0,0 +1,37 @@
|
||||
module top;
|
||||
|
||||
wire [0:31] a;
|
||||
for (genvar n = 0; n < 32; n++) begin : gen_filter
|
||||
assign a[n] = n & 1;
|
||||
end
|
||||
|
||||
initial
|
||||
for (integer i = 0; i < 32; i++)
|
||||
$display("1: ", a[i]);
|
||||
|
||||
integer i = 0;
|
||||
initial
|
||||
for (; i < 32; i++)
|
||||
$display("2: ", ~a[i]);
|
||||
|
||||
initial begin
|
||||
for (integer i = 0, j = 42; i < 32; i++)
|
||||
$display("3: ", ~a[i] + 5, " j=", j);
|
||||
end
|
||||
|
||||
initial begin
|
||||
integer i, j;
|
||||
for (i = 0, j = 97; i < 32; i++)
|
||||
$display("4: ", ~a[i] + 10, " j=", j);
|
||||
end
|
||||
|
||||
integer j = 0, k;
|
||||
initial begin
|
||||
for (; j < 4; j++) begin
|
||||
k = 0;
|
||||
for (; k < 8; k++)
|
||||
$display("5: ", ~a[j * 8 + k] + 11);
|
||||
end
|
||||
end
|
||||
|
||||
endmodule
|
||||
@@ -0,0 +1,45 @@
|
||||
module top;
|
||||
|
||||
wire [0:31] a;
|
||||
generate
|
||||
genvar n;
|
||||
for (n = 0; n < 32; n = n + 1) begin : gen_filter
|
||||
assign a[n] = n & 1;
|
||||
end
|
||||
endgenerate
|
||||
|
||||
integer i;
|
||||
initial begin : foo_1
|
||||
for (i = 0; i < 32; i = i + 1)
|
||||
$display("1: ", a[i]);
|
||||
end
|
||||
|
||||
initial begin : foo_2
|
||||
integer i;
|
||||
for (i = 0; i < 32; i = i + 1)
|
||||
$display("2: ", ~a[i]);
|
||||
end
|
||||
|
||||
initial begin : foo_3
|
||||
integer i;
|
||||
integer j;
|
||||
j = 42;
|
||||
for (i = 0; i < 32; i = i + 1)
|
||||
$display("3: ", ~a[i] + 5, " j=", j);
|
||||
end
|
||||
|
||||
initial begin : foo_4
|
||||
integer i, j;
|
||||
j = 97;
|
||||
for (i = 0; i < 32; i = i + 1)
|
||||
$display("4: ", ~a[i] + 10, " j=", j);
|
||||
end
|
||||
|
||||
integer j, k;
|
||||
initial begin
|
||||
for (j = 0; j < 4; j++)
|
||||
for (k = 0; k < 8; k++)
|
||||
$display("5: ", ~a[j * 8 + k] + 11);
|
||||
end
|
||||
|
||||
endmodule
|
||||
Reference in New Issue
Block a user