2 use ieee.std_logic_1164.all;
3 use ieee.numeric_std.all;
7 function log2(i : natural) return integer;
8 function log2ceil(i : natural) return integer;
9 function ispow2(i : integer) return boolean;
10 function round_up(i : integer; s : integer) return integer;
15 function log2(i : natural) return integer is
16 variable tmp : integer := i;
17 variable ret : integer := 0;
26 function log2ceil(i : natural) return integer is
27 variable tmp : integer := i;
28 variable ret : integer := 0;
37 function ispow2(i : integer) return boolean is
39 if to_integer(to_unsigned(i, 32) and to_unsigned(i - 1, 32)) = 0 then
46 function round_up(i : integer; s : integer) return integer is
48 return ((i + (s - 1)) / s) * s;