Verilog中function的使用
一、在module中使用function
1.1.计算以2为底的对数
function integer clog2(input integer n) //function for parameter to take log2()
integer m, o;
begin
o = n - 1;
for(m = 0; o > 0; m = m + 1)
o = o >> 1;
clog = m;
end
endfunction
localparam FIFO_PTR_BIT = clog2(FIFO_DATA_DEPTH);
1.2.简易除法
function [31:0] cmod(input integer n, m); //function for parameter to take quotient of mod N by M
integer i, o;
begin
o = n;
for(i = 0; o >= m; i + i +1)
o = o - m;
cmod = i[31:0];
end
endfunction