12 use IEEE.STD_LOGIC_1164.
all;
13 use IEEE.NUMERIC_STD.
all;
25 port (CLK : in std_logic;
27 IN_Control : in AlgoRegister;
28 OUT_Status : out AlgoRegister;
30 IN_Start : in std_logic;
33 OUT_Start : out std_logic;
34 OUT_Write : out std_logic;
43 signal start : std_logic_vector((2**(stage+1))-2 downto 0);
44 signal writ : std_logic_vector((2**(stage+1))-2 downto 0);
47 OUT_Status <= x"a0a0a0a0";
49 stage_gen : for s in 0 to (stage - 1) generate
52 ifFirst : if s = (stage -1) generate
54 sorter_gen0 : for i in 0 to ((2**s) - 1) generate
58 USE_EXTERNAL_WRITE => false,
63 IN_Start => start
(2*(2**s + i
) downto 2*(2**s + i
) -
1),
64 IN_Write => writ
(2*(2**s + i
) downto 2*(2**s + i
) -
1),
65 IN_Data => connector
(2*(2**s + i
) downto 2*(2**s + i
) -
1),
67 OUT_Start => start
((2**s
) -
1 + i
),
68 OUT_Write => writ
((2**s
) -
1 + i
),
69 OUT_Data => connector
((2**s
) -
1 + i
)
71 end generate sorter_gen0;
74 ifAll : if s /= (stage -1) generate
75 sorter_gen : for i in 0 to ((2**s) - 1) generate
79 USE_EXTERNAL_WRITE => true,
84 IN_Start => start
(2*(2**s + i
) downto 2*(2**s + i
) -
1),
85 IN_Write => writ
(2*(2**s + i
) downto 2*(2**s + i
) -
1),
86 IN_Data => connector
(2*(2**s + i
) downto 2*(2**s + i
) -
1),
88 OUT_Start => start
((2**s
) -
1 + i
),
89 OUT_Write => writ
((2**s
) -
1 + i
),
90 OUT_Data => connector
((2**s
) -
1 + i
)
92 end generate sorter_gen;
95 end generate stage_gen;
98 writ((2**(stage+1) - 2) downto (2**stage - 1)) <= (others => '0');
102 if rising_edge(CLK) then
103 connector((2**(stage+1) - 2) downto (2**stage - 1)) <= IN_Data;
104 if IN_Start = '1' then
105 start((2**(stage+1) - 2) downto (2**stage - 1)) <= (others => '1');
107 start((2**(stage+1) - 2) downto (2**stage - 1)) <= (others => '0');
114 if rising_edge(CLK) then
115 OUT_Data <= connector(0);
116 OUT_Write <= writ(0);
117 OUT_Start <= start(0);
External data-types and functions.
array(natural range <> ) of AlgoTriggerObject AlgoTriggerObjects
Algorithm OUTPUT port.
std_logic_vector( OUT_TOB_WIDTH- 1 downto 0) AlgoTriggerObject
Algorithm Trigger Object TOB.
Top of TOB sorting module.
Top of TOB sorting module.