3
0
Fork 0
mirror of https://github.com/YosysHQ/yosys synced 2025-08-11 13:40:53 +00:00

sv: support declaration in generate for initialization

This is accomplished by generating a unique name for the genvar,
renaming references to the genvar only in the loop's initialization,
guard, and incrementation, and finally adding a localparam inside the
loop body with the original name so that the genvar can be shadowed as
expected.
This commit is contained in:
Zachary Snow 2021-08-31 11:45:02 -06:00 committed by Zachary Snow
parent b20bb653ce
commit b2e9717419
9 changed files with 209 additions and 1 deletions

View file

@ -0,0 +1,18 @@
`default_nettype none
module gate(a);
for (genvar i = 0; i < 2; i++)
wire [i:0] x = '1;
output wire [32:0] a;
assign a = {1'b0, genblk1[0].x, 1'b0, genblk1[1].x, 1'b0};
endmodule
module gold(a);
genvar i;
for (i = 0; i < 2; i++)
wire [i:0] x = '1;
output wire [32:0] a;
assign a = {1'b0, genblk1[0].x, 1'b0, genblk1[1].x, 1'b0};
endmodule