reg_rx_toggle : process (fifo_clk_i)
   begin
      if fifo_clk_i'event and fifo_clk_i = '1' then
         rx_stats_toggle_sync_reg <= rx_stats_toggle_sync;
      end if;
   end process reg_rx_toggle;

-- when an update is rxd load shifter (plus start/stop bit)
 -- shifter always runs (no power concerns as this is an example design)
gen_shift_rx : process (gtx_clk_bufg)
begin
  if fifo_clk_i'event and fifo_clk_i = '1' then
    if (rx_stats_toggle_sync_reg xor rx_stats_toggle_sync) = '1' then
      rx_stats_shift <= '1' & rx_stats &  '1';
    else
      rx_stats_shift <= rx_stats_shift(28 downto 0) & '0';
    end if;
  end if;
end process gen_shift_rx;

rx_statistics_s <= rx_stats_shift(29);