Vivado 合成では、再帰関数がサポートされます。次のコード例では、n! 関数を使用しています。
function my_func(x : integer) return integer is begin
if R > 1 then
return (R*my_func(R-1));
else
return R;
end if;
end function my_func;
Vivado 合成では、再帰関数がサポートされます。次のコード例では、n! 関数を使用しています。
function my_func(x : integer) return integer is begin
if R > 1 then
return (R*my_func(R-1));
else
return R;
end if;
end function my_func;