From b2e9717419e9a852f4e64f12891b8e9742900917 Mon Sep 17 00:00:00 2001 From: Zachary Snow Date: Tue, 31 Aug 2021 11:45:02 -0600 Subject: 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. --- tests/verilog/genfor_decl_no_init.ys | 7 +++++++ tests/verilog/genfor_decl_no_sv.ys | 7 +++++++ tests/verilog/genvar_loop_decl_1.sv | 18 ++++++++++++++++++ tests/verilog/genvar_loop_decl_1.ys | 14 ++++++++++++++ tests/verilog/genvar_loop_decl_2.sv | 30 ++++++++++++++++++++++++++++++ tests/verilog/genvar_loop_decl_2.ys | 5 +++++ tests/verilog/genvar_loop_decl_3.sv | 28 ++++++++++++++++++++++++++++ tests/verilog/genvar_loop_decl_3.ys | 5 +++++ 8 files changed, 114 insertions(+) create mode 100644 tests/verilog/genfor_decl_no_init.ys create mode 100644 tests/verilog/genfor_decl_no_sv.ys create mode 100644 tests/verilog/genvar_loop_decl_1.sv create mode 100644 tests/verilog/genvar_loop_decl_1.ys create mode 100644 tests/verilog/genvar_loop_decl_2.sv create mode 100644 tests/verilog/genvar_loop_decl_2.ys create mode 100644 tests/verilog/genvar_loop_decl_3.sv create mode 100644 tests/verilog/genvar_loop_decl_3.ys (limited to 'tests') diff --git a/tests/verilog/genfor_decl_no_init.ys b/tests/verilog/genfor_decl_no_init.ys new file mode 100644 index 000000000..348899195 --- /dev/null +++ b/tests/verilog/genfor_decl_no_init.ys @@ -0,0 +1,7 @@ +logger -expect error "Generate for loop variable declaration is missing initialization!" 1 +read_verilog -sv <