diff --git a/libraries/dsp/fft/src/vhdl/fft_r2_pipe.vhd b/libraries/dsp/fft/src/vhdl/fft_r2_pipe.vhd index d36170ec8f723bc2ea71e3f8ed28762f81c393b8..19ab52a6ae0109263bc94c388110fbf98307c574 100644 --- a/libraries/dsp/fft/src/vhdl/fft_r2_pipe.vhd +++ b/libraries/dsp/fft/src/vhdl/fft_r2_pipe.vhd @@ -139,6 +139,7 @@ begin u_reorder_sep : entity work.fft_reorder_sepa_pipe generic map ( g_bit_flip => g_fft.use_reorder, + g_fft_shift => g_fft.use_fft_shift, g_separate => g_fft.use_separate, g_nof_points => g_fft.nof_points, g_nof_chan => g_fft.nof_chan diff --git a/libraries/dsp/fft/tb/vhdl/tb_tb_fft_r2_pipe.vhd b/libraries/dsp/fft/tb/vhdl/tb_tb_fft_r2_pipe.vhd index 85b7b26a92be27b13ccce57642dda1f1673883a2..d973021b2ecd42fa162925b49e75d1fb1cf7f715 100644 --- a/libraries/dsp/fft/tb/vhdl/tb_tb_fft_r2_pipe.vhd +++ b/libraries/dsp/fft/tb/vhdl/tb_tb_fft_r2_pipe.vhd @@ -41,12 +41,14 @@ ARCHITECTURE tb OF tb_tb_fft_r2_pipe IS CONSTANT c_pipeline : t_fft_pipeline := (1, 1, 3, 1, 1, 0, 0, 1); - CONSTANT c_fft_two_real : t_fft := ( true, false, true, 0, 1, 0, 128, 8, 16, 0, c_dsp_mult_w, 2, true, 56, 2); - CONSTANT c_fft_two_real_more_channels : t_fft := ( true, false, true, 1, 1, 0, 128, 8, 16, 0, c_dsp_mult_w, 2, true, 56, 2); - CONSTANT c_fft_complex : t_fft := ( true, false, false, 0, 1, 0, 64, 8, 16, 0, c_dsp_mult_w, 2, true, 56, 2); - CONSTANT c_fft_complex_more_channels : t_fft := ( true, false, false, 1, 1, 0, 64, 8, 16, 0, c_dsp_mult_w, 2, true, 56, 2); - CONSTANT c_fft_complex_flipped : t_fft := (false, false, false, 0, 1, 0, 64, 8, 16, 0, c_dsp_mult_w, 2, true, 56, 2); - CONSTANT c_fft_complex_flipped_more_channels : t_fft := (false, false, false, 1, 1, 0, 64, 8, 16, 0, c_dsp_mult_w, 2, true, 56, 2); + CONSTANT c_fft_two_real : t_fft := ( true, false, true, 0, 1, 0, 128, 8, 16, 0, c_dsp_mult_w, 2, true, 56, 2); + CONSTANT c_fft_two_real_more_channels : t_fft := ( true, false, true, 1, 1, 0, 128, 8, 16, 0, c_dsp_mult_w, 2, true, 56, 2); + CONSTANT c_fft_complex : t_fft := ( true, false, false, 0, 1, 0, 64, 8, 16, 0, c_dsp_mult_w, 2, true, 56, 2); + CONSTANT c_fft_complex_more_channels : t_fft := ( true, false, false, 1, 1, 0, 64, 8, 16, 0, c_dsp_mult_w, 2, true, 56, 2); + CONSTANT c_fft_complex_fft_shift : t_fft := ( true, true, false, 0, 1, 0, 64, 8, 16, 0, c_dsp_mult_w, 2, true, 56, 2); + CONSTANT c_fft_complex_fft_shift_more_channels : t_fft := ( true, true, false, 1, 1, 0, 64, 8, 16, 0, c_dsp_mult_w, 2, true, 56, 2); + CONSTANT c_fft_complex_flipped : t_fft := (false, false, false, 0, 1, 0, 64, 8, 16, 0, c_dsp_mult_w, 2, true, 56, 2); + CONSTANT c_fft_complex_flipped_more_channels : t_fft := (false, false, false, 1, 1, 0, 64, 8, 16, 0, c_dsp_mult_w, 2, true, 56, 2); CONSTANT c_diff_margin : natural := 2; @@ -122,9 +124,11 @@ BEGIN u_rnd_two_real_channels : ENTITY work.tb_fft_r2_pipe GENERIC MAP (c_pipeline, c_fft_two_real_more_channels, c_diff_margin, c_noise, 1280, c_dc_agwn, 1280, c_unused, 0, 1280, TRUE); -- Complex input data - u_act_complex_chirp : ENTITY work.tb_fft_r2_pipe GENERIC MAP (c_pipeline, c_fft_complex, c_diff_margin, c_unused, 0, c_unused, 0, c_phasor_chirp, 12800, 12800, FALSE); - u_act_complex_channels : ENTITY work.tb_fft_r2_pipe GENERIC MAP (c_pipeline, c_fft_complex_more_channels, c_diff_margin, c_unused, 0, c_unused, 0, c_phasor_chirp, 12800, 1280, FALSE); - u_act_flipped_complex : ENTITY work.tb_fft_r2_pipe GENERIC MAP (c_pipeline, c_fft_complex_flipped, c_diff_margin, c_unused, 0, c_unused, 0, c_phasor_chirp, 12800, 1280, FALSE); - u_act_flipped_complex_channels : ENTITY work.tb_fft_r2_pipe GENERIC MAP (c_pipeline, c_fft_complex_flipped_more_channels, c_diff_margin, c_unused, 0, c_unused, 0, c_phasor_chirp, 12800, 1280, FALSE); - u_rnd_complex_noise : ENTITY work.tb_fft_r2_pipe GENERIC MAP (c_pipeline, c_fft_complex, c_diff_margin, c_unused, 0, c_unused, 0, c_noise_complex, 640, 640, TRUE); + u_act_complex_chirp : ENTITY work.tb_fft_r2_pipe GENERIC MAP (c_pipeline, c_fft_complex, c_diff_margin, c_unused, 0, c_unused, 0, c_phasor_chirp, 12800, 12800, FALSE); + u_act_complex_channels : ENTITY work.tb_fft_r2_pipe GENERIC MAP (c_pipeline, c_fft_complex_more_channels, c_diff_margin, c_unused, 0, c_unused, 0, c_phasor_chirp, 12800, 1280, FALSE); + u_act_complex_fft_shift_chirp : ENTITY work.tb_fft_r2_pipe GENERIC MAP (c_pipeline, c_fft_complex_fft_shift, c_diff_margin, c_unused, 0, c_unused, 0, c_phasor_chirp, 12800, 12800, FALSE); + u_act_complex_fft_shift_channels : ENTITY work.tb_fft_r2_pipe GENERIC MAP (c_pipeline, c_fft_complex_fft_shift_more_channels, c_diff_margin, c_unused, 0, c_unused, 0, c_phasor_chirp, 12800, 1280, FALSE); + u_act_complex_flipped : ENTITY work.tb_fft_r2_pipe GENERIC MAP (c_pipeline, c_fft_complex_flipped, c_diff_margin, c_unused, 0, c_unused, 0, c_phasor_chirp, 12800, 1280, FALSE); + u_act_complex_flipped_channels : ENTITY work.tb_fft_r2_pipe GENERIC MAP (c_pipeline, c_fft_complex_flipped_more_channels, c_diff_margin, c_unused, 0, c_unused, 0, c_phasor_chirp, 12800, 1280, FALSE); + u_rnd_complex_noise : ENTITY work.tb_fft_r2_pipe GENERIC MAP (c_pipeline, c_fft_complex, c_diff_margin, c_unused, 0, c_unused, 0, c_noise_complex, 640, 640, TRUE); END tb;