diff options
author | Zachary Snow <zach@zachjs.com> | 2021-08-31 11:45:02 -0600 |
---|---|---|
committer | Zachary Snow <zachary.j.snow@gmail.com> | 2021-08-31 12:34:55 -0600 |
commit | b2e9717419e9a852f4e64f12891b8e9742900917 (patch) | |
tree | 3a989a50c1f9beef9068b423f202d4918dcf3d6a /tests/verilog/genvar_loop_decl_1.sv | |
parent | b20bb653ce0bfe452f8a1ff4a7a9b64262acced3 (diff) | |
download | yosys-b2e9717419e9a852f4e64f12891b8e9742900917.tar.gz yosys-b2e9717419e9a852f4e64f12891b8e9742900917.tar.bz2 yosys-b2e9717419e9a852f4e64f12891b8e9742900917.zip |
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.
Diffstat (limited to 'tests/verilog/genvar_loop_decl_1.sv')
-rw-r--r-- | tests/verilog/genvar_loop_decl_1.sv | 18 |
1 files changed, 18 insertions, 0 deletions
diff --git a/tests/verilog/genvar_loop_decl_1.sv b/tests/verilog/genvar_loop_decl_1.sv new file mode 100644 index 000000000..b503f75da --- /dev/null +++ b/tests/verilog/genvar_loop_decl_1.sv @@ -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 |