PoC.bus.Arbiter

This module implements a generic arbiter. It currently supports the following arbitration strategies:

  • Round Robin (RR)

Entity Declaration:

 1    PORTS      : positive := 1;
 2    WEIGHTS    : integer_vector := (0 => 1);
 3    OUTPUT_REG : boolean  := FALSE
 4  );
 5  port (
 6    Clock : in  std_logic;
 7    Reset : in  std_logic;
 8
 9    Arbitrate     : in  std_logic;
10    RequestVector : in  std_logic_vector(PORTS - 1 downto 0);
11
12    Arbitrated  : out std_logic;
13    GrantVector : out std_logic_vector(PORTS - 1 downto 0);
14    GrantIndex  : out unsigned(log2ceilnz(PORTS) - 1 downto 0)
15  );
16end entity;
17architecture rtl of bus_Arbiter is
18begin
19  -- XXX: How does arith_FirstOne relate to an arbiter and to RR or Priority arbitration?