PoC.bus.stream.FIFO

This module implements a generic buffer (FIFO) for the PoC.Stream protocol. It is generic in DATA_BITS and in META_BITS as well as in FIFO depths for data and meta information.

Entity Declaration:

 1    DATA_BITS         : positive    := 8;
 2    DATA_FIFO_DEPTH   : positive    := 8;
 3    META_BITS         : T_POSVEC    := (0 => 8);
 4    META_FIFO_DEPTH   : T_POSVEC    := (0 => 16)
 5  );
 6  port (
 7    Clock             : in  std_logic;
 8    Reset             : in  std_logic;
 9    -- IN Port
10    In_Valid          : in  std_logic;
11    In_Data           : in  std_logic_vector(DATA_BITS - 1 downto 0);
12    In_SOF            : in  std_logic;
13    In_EOF            : in  std_logic;
14    In_Ack            : out std_logic;
15    In_Meta_rst       : out std_logic;
16    In_Meta_nxt       : out std_logic_vector(META_BITS'length - 1 downto 0);
17    In_Meta_Data      : in  std_logic_vector(isum(META_BITS) - 1 downto 0);
18    -- OUT Port
19    Out_Valid         : out std_logic;
20    Out_Data          : out std_logic_vector(DATA_BITS - 1 downto 0);
21    Out_SOF           : out std_logic;
22    Out_EOF           : out std_logic;
23    Out_Ack           : in  std_logic;
24    Out_Meta_rst      : in  std_logic;
25    Out_Meta_nxt      : in  std_logic_vector(META_BITS'length - 1 downto 0);
26    Out_Meta_Data     : out std_logic_vector(isum(META_BITS) - 1 downto 0)
27  );
28end entity;
29
30
31architecture rtl of stream_FIFO is