From 03facedeb80038af7063955354458b10f1ae92f4 Mon Sep 17 00:00:00 2001 From: Erik Kooistra <kooistra@astron.nl> Date: Fri, 30 Nov 2018 08:27:17 +0000 Subject: [PATCH] Explained that use of separate shiftram MM control is ok. Use default record bs_sosi assignment to nxt_dp_shiftram_src_out_timestamped_arr(i). --- .../src/vhdl/unb1_bn_capture_input.vhd | 17 ++++++++--------- 1 file changed, 8 insertions(+), 9 deletions(-) diff --git a/boards/uniboard1/designs/unb1_bn_capture/src/vhdl/unb1_bn_capture_input.vhd b/boards/uniboard1/designs/unb1_bn_capture/src/vhdl/unb1_bn_capture_input.vhd index 6dcef5f21f..d60bc7f632 100644 --- a/boards/uniboard1/designs/unb1_bn_capture/src/vhdl/unb1_bn_capture_input.vhd +++ b/boards/uniboard1/designs/unb1_bn_capture/src/vhdl/unb1_bn_capture_input.vhd @@ -270,10 +270,13 @@ BEGIN -- . dp_shiftram uses DOWNTO range arrays internally vs. TO ranges used here. -- func_dp_stream_arr_reverse_range is used to reverse the ranges so -- the MM control stream indices are correct. + -- . The 4 streams are treated individually by the shiftram. This is fine, + -- because it leaves full control to the LCU via the MM interface. + -- For Apertif typically the LCU will write the same delay setting to all + -- 4 streams and in fact to all 64 streams in the PAF. + -- . The written delay setting must be applied synchronously at the sync, this + -- is ensured by g_use_sync_in=TRUE and bs_sosi.sync. ----------------------------------------------------------------------------- - -- FIXME: The 4 streams are treated individually by the shiftram. Would be better to - -- consider them as one stream so we are sure they all receive the same - -- delay setting. u_dp_shiftram : ENTITY dp_lib.dp_shiftram GENERIC MAP ( g_nof_streams => g_ai.nof_sp, -- 4 signal paths @@ -348,12 +351,8 @@ BEGIN gen_sosi_ctrl : FOR I IN 0 TO g_ai.nof_sp-1 GENERATE p_sosi : PROCESS(dp_shiftram_src_out_arr, bs_sosi) BEGIN - -- BS sets the sync, bsn[], valid, sop and eop for all signal paths - nxt_dp_shiftram_src_out_timestamped_arr(I).sync <= bs_sosi.sync; - nxt_dp_shiftram_src_out_timestamped_arr(I).bsn <= bs_sosi.bsn; - nxt_dp_shiftram_src_out_timestamped_arr(I).valid <= bs_sosi.valid; - nxt_dp_shiftram_src_out_timestamped_arr(I).sop <= bs_sosi.sop; - nxt_dp_shiftram_src_out_timestamped_arr(I).eop <= bs_sosi.eop; + -- BS sets the sosi sync, bsn, valid, sop and eop for all signal paths + nxt_dp_shiftram_src_out_timestamped_arr(I) <= bs_sosi; nxt_dp_shiftram_src_out_timestamped_arr(I).data <= dp_shiftram_src_out_arr(I).data; END PROCESS; END GENERATE; -- GitLab