PoC.dstruct.deque
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:
1entity dstruct_deque is
2 generic (
3 D_BITS : positive; -- Data Width
4 MIN_DEPTH : positive -- Minimum Deque Depth
5 );
6 port (
7 -- Shared Ports
8 clk, rst : in std_logic;
9
10 -- Port A
11 dinA : in std_logic_vector(D_BITS-1 downto 0); -- DataA Input
12 putA : in std_logic;
13 gotA : in std_logic;
14 doutA : out std_logic_vector(D_BITS-1 downto 0); -- DataA Output
15 validA : out std_logic;
16 fullA : out std_logic;
17
18 -- Port B
19 dinB : in std_logic_vector(D_BITS-1 downto 0); -- DataB Input
20 putB : in std_logic;
21 gotB : in std_logic;
22 doutB : out std_logic_vector(D_BITS-1 downto 0);
23 validB : out std_logic;
24 fullB : out std_logic
25 );
26end entity dstruct_deque;