diff --git a/applications/apertif/designs/apertif_unb1_correlator/src/vhdl/apertif_unb1_correlator.vhd b/applications/apertif/designs/apertif_unb1_correlator/src/vhdl/apertif_unb1_correlator.vhd index dc197f7806216d89274c0de42762b2b2f7522b04..f7e6ec1724a649b04dc90c8cb122a753e96c817a 100644 --- a/applications/apertif/designs/apertif_unb1_correlator/src/vhdl/apertif_unb1_correlator.vhd +++ b/applications/apertif/designs/apertif_unb1_correlator/src/vhdl/apertif_unb1_correlator.vhd @@ -178,6 +178,7 @@ ARCHITECTURE str OF apertif_unb1_correlator IS CONSTANT c_wpfb_nof_points : NATURAL := 64; -- = 1024, N point FFT CONSTANT c_wpfb_nof_taps : NATURAL := 8; -- = 8 nof taps n the filter CONSTANT c_wpfb_coef_w : NATURAL := 9; --FIXME: 9b does not work; needs updated coefficient files. + CONSTANT c_wpfb_in_backoff_w : natural := 0; -- = 0, number of bits for input backoff to avoid output overflow CONSTANT c_wpfb_in_dat_w : NATURAL := 8; --FIXME: should be 6b at some point CONSTANT c_wpfb_fft_in_dat_w : NATURAL := sel_a_b(c_use_prefilter, 16, 8); CONSTANT c_wpfb_out_dat_w : NATURAL := 12; --FIXME: Could be wider but is currently 9b to avoid the need for quantization: 9b -> mult -> 18b -> accu -> 32b at the corr output. @@ -188,7 +189,7 @@ ARCHITECTURE str OF apertif_unb1_correlator IS CONSTANT c_wpfb_use_fft_shift : BOOLEAN := FALSE; CONSTANT c_wpfb : t_wpfb := (c_wpfb_wb_factor, c_wpfb_nof_points, c_wpfb_nof_chan, c_wpfb_nof_wb_streams, - c_wpfb_nof_taps, c_wpfb_in_dat_w, 16, c_wpfb_coef_w, + c_wpfb_nof_taps, c_wpfb_in_backoff_w, c_wpfb_in_dat_w, 16, c_wpfb_coef_w, c_wpfb_use_reorder, c_wpfb_use_fft_shift, c_wpfb_use_separate, c_wpfb_fft_in_dat_w, c_wpfb_out_dat_w, c_wpfb_out_gain_w, 18, 2, true, 56, 2, c_fft_pipeline, c_fft_pipeline, c_fil_ppf_pipeline); -- type t_wpfb is record @@ -200,6 +201,7 @@ ARCHITECTURE str OF apertif_unb1_correlator IS -- -- -- Parameters for the poly phase filter -- nof_taps : natural; -- = 16, the number of FIR taps per subband +-- fil_backoff_w : natural; -- = 0, number of bits for input backoff to avoid output overflow -- fil_in_dat_w : natural; -- = 8, number of input bits -- fil_out_dat_w : natural; -- = 16, number of output bits -- coef_dat_w : natural; -- = 16, data width of the FIR coefficients diff --git a/applications/apertif/designs/apertif_unb1_correlator/src/vhdl/node_apertif_unb1_correlator_processing.vhd b/applications/apertif/designs/apertif_unb1_correlator/src/vhdl/node_apertif_unb1_correlator_processing.vhd index 0868c76bcd0c3321e2808ac3438665864aa9cbc4..5c02677e6ab5c1e40e0121ed5ecdc7d9400b3c04 100644 --- a/applications/apertif/designs/apertif_unb1_correlator/src/vhdl/node_apertif_unb1_correlator_processing.vhd +++ b/applications/apertif/designs/apertif_unb1_correlator/src/vhdl/node_apertif_unb1_correlator_processing.vhd @@ -155,6 +155,7 @@ ARCHITECTURE str OF node_apertif_unb1_correlator_processing IS CONSTANT c_wpfb_nof_points : NATURAL := c_nof_channels; -- = 1024, N point FFT CONSTANT c_wpfb_nof_taps : NATURAL := 8; -- = 8 nof taps n the filter CONSTANT c_wpfb_coef_w : NATURAL := 9; --FIXME: 9b does not work; needs updated coefficient files. + CONSTANT c_wpfb_in_backoff_w : natural := 0; -- = 0, number of bits for input backoff to avoid output overflow CONSTANT c_wpfb_in_dat_w : NATURAL := 8; --FIXME: In simulation there are 6bit values used in the BG. CONSTANT c_wpfb_fft_in_dat_w : NATURAL := sel_a_b(c_use_prefilter, 16, 8); CONSTANT c_wpfb_out_dat_w : NATURAL := 12; --FIXME: Could be wider but is currently 9b to avoid the need for quantization: 9b -> mult -> 18b -> accu -> 32b at the corr output. @@ -165,7 +166,7 @@ ARCHITECTURE str OF node_apertif_unb1_correlator_processing IS CONSTANT c_wpfb_use_fft_shift : BOOLEAN := FALSE; CONSTANT c_wpfb : t_wpfb := (c_wpfb_wb_factor, c_wpfb_nof_points, c_wpfb_nof_chan, c_wpfb_nof_wb_streams, - c_wpfb_nof_taps, c_wpfb_in_dat_w, 16, c_wpfb_coef_w, + c_wpfb_nof_taps, c_wpfb_in_backoff_w, c_wpfb_in_dat_w, 16, c_wpfb_coef_w, c_wpfb_use_reorder, c_wpfb_use_fft_shift, c_wpfb_use_separate, c_wpfb_fft_in_dat_w, c_wpfb_out_dat_w, c_wpfb_out_gain_w, 18, 2, true, 56, 2, c_fft_pipeline, c_fft_pipeline, c_fil_ppf_pipeline); -- type t_wpfb is record @@ -177,6 +178,7 @@ ARCHITECTURE str OF node_apertif_unb1_correlator_processing IS -- -- -- Parameters for the poly phase filter -- nof_taps : natural; -- = 16, the number of FIR taps per subband +-- fil_backoff_w : natural; -- = 0, number of bits for input backoff to avoid output overflow -- fil_in_dat_w : natural; -- = 8, number of input bits -- fil_out_dat_w : natural; -- = 16, number of output bits -- coef_dat_w : natural; -- = 16, data width of the FIR coefficients