PoC.dstruct.DoubleEndedQueue
Implements a deque (double-ended queue). This data structure allows two acting entities to queue data elements for the consumption by the other while still being able to unqueue untaken ones in LIFO fashion.
Entity Declaration:
1 MIN_DEPTH : positive -- Minimum Deque Depth
2 );
3 port (
4 -- Shared Ports
5 Clock : in std_logic;
6 Reset : in std_logic;
7
8 -- Port A
9 PortA_Put : in std_logic;
10 PortA_DataIn : in std_logic_vector(DATA_BITS-1 downto 0); -- DataA Input
11 PortA_Full : out std_logic;
12 PortA_Got : in std_logic;
13 PortA_DataOut : out std_logic_vector(DATA_BITS-1 downto 0); -- DataA Output
14 PortA_Valid : out std_logic;
15
16 -- Port B
17 PortB_Put : in std_logic;
18 PortB_DataIn : in std_logic_vector(DATA_BITS-1 downto 0); -- DataB Input
19 PortB_Full : out std_logic;
20 PortB_Got : in std_logic;
21 PortB_DataOut : out std_logic_vector(DATA_BITS-1 downto 0);
22 PortB_Valid : out std_logic
23 );
24end entity;