Por qué la llamada de función a clogb2
no se está ejecutando en el siguiente código. No obtengo ningún error de compilación, pero el parámetro adder_width
no se actualiza con el valor de clogb2
. De hecho, esa función no devuelve ningún valor.
Consulte enlace .
module ram_model ();
parameter ram_depth = 8;
localparam adder_width = clogb2(ram_depth);
initial begin
$dumpfile("dump.vcd");
$dumpvars(1);
$monitor("%d",adder_width);
end
function integer clogb2;
input depth;
integer i,result;
begin
for (i = 0; 2**(i) < depth; i = i + 1)
result = i + 1;
clogb2 = result;
end
endfunction
endmodule