32bit_me (32bit_me) wrote,
32bit_me
32bit_me

О подсчете нулей

Originally published at 32 bit.me. You can comment here or there.

В задачах, связанных с арифметическими функциями, часто необходимо подсчитать количество нулей в старших разрядах числа. Эту функцию можно реализовать по-разному.

Итак, вариант 1:

1
2
3
4
5
6
7
8
9
10
11
12
function [ZERO_DATA_WIDTH - 1: 0] zero_cnt;
input [DATA_WIDTH - 1: 0] in;
integer i;
begin
  zero_cnt = DATA_WIDTH;
  for(i = DATA_WIDTH - 1; i >= 0; i = i - 1)
  begin
    if(in[i] && zero_cnt == DATA_WIDTH)
	   zero_cnt = DATA_WIDTH - i - 1;
  end
end
endfunction

Read the rest of this entry »

Tags: fpga, verilog, плис
Subscribe

  • Post a new comment

    Error

    Anonymous comments are disabled in this journal

    default userpic

    Your reply will be screened

    Your IP address will be recorded 

  • 6 comments