From c5cd568df90487867fea888a1690c1cde416f67b Mon Sep 17 00:00:00 2001 From: Erik Kooistra <kooistra@astron.nl> Date: Tue, 24 Jul 2018 10:07:18 +0000 Subject: [PATCH] Store 64 visibility packets in DB output to fit all channels for one beamlet (as supported in r 18616 apertif_unb1_correlator_full). --- .../vhdl/node_apertif_unb1_correlator_output.vhd | 13 +++++++++++-- 1 file changed, 11 insertions(+), 2 deletions(-) diff --git a/applications/apertif/designs/apertif_unb1_correlator/src/vhdl/node_apertif_unb1_correlator_output.vhd b/applications/apertif/designs/apertif_unb1_correlator/src/vhdl/node_apertif_unb1_correlator_output.vhd index 16d068a68d..fcf3739739 100644 --- a/applications/apertif/designs/apertif_unb1_correlator/src/vhdl/node_apertif_unb1_correlator_output.vhd +++ b/applications/apertif/designs/apertif_unb1_correlator/src/vhdl/node_apertif_unb1_correlator_output.vhd @@ -91,12 +91,21 @@ ARCHITECTURE str OF node_apertif_unb1_correlator_output IS -- Output DB CONSTANT c_vis_header_size : NATURAL := 21; -- (pad(2) + eth(14) + ip(20) + udp(8) + app_id(16) + app_flags(24)) / 4 = 84 bytes / 4 = 21 words CONSTANT c_vis_payload_size : NATURAL := c_nof_complex*g_nof_visibilities; - CONSTANT c_vis_packet_size : NATURAL := c_vis_header_size + c_vis_payload_size; + CONSTANT c_vis_packet_size : NATURAL := c_vis_header_size + c_vis_payload_size; -- = 21 + 600 = 621 CONSTANT c_vis_nof_packets_per_sync : NATURAL := g_nof_beamlets * g_nof_channels; CONSTANT c_vis_nof_data_per_sync : NATURAL := c_vis_nof_packets_per_sync * c_vis_packet_size; - CONSTANT c_db_nof_data_hw : NATURAL := 1024; -- on HW at least 1 packet (21 header + 600 payload words) + CONSTANT c_vis_nof_data_per_beamlet : NATURAL := g_nof_channels * c_vis_packet_size; -- = 64 * 621 = 39744 + CONSTANT c_db_nof_data_hw : NATURAL := ceil_value(c_vis_nof_data_per_beamlet, 1024); -- = 39 * 1024 = 39936, on HW at least 64 packets to fit all channels for one beamlet + --CONSTANT c_db_nof_data_hw : NATURAL := ceil_value(c_vis_packet_size, 1024); -- = 1024, on HW at least 1 packet (21 header + 600 payload words) CONSTANT c_db_nof_data_sim : NATURAL := c_vis_nof_data_per_sync; -- in sim at least one sync interval CONSTANT c_db_nof_data : NATURAL := sel_a_b(g_sim, c_db_nof_data_sim, c_db_nof_data_hw); + + -- load tb_apertif_unb1_correlator_full, as 8, to see value of dbg_c_db_nof_data_hw on hardware + SIGNAL dbg_c_vis_packet_size : NATURAL := c_vis_packet_size; + SIGNAL dbg_c_vis_nof_data_per_beamlet : NATURAL := c_vis_nof_data_per_beamlet; + SIGNAL dbg_c_db_nof_data_hw : NATURAL := c_db_nof_data_hw; + SIGNAL dbg_c_db_nof_data_sim : NATURAL := c_db_nof_data_sim; + SIGNAL dbg_c_db_nof_data : NATURAL := c_db_nof_data; SIGNAL db_sosi_arr : t_dp_sosi_arr(0 DOWNTO 0); SIGNAL db_data : STD_LOGIC_VECTOR(c_32-1 DOWNTO 0); -- GitLab