Skip to content
Snippets Groups Projects
Commit aabc9a55 authored by Eric Kooistra's avatar Eric Kooistra
Browse files

Pipeline all snk_in sosi fields for output, instead of only the valid.

parent 634a0dae
No related branches found
No related tags found
1 merge request!309Resolve L2SDP-903
Pipeline #44349 passed
...@@ -52,8 +52,13 @@ END dp_complex_add; ...@@ -52,8 +52,13 @@ END dp_complex_add;
ARCHITECTURE str OF dp_complex_add IS ARCHITECTURE str OF dp_complex_add IS
CONSTANT c_pipeline : NATURAL := 1; CONSTANT c_pipeline : NATURAL := 1;
CONSTANT c_pipeline_adder_tree : NATURAL := c_pipeline*ceil_log2(g_nof_inputs);
CONSTANT c_common_adder_tree_sum_w : NATURAL := g_data_w + ceil_log2(g_nof_inputs); CONSTANT c_common_adder_tree_sum_w : NATURAL := g_data_w + ceil_log2(g_nof_inputs);
SIGNAL snk_in : t_dp_sosi;
SIGNAL snk_in_pipe : t_dp_sosi;
SIGNAL common_adder_tree_re_in_dat : STD_LOGIC_VECTOR(g_nof_inputs*g_data_w-1 DOWNTO 0); SIGNAL common_adder_tree_re_in_dat : STD_LOGIC_VECTOR(g_nof_inputs*g_data_w-1 DOWNTO 0);
SIGNAL common_adder_tree_im_in_dat : STD_LOGIC_VECTOR(g_nof_inputs*g_data_w-1 DOWNTO 0); SIGNAL common_adder_tree_im_in_dat : STD_LOGIC_VECTOR(g_nof_inputs*g_data_w-1 DOWNTO 0);
...@@ -101,22 +106,30 @@ BEGIN ...@@ -101,22 +106,30 @@ BEGIN
sum => common_adder_tree_im_sum sum => common_adder_tree_im_sum
); );
src_out.re <= RESIZE_DP_DSP_DATA(common_adder_tree_re_sum(c_common_adder_tree_sum_w-1 DOWNTO 0)); p_src_out : PROCESS(snk_in_pipe, common_adder_tree_re_sum)
src_out.im <= RESIZE_DP_DSP_DATA(common_adder_tree_im_sum(c_common_adder_tree_sum_w-1 DOWNTO 0)); BEGIN
src_out <= snk_in_pipe;
src_out.re <= RESIZE_DP_DSP_DATA(common_adder_tree_re_sum(c_common_adder_tree_sum_w-1 DOWNTO 0));
src_out.im <= RESIZE_DP_DSP_DATA(common_adder_tree_im_sum(c_common_adder_tree_sum_w-1 DOWNTO 0));
END PROCESS;
----------------------------------------------------------------------------- -----------------------------------------------------------------------------
-- Forward the input valid with the correct latency -- Forward the other snk_in fields with the correct latency
----------------------------------------------------------------------------- -----------------------------------------------------------------------------
u_common_pipeline_sl : ENTITY common_lib.common_pipeline_sl
GENERIC MAP ( snk_in <= snk_in_arr(0);
g_pipeline => c_pipeline*ceil_log2(g_nof_inputs)
) u_dp_pipeline : ENTITY work.dp_pipeline
PORT MAP ( GENERIC MAP (
rst => rst, g_pipeline => c_pipeline_adder_tree
clk => clk, )
PORT MAP (
in_dat => snk_in_arr(0).valid, rst => rst,
out_dat => src_out.valid clk => clk,
); -- ST sink
snk_in => snk_in,
-- ST source
src_out => snk_in_pipe
);
END str; END str;
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment