PoC.bus.Arbiter

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

  • Round Robin (RR)

Entity Declaration:

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