diff --git a/applications/lofar2/libraries/sdp/src/vhdl/sdp_statistics_offload.vhd b/applications/lofar2/libraries/sdp/src/vhdl/sdp_statistics_offload.vhd index bd5b00ce8c6788396ff993949fd530c6d3c823ab..8883efbc9c969ca586a4e01e0581f70c9198f45a 100644 --- a/applications/lofar2/libraries/sdp/src/vhdl/sdp_statistics_offload.vhd +++ b/applications/lofar2/libraries/sdp/src/vhdl/sdp_statistics_offload.vhd @@ -333,15 +333,17 @@ BEGIN END PROCESS; -- Derive and pipeline dynamic parameters that depend on node id and MM, but are otherwise fixed + -- . c_sdp_offload_time = 600000 * 5 ns = 3 ms, so max gn_index = 31 starts + -- after 93 ms, to just fit within XST T_int min is 100 ms. p_reg_parameters : PROCESS(dp_clk) BEGIN IF rising_edge(dp_clk) THEN - p.gn_index <= gn_index; + p.gn_index <= gn_index; -- gn_index is in 0:31 range p.pn_index <= func_sdp_gn_index_to_pn_index(p.gn_index); p.offset_rn <= TO_UINT(ring_info.O_rn); p.rn_index <= p.gn_index - p.offset_rn; p.local_si_offset <= p.pn_index * c_sdp_S_pn; - p.nof_cycles_dly <= p.gn_index * g_offload_time; + p.nof_cycles_dly <= p.gn_index * g_offload_time; -- max gn_index = 31 p.nof_rn <= TO_UINT(ring_info.N_rn); p.nof_used_P_sq <= smallest(p.nof_rn / 2 + 1, g_P_sq); p.remote_rn <= func_ring_nof_hops_to_source_rn(r.instance_count, p.rn_index, p.nof_rn, g_crosslets_direction);