diff --git a/applications/lofar2/libraries/sdp/src/vhdl/sdp_pkg.vhd b/applications/lofar2/libraries/sdp/src/vhdl/sdp_pkg.vhd index bd89e862a8341b28fb16beb46add1f5542650b8a..7f70daca8d1223545073f01c552a3bf3afe69ba7 100644 --- a/applications/lofar2/libraries/sdp/src/vhdl/sdp_pkg.vhd +++ b/applications/lofar2/libraries/sdp/src/vhdl/sdp_pkg.vhd @@ -92,7 +92,6 @@ PACKAGE sdp_pkg is CONSTANT c_sdp_W_adc_jesd : NATURAL := 16; CONSTANT c_sdp_W_fir_coef : NATURAL := 16; CONSTANT c_sdp_W_subband : NATURAL := 18; - CONSTANT c_sdp_W_subband_fraction : NATURAL := 0; -- extra bits beteen FSub and subband equalizer / beamformer CONSTANT c_sdp_W_crosslet : NATURAL := 16; CONSTANT c_sdp_W_beamlet_sum : NATURAL := 18; CONSTANT c_sdp_W_beamlet : NATURAL := 8; @@ -108,9 +107,9 @@ PACKAGE sdp_pkg is CONSTANT c_sdp_W_bf_weight : NATURAL := 16; -- = w in s(w, p), s = signed CONSTANT c_sdp_W_bf_weight_fraction : NATURAL := 14; -- = p in s(w, p) CONSTANT c_sdp_W_bf_weight_magnitude : NATURAL := c_sdp_W_bf_weight - c_sdp_W_bf_weight_fraction - 1; -- = 1 - CONSTANT c_sdp_W_fsub_wg : NATURAL := 16; -- = w in s(w, p), s = signed - CONSTANT c_sdp_W_fsub_wg_fraction : NATURAL := 15; -- = p in s(w, p) - CONSTANT c_sdp_W_fsub_wg_magnitude : NATURAL := c_sdp_W_fsub_wg - c_sdp_W_fsub_wg_fraction - 1; -- = 0 + CONSTANT c_sdp_W_local_oscillator : NATURAL := 16; -- = w in s(w, p), s = signed + CONSTANT c_sdp_W_local_oscillator_fraction : NATURAL := 15; -- = p in s(w, p) + CONSTANT c_sdp_W_local_oscillator_magnitude : NATURAL := c_sdp_W_local_oscillator - c_sdp_W_local_oscillator_fraction - 1; -- = 0 CONSTANT c_sdp_N_ring_nof_mac10g : NATURAL := 3; -- for sdp_station_xsub_ring design. -- Derived constants @@ -130,8 +129,6 @@ PACKAGE sdp_pkg is CONSTANT c_sdp_P_pfb : NATURAL := c_sdp_S_pn / c_sdp_Q_fft; -- = 6 PFB units, for 6 signal input pairs CONSTANT c_sdp_T_adc : TIME := (10**6 / c_sdp_f_adc_MHz) * 1 ps; -- = 5 ns @ 200MHz CONSTANT c_sdp_T_sub : TIME := c_sdp_N_fft * c_sdp_T_adc; -- = 5.12 us @ 200MHz - CONSTANT c_sdp_W_equalizer_product : NATURAL := c_sdp_W_sub_weight + c_sdp_W_subband + c_sdp_W_subband_fraction - 1; -- -1 to skip double sign bit in product - CONSTANT c_sdp_W_bf_product : NATURAL := c_sdp_W_bf_weight + c_sdp_W_subband + c_sdp_W_subband_fraction - 1; -- -1 to skip double sign bit in product CONSTANT c_sdp_X_sq : NATURAL := c_sdp_S_pn * c_sdp_S_pn; -- = 144 CONSTANT c_sdp_block_period : NATURAL := c_sdp_N_fft * 1000 / c_sdp_f_adc_MHz; -- = 5120 [ns] CONSTANT c_sdp_N_beamlets_sdp : NATURAL := c_sdp_N_beamsets * c_sdp_S_sub_bf; -- = 976 @@ -178,11 +175,7 @@ PACKAGE sdp_pkg is true, false, true, 23, c_sdp_W_subband, 1, 24, 1, true, 54, c_sdp_W_statistic_sz, 195313, c_fft_pipeline, c_fft_pipeline, c_fil_ppf_pipeline); -- = c_wpfb_lofar2_subbands_dts_18b - CONSTANT c_sdp_wpfb_complex_subbands : t_wpfb := - (1, c_sdp_N_fft, 0, c_sdp_S_pn, - c_sdp_N_taps, 1, c_sdp_W_adc, 23, c_sdp_W_fir_coef, - true, false, false, 23, c_sdp_W_subband, 1, 24, 1, true, 54, c_sdp_W_statistic_sz, 195313, - c_fft_pipeline, c_fft_pipeline, c_fil_ppf_pipeline); -- = c_wpfb_lofar2_subbands_dts_18b + CONSTANT c_sdp_wpfb_complex_subbands : t_wpfb := func_wpfb_map_real_input_wpfb_parameters_to_complex_input(c_sdp_wpfb_subbands); -- DC gain of WPFB FIR filter obtained from applications/lofar2/model/run_pfir_coef.m using application = 'lofar_subband' -- Not used in RTL, only used in test benches to verify expected suband levels