Home    --    Hierarchy    --    Packages    --    Entities    --    Instantiations    --    Sources

Source file VHDL/bit_funcs.vhd

 1 
 2 
 3 
 4 
 5 
 6 
 7 
 8 
 9 
10 
11 
12 
13 
14 
15 
16 
17 
18 
19 
20 
21 
22 
23 
24 
25 
26 
27 
28 
29 
30 
31 
32 
33 
34 
35 
36 
37 
38 
39 
40 
41 
42 
43 
44 
45 
46 
47 
48 
49 
50 
51 
52 
53 
54 
55 
56 
57 
58 
59 
60 
61 
62 
63 
64 
65 
66 
67 
68 
69 
70 
71 
72 
73 
74 
75 
76 
77 
78 
79 
80 
81 
82 
83 
84 
85 
86 
87 
88 
89 
90 
91 
--===========================================================================--
-- --
-- bit_funcs.vhd - Power2 & Log2 Funtions Package --
-- --
--===========================================================================--
--
-- File name : bit_funcs.vhd
--
-- Purpose : Implements power2 and log2 functions.
--
-- Dependencies : ieee.std_logic_1164
-- ieee.std_logic_arith
-- ieee.std_logic_unsigned
--
-- Author : John E. Kent
--
-- Email : dilbert57 at the domain opencores.org
--
-- Web : http://opencores.org/project,system09
--
-- bit_func.vhd is a VHDL functions package for calulating power2 and log2.
--
-- Copyright (C) 2003 - 2010 John Kent
--
-- This program is free software: you can redistribute it and/or modify
-- it under the terms of the GNU General Public License as published by
-- the Free Software Foundation, either version 3 of the License, or
-- (at your option) any later version.
--
-- This program is distributed in the hope that it will be useful,
-- but WITHOUT ANY WARRANTY; without even the implied warranty of
-- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-- GNU General Public License for more details.
--
-- You should have received a copy of the GNU General Public License
-- along with this program. If not, see <http://www.gnu.org/licenses/>.
--
--===========================================================================--
-- --
-- Revision History --
-- --
--===========================================================================--
--
-- Revision Name Date Description
-- 0.1 John E. Kent unknown Initial version
-- 1.0 John E. Kent 30th May 2010 Added GPL Header
--
library IEEE;
use IEEE.std_logic_1164.all;
use IEEE.std_logic_arith.all;
use IEEE.std_logic_unsigned.all;
--* @brief Power2 & Log2 Functions Package
--*
--* @author John E. Kent
--* @version 1.0 from 30th May 2010
package bit_funcs is
function log2(v: in natural) return natural;
function pow2(v: in natural) return natural;
end package bit_funcs;
package body bit_funcs is
function log2 (v : in natural) return natural is
variable temp, log: natural;
begin
temp := v / 2;
log := 0;
while (temp /= 0) loop
temp := temp/2;
log := log + 1;
end loop;
return log;
end function log2;
function pow2(v: in natural) return natural is
variable i: natural;
variable pown: natural;
begin
pown := 1;
for i in 0 to v loop
exit when (i=v);
pown := pown * 2;
end loop;
return pown;
end function pow2;
end package body bit_funcs;

Generated on 1 Jan 2018 19:48:42 with VHDocL V0.2.6