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:

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