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;