Может кто-нибудь сказать мне, как рассчитать лог-значение параметра в файле design ?
Я сталкиваюсь с такой ситуацией, когда у меня генерируется цикл, подобный этому:
parameter N=8;
genvar i,m;
generate
for(m=1;m<N;m=m*2)
begin :m_loop
// I have an instance here
// "in" is an input of N bits, "out" is an output N bits
Inst u(in(i+log2(m)),in(i+1+log2(m)),out(i+log2(m)));
end
endgenerate
Есть ли способ сделать log2 (m), где m изменяется как степени 2 (2 ^ 0,2 ^ 1,2 ^ 2, до N)? Если нет, то
Я думал о введении новой переменной, скажем, m1, которая равна 0,1,2, ... (т.е. log2 (m)).
В таком случае m1 должен меняться одновременно с каждым m, т. Е. Когда m = 1, m1 = 0; т = 2, m1 = 1;
т = 4, m 1 = 2; m = 8, m1 = 3 и т. д.