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 fbb7769837f8bbb198348e6c095f8683c7f85f6b..adeff818685d1e8981dcab8637a92189647eae48 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 @@ -50,10 +50,9 @@ USE bf_lib.bf_pkg.ALL; -- Remarks: -- . The BG version (g_use_bg=TRUE) functionally works. -- . The 10G-input version (no BG) needs the DDR3 transpose in fn_beamformer to be in place. --- . Does the WPFB require SOP/EOP at its inputs? If so, we need to (re)set packet boundaries in the incoming stream of beamlet samples. --FIXME -- . fn_beamformer now outputs 176/256 beamlets but this might be increased to 192/256 (9.6Gbps) again as its 10G issue is solved. -- . URGENT: --- . We need 9b filter coefficients before we can synthesize! --FIXME +-- . We need 9b filter coefficients before we can synthesize including the mesh terminals! --FIXME -- . Note: the 18b coeffieciens *do* fit and meet timing with only BG (without 10G RX stage). -- . Other: -- . Synthesis incl. mesh terminals went OK but used 96% of the logic resources. @@ -179,7 +178,7 @@ ARCHITECTURE str OF apertif_unb1_correlator IS CONSTANT c_wpfb_nof_taps : NATURAL := 8; -- = 8 nof taps n the filter CONSTANT c_wpfb_coef_w : NATURAL := 18; --FIXME: 9b does not work; needs updated coefficient files. CONSTANT c_wpfb_in_dat_w : NATURAL := 8; --FIXME: should be 6b at some point - CONSTANT c_wpfb_out_dat_w : NATURAL := 9; --FIXME: Could be wider but is currently 9b to avoid the need for quantization: 9b -> mult -> 18b -> accu -> 32b at the corr output. + CONSTANT c_wpfb_out_dat_w : NATURAL := 14; --FIXME: Could be wider but is currently 9b to avoid the need for quantization: 9b -> mult -> 18b -> accu -> 32b at the corr output. CONSTANT c_wpfb_use_separate : BOOLEAN := FALSE; -- = false for complex input, true for two real inputs CONSTANT c_wpfb_use_reorder : BOOLEAN := FALSE;