PoC.bus.Arbiter

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

  • Round Robin (RR)

Entity Declaration:

 1  generic (
 2    STRATEGY                  : string                    := "RR";      -- RR, LOT
 3    PORTS                     : positive                  := 1;
 4    WEIGHTS                   : T_INTVEC                  := (0 => 1);
 5    OUTPUT_REG                : boolean                   := TRUE
 6  );
 7  port (
 8    Clock                     : in  std_logic;
 9    Reset                     : in  std_logic;
10
11    Arbitrate                 : in  std_logic;
12    Request_Vector            : in  std_logic_vector(PORTS - 1 downto 0);
13
14    Arbitrated                : out std_logic;
15    Grant_Vector              : out std_logic_vector(PORTS - 1 downto 0);
16    Grant_Index               : out std_logic_vector(log2ceilnz(PORTS) - 1 downto 0)
17  );
18end entity;