Re: [心得] 用Verilog/SystemVerilog計算log2
: → TripleC:check whether your log2 can solve non-power-of-2 int 06/18
09:5
謝謝提醒,的確怪怪的。
這種寫法:
for (log2=0; value>0; log2=log2+1)
value = value>>1;
會造成log2(8) = 4。
如果我們希望log2(8) = log2(7) = log2(6) = log2(5) = 3的話。
可以改成這樣:
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
function automatic integer log2;
input integer in;
begin
for(log2 = 1; in > 2**log2; log2 = log2+1) begin
end
end
endfunction
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
--
信佛的人要知道:佛絕不會說謊。但請把握時光。
法滅盡經:
http://www.cbeta.org/result/normal/T12/0396_001.htm
共勉之。
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 140.115.73.168
※ 編輯: zxvc 來自: 140.115.73.168 (06/18 16:38)
→
06/18 16:40, , 1F
06/18 16:40, 1F
→
06/18 16:43, , 2F
06/18 16:43, 2F
→
06/18 16:44, , 3F
06/18 16:44, 3F
→
06/18 16:44, , 4F
06/18 16:44, 4F
→
06/27 13:38, , 5F
06/27 13:38, 5F
討論串 (同標題文章)