diff options
author | Zachary Snow <zach@zachjs.com> | 2020-08-29 13:31:02 -0400 |
---|---|---|
committer | Zachary Snow <zach@zachjs.com> | 2020-08-29 13:31:02 -0400 |
commit | ecc5c23b4d3ec42599b80f5f4dc8699f024124be (patch) | |
tree | dd4184715b0b0330c5126e1f0a9b0c864e4a3cf1 /tests | |
parent | 082cbcb4c7c4fa6984f86f8edb2e1d16e8ad3a41 (diff) | |
download | yosys-ecc5c23b4d3ec42599b80f5f4dc8699f024124be.tar.gz yosys-ecc5c23b4d3ec42599b80f5f4dc8699f024124be.tar.bz2 yosys-ecc5c23b4d3ec42599b80f5f4dc8699f024124be.zip |
Fix constant args used with function ports split across declarations
Diffstat (limited to 'tests')
-rw-r--r-- | tests/various/const_arg_loop.v | 20 |
1 files changed, 20 insertions, 0 deletions
diff --git a/tests/various/const_arg_loop.v b/tests/various/const_arg_loop.v index 85318562f..3bfff4acd 100644 --- a/tests/various/const_arg_loop.v +++ b/tests/various/const_arg_loop.v @@ -23,6 +23,22 @@ module top; end endfunction + function automatic [31:0] operation3; + input [4:0] rounds; + input integer num; + reg [4:0] rounds; + integer i; + begin + begin : shadow + integer rounds; + rounds = 0; + end + for (i = 0; i < rounds; i = i + 1) + num = num * 2; + operation3 = num; + end + endfunction + wire [31:0] a; assign a = 2; @@ -34,11 +50,15 @@ module top; wire [31:0] x2; assign x2 = operation2(A, a); + wire [31:0] x3; + assign x3 = operation3(A, a); + // `define VERIFY `ifdef VERIFY assert property (a == 2); assert property (A == 3); assert property (x1 == 16); assert property (x2 == 4); + assert property (x3 == 16); `endif endmodule |