mirror of https://github.com/YosysHQ/yosys.git
Fixed AST handling of variables declared inside a functions main block
This commit is contained in:
parent
0bb6942218
commit
0129d41efa
|
@ -1460,7 +1460,6 @@ skip_dynamic_range_lvalue_expansion:;
|
|||
}
|
||||
|
||||
for (auto child : decl->children)
|
||||
{
|
||||
if (child->type == AST_WIRE)
|
||||
{
|
||||
AstNode *wire = child->clone();
|
||||
|
@ -1488,7 +1487,9 @@ skip_dynamic_range_lvalue_expansion:;
|
|||
}
|
||||
}
|
||||
}
|
||||
else
|
||||
|
||||
for (auto child : decl->children)
|
||||
if (child->type != AST_WIRE)
|
||||
{
|
||||
AstNode *stmt = child->clone();
|
||||
stmt->replace_ids(replace_rules);
|
||||
|
@ -1500,7 +1501,6 @@ skip_dynamic_range_lvalue_expansion:;
|
|||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
replace_fcall_with_id:
|
||||
if (type == AST_FCALL) {
|
||||
|
|
|
@ -33,3 +33,16 @@ end
|
|||
|
||||
endmodule
|
||||
|
||||
|
||||
module task_func_test02( input [7:0] din_a, input [7:0] din_b, output [7:0] dout_a);
|
||||
assign dout_a = test(din_a,din_b);
|
||||
function [7:0] test;
|
||||
input [7:0] a;
|
||||
input [7:0] b;
|
||||
begin : TEST
|
||||
integer i;
|
||||
for (i = 0; i <= 7; i = i + 1)
|
||||
test[i] = a[i] & b[i];
|
||||
end
|
||||
endfunction
|
||||
endmodule
|
||||
|
|
Loading…
Reference in New Issue