aboutsummaryrefslogtreecommitdiffstats
path: root/tests/various/const_func_block_var.v
blob: cb60844ab241ff5b9f9b381abfee25bc939ac602 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
module top(out);
	function integer operation;
		input integer num;
		localparam incr = 1;
		localparam mult = 1;
		begin
			operation = 0;
			begin : op_i
				integer i;
				for (i = 0; i * mult < 2; i = i + incr)
				begin : op_j
					integer j;
					localparam other_mult = 2;
					for (j = i; j < i * other_mult; j = j + incr)
						num = num + incr;
				end
				num = num * 2;
			end
			operation = num;
		end
	endfunction

	localparam res = operation(4);
	output wire [31:0] out;
	assign out = res;
endmodule