mirror of
https://github.com/YosysHQ/yosys
synced 2025-06-22 22:03:40 +00:00
Fixed handling of parameters and localparams in functions
This commit is contained in:
parent
d98d99aec6
commit
34f2b84fb6
4 changed files with 39 additions and 5 deletions
|
@ -68,7 +68,7 @@ endmodule
|
|||
|
||||
// -------------------------------------------------------------------
|
||||
|
||||
module task_func_test03( input [7:0] din_a, input [7:0] din_b, output [7:0] dout_a);
|
||||
module task_func_test03(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;
|
||||
|
@ -80,3 +80,32 @@ module task_func_test03( input [7:0] din_a, input [7:0] din_b, output [7:0] dout
|
|||
end
|
||||
endfunction
|
||||
endmodule
|
||||
|
||||
// -------------------------------------------------------------------
|
||||
|
||||
module task_func_test04(input [7:0] in, output [7:0] out1, out2, out3);
|
||||
parameter p = 23;
|
||||
function [7:0] test1;
|
||||
input [7:0] i;
|
||||
parameter p = 42;
|
||||
begin
|
||||
test1 = i + p;
|
||||
end
|
||||
endfunction
|
||||
function [7:0] test2;
|
||||
input [7:0] i;
|
||||
parameter p2 = p+42;
|
||||
begin
|
||||
test2 = i + p2;
|
||||
end
|
||||
endfunction
|
||||
function [7:0] test3;
|
||||
input [7:0] i;
|
||||
begin
|
||||
test3 = i + p;
|
||||
end
|
||||
endfunction
|
||||
assign out1 = test1(in);
|
||||
assign out2 = test2(in);
|
||||
assign out3 = test3(in);
|
||||
endmodule
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue