From 400e4bfffbd9fc71596798347fdf3496e9a64e33 Mon Sep 17 00:00:00 2001 From: Eric Kooistra <kooistra@astron.nl> Date: Thu, 10 Feb 2022 17:12:16 +0100 Subject: [PATCH] Corrected step increment MOD N_sub in func_sdp_step_crosslets_info(). Currently only used in tb, but should also work fine in synth. --- applications/lofar2/libraries/sdp/src/vhdl/sdp_pkg.vhd | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/applications/lofar2/libraries/sdp/src/vhdl/sdp_pkg.vhd b/applications/lofar2/libraries/sdp/src/vhdl/sdp_pkg.vhd index 512cdebae0..a1eede5e5e 100644 --- a/applications/lofar2/libraries/sdp/src/vhdl/sdp_pkg.vhd +++ b/applications/lofar2/libraries/sdp/src/vhdl/sdp_pkg.vhd @@ -849,7 +849,8 @@ PACKAGE BODY sdp_pkg IS VARIABLE v_info : t_sdp_crosslets_info := info_rec; BEGIN FOR I IN 0 TO c_sdp_crosslets_info_nof_offsets-1 LOOP -- step all offsets - v_info.offset_arr(I) := v_info.offset_arr(I) + v_info.step; + -- c_sdp_N_sub = 512 is power of 2, so MOD should be fine in synthesis (simpel skips MSbits, no need for division). + v_info.offset_arr(I) := (v_info.offset_arr(I) + v_info.step) MOD c_sdp_N_sub; END LOOP; RETURN v_info; END func_sdp_step_crosslets_info; -- GitLab