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