OpenCores
URL https://opencores.org/ocsvn/System09/System09/trunk

Subversion Repositories System09

[/] [System09/] [trunk/] [rtl/] [VHDL/] [priority_rot.vhd] - Blame information for rev 100

Details | Compare with Previous | View Log

Line No. Rev Author Line
1 100 davidgb
--===========================================================================--
2
--                                                                           --
3
--  priority_rot.vhd - Synthesizable Rotating Priority Encoder               --
4
--                                                                           --
5
--===========================================================================--
6
--
7
--  File name      : priority_rot.vhd
8
--
9
--  Purpose        : Implements a rotating priority encoder
10
--                  
11
--  Dependencies   : ieee.std_logic_1164
12
--                   ieee.std_logic_unsigned
13
--                   ieee.std_logic_arith
14
--                   unisim.vcomponents
15
--
16
--  Author         : John E. Kent
17
--
18
--  Email          : dilbert57@opencores.org      
19
--
20
--  Web            : http://opencores.org/project,system09
21
--
22
--  Priority_rot.vhd is a rotating priority encoder written in VHDL.
23
-- 
24
--  Copyright (C) 2010 John Kent
25
--
26
--  This program is free software: you can redistribute it and/or modify
27
--  it under the terms of the GNU General Public License as published by
28
--  the Free Software Foundation, either version 3 of the License, or
29
--  (at your option) any later version.
30
--
31
--  This program is distributed in the hope that it will be useful,
32
--  but WITHOUT ANY WARRANTY; without even the implied warranty of
33
--  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
34
--  GNU General Public License for more details.
35
--
36
--  You should have received a copy of the GNU General Public License
37
--  along with this program.  If not, see <http://www.gnu.org/licenses/>.
38
--
39
--===========================================================================--
40
--                                                                           --
41
--                              Revision  History                            --
42
--                                                                           --
43
--===========================================================================--
44
--
45
-- Version  Author        Date               Description
46
-- 0.1      John Kent     30th May 2010      Initial version
47
--
48
library ieee;
49
  use ieee.std_logic_1164.all;
50
  use ieee.std_logic_unsigned.all;
51
  use ieee.std_logic_arith.all;
52
 
53
library unisim;
54
  use unisim.vcomponents.all;
55
 
56
entity priority_rot is
57
   generic (
58
      WIDTH = 8
59
   )
60
        port (
61
                clk      : in  std_logic;
62
                rst      : in  std_logic;
63
           input    : in  std_logic_vector(WIDTH-1 downto 0);
64
           output   : out std_logic_vector(log2(WIDTH)-1 downto 0);
65
      valid    : out std_logic
66
   )
67
                );
68
end priority_rot;
69
 
70
architecture rtl of priority_rot is
71
 
72
constant OUT_WIDTH : integer := log2(WIDTH);
73
 
74
begin
75
 
76
  for i in 1 to WIDTH loop
77
    j := log2( i );
78
    if( input(i-1) = '1' ) then
79
 
80
  end loop;
81
end architecture;
82
 

powered by: WebSVN 2.1.0

© copyright 1999-2024 OpenCores.org, equivalent to Oliscience, all rights reserved. OpenCores®, registered trademark.