在Verilog中使用function实现简单的数学函数运算。
eg:实现输出以2为底的对数。
function integer Out_log2;
input [31:0] In_data;
begin
In_data = In_data - 1;
for(Out_log2 = 0;In_data > 0;Out_log2 = Out_log2 + 1)
In_data = In_data >> 1;
end
endfunction
这样在想要通过某个输入参数获取到其以2为底对数的值时只需要调用就行。
eg:localparam In_data_log2 = Out_log2(32);
In_data_log2的值就是5;
当然举例的这个函数只提供function使用的思路,不同的条件下的用法还需要自己细细斟酌。
week1:Verilog中function的应用
最新推荐文章于 2023-12-12 21:29:38 发布