From 317389b7897ff31500ce80e554fa68f48287e372 Mon Sep 17 00:00:00 2001 From: Eric Kooistra <kooistra@astron.nl> Date: Tue, 29 Apr 2025 11:02:31 +0200 Subject: [PATCH] Limit dump_start_page and dump_nof_pages to fit nof_pages_in_buffer. --- .../lofar2/libraries/sdp/src/vhdl/sdp_tbuf_reader.vhd | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/applications/lofar2/libraries/sdp/src/vhdl/sdp_tbuf_reader.vhd b/applications/lofar2/libraries/sdp/src/vhdl/sdp_tbuf_reader.vhd index f417a36f52..df2f73a7d7 100644 --- a/applications/lofar2/libraries/sdp/src/vhdl/sdp_tbuf_reader.vhd +++ b/applications/lofar2/libraries/sdp/src/vhdl/sdp_tbuf_reader.vhd @@ -337,9 +337,15 @@ begin v.dump_start_rsn := reg_dump_start_rsn_rw; v.dump_start_page := reg_dump_start_page_rw; if v.dump_start_page >= c_nof_pages_in_buffer then + -- Force to recovery value within buffer range, this will lead to read RSN errors due to mismatch with + -- dump_start_rsn. v.dump_start_page := 0; end if; v.dump_nof_pages := reg_dump_nof_pages_rw; + if v.dump_nof_pages >= c_nof_pages_in_buffer then + -- Limit to buffer size + v.dump_nof_pages := c_nof_pages_in_buffer; + end if; if dump_en = '1' then v.latency_cnt := c_start_latency; v.fsm := s_dump_start; -- GitLab