From 9ec38e9d62539df097bb62c191db96287462a20d Mon Sep 17 00:00:00 2001 From: Daniel van der Schuur <schuur@astron.nl> Date: Tue, 31 Mar 2015 12:41:56 +0000 Subject: [PATCH] -Removed override interface. --- .../src/vhdl/apertif_unb1_correlator.vhd | 10 +- .../apertif_unb1_correlator_vis_offload.vhd | 267 ++---------------- 2 files changed, 26 insertions(+), 251 deletions(-) diff --git a/applications/apertif/designs/apertif_unb1_correlator/src/vhdl/apertif_unb1_correlator.vhd b/applications/apertif/designs/apertif_unb1_correlator/src/vhdl/apertif_unb1_correlator.vhd index fc0c624427..0c434895af 100644 --- a/applications/apertif/designs/apertif_unb1_correlator/src/vhdl/apertif_unb1_correlator.vhd +++ b/applications/apertif/designs/apertif_unb1_correlator/src/vhdl/apertif_unb1_correlator.vhd @@ -820,13 +820,9 @@ BEGIN dp_rst => dp_rst, dp_clk => dp_clk, - - reg_dp_offload_tx_mosi => c_mem_mosi_rst, - reg_dp_offload_tx_miso => OPEN, - reg_dp_offload_tx_hdr_dat_mosi => c_mem_mosi_rst, - reg_dp_offload_tx_hdr_dat_miso => OPEN, - reg_dp_offload_tx_hdr_ovr_mosi => c_mem_mosi_rst, - reg_dp_offload_tx_hdr_ovr_miso => OPEN, + +-- reg_dp_offload_tx_hdr_dat_mosi => reg_dp_offload_tx_hdr_dat_mosi, FIXME - connect to MMM +-- reg_dp_offload_tx_hdr_dat_miso => reg_dp_offload_tx_hdr_dat_miso, snk_in => apertif_unb1_correlator_vis_offload_snk_in, snk_out => apertif_unb1_correlator_vis_offload_snk_out, diff --git a/applications/apertif/designs/apertif_unb1_correlator/src/vhdl/apertif_unb1_correlator_vis_offload.vhd b/applications/apertif/designs/apertif_unb1_correlator/src/vhdl/apertif_unb1_correlator_vis_offload.vhd index beaff3e9fd..fb2890c4b0 100644 --- a/applications/apertif/designs/apertif_unb1_correlator/src/vhdl/apertif_unb1_correlator_vis_offload.vhd +++ b/applications/apertif/designs/apertif_unb1_correlator/src/vhdl/apertif_unb1_correlator_vis_offload.vhd @@ -1,6 +1,6 @@ ------------------------------------------------------------------------------- -- --- Copyright (C) 2013 +-- Copyright (C) 2015 -- ASTRON (Netherlands Institute for Radio Astronomy) <http://www.astron.nl/> -- P.O.Box 2, 7990 AA Dwingeloo, The Netherlands -- @@ -21,6 +21,7 @@ -- Purpose: -- . Wrapper containing dp_offload_tx and design-specific header fields +-- FIXME 2) The *entire* UDP payload should be little endian; including the 'id' and 'flag' fields. LIBRARY IEEE, common_lib, work, mm_lib, unb1_board_lib, dp_lib, tech_tse_lib; USE IEEE.STD_LOGIC_1164.ALL; @@ -40,12 +41,10 @@ ENTITY apertif_unb1_correlator_vis_offload IS dp_rst : IN STD_LOGIC; dp_clk : IN STD_LOGIC; - reg_dp_offload_tx_mosi : IN t_mem_mosi; - reg_dp_offload_tx_miso : OUT t_mem_miso; + reg_dp_offload_tx_mosi : IN t_mem_mosi := c_mem_mosi_rst; + reg_dp_offload_tx_miso : OUT t_mem_miso := c_mem_miso_rst; reg_dp_offload_tx_hdr_dat_mosi : IN t_mem_mosi := c_mem_mosi_rst; reg_dp_offload_tx_hdr_dat_miso : OUT t_mem_miso := c_mem_miso_rst; - reg_dp_offload_tx_hdr_ovr_mosi : IN t_mem_mosi := c_mem_mosi_rst; - reg_dp_offload_tx_hdr_ovr_miso : OUT t_mem_miso := c_mem_miso_rst; snk_in : IN t_dp_sosi; snk_out : OUT t_dp_siso; @@ -61,9 +60,8 @@ END apertif_unb1_correlator_vis_offload; ARCHITECTURE wrap OF apertif_unb1_correlator_vis_offload IS -- Word align + Eth + IP + UDP + ID + Flags --- CONSTANT c_nof_hdr_fields : NATURAL := 1 + 3 + 12 + 4 + 6 + 24*8; -- 218 fields --FIXME With 1b per 32b reg, the input SLV in common_reg_r_w gets too wide for Quartus (7000b) - CONSTANT c_nof_hdr_fields : NATURAL := 1 + 3 + 12 + 4 + 6 + 24*1; -- 218 fields - -- Numer of bytes: 2 + <----42-----> + 16 + 24 -- 2 + 42 + 40 = 84 bytes = 672 bits + CONSTANT c_nof_hdr_fields : NATURAL := 1 + 3 + 12 + 4 + 6 + 8 ; -- 34 fields + -- Numer of bytes: 2 + <-----42-----> + 16 + 8*24/8 -- 2 + 42 + 40 = 84 bytes = 672 bits CONSTANT c_hdr_field_arr : t_common_field_arr(c_nof_hdr_fields-1 DOWNTO 0) := ( ( field_name_pad("word_align" ), " ", 16, field_default(0) ), ( field_name_pad("eth_dst_mac" ), " ", 48, field_default(x"0030482D82A1") ), -- dop17 @@ -86,242 +84,27 @@ ARCHITECTURE wrap OF apertif_unb1_correlator_vis_offload IS ( field_name_pad("udp_total_length" ), " ", 16, field_default(2448) ), ( field_name_pad("udp_checksum" ), " ", 16, field_default(0) ), ( field_name_pad("id_marker_byte" ), " ", 8, field_default(65) ), -- ASCII 'A' - ( field_name_pad("id_format_version" ), " ", 8, field_default(1) ), + ( field_name_pad("id_format_version" ), " ", 8, field_default(2) ), ( field_name_pad("id_beamlet_index" ), " ", 16, field_default(x"BEA1") ), ( field_name_pad("id_channel_index" ), " ", 16, field_default(x"C0A1") ), ( field_name_pad("id_reserved" ), " ", 16, field_default(0) ), ( field_name_pad("id_timestamp" ), " ", 64, field_default(0) ), --- ( field_name_pad("flag_input_0_7_reserved_1" ), " ", 1, field_default(0) ), --FIXME --- ( field_name_pad("flag_input_0_6_reserved_0" ), " ", 1, field_default(0) ), --- ( field_name_pad("flag_input_0_5_telescope_off_target" ), " ", 1, field_default(0) ), --- ( field_name_pad("flag_input_0_4_antenna_failure" ), " ", 1, field_default(0) ), --- ( field_name_pad("flag_input_0_3_noise_source_enabled" ), " ", 1, field_default(0) ), --- ( field_name_pad("flag_input_0_2_uploading_weights" ), " ", 1, field_default(0) ), --- ( field_name_pad("flag_input_0_1_no_signal" ), " ", 1, field_default(0) ), - ( field_name_pad("flag_input_0_0_crc_error" ), " ", 8, field_default(0) ), --- ( field_name_pad("flag_input_1_7_reserved_1" ), " ", 1, field_default(0) ), --- ( field_name_pad("flag_input_1_6_reserved_0" ), " ", 1, field_default(0) ), --- ( field_name_pad("flag_input_1_5_telescope_off_target" ), " ", 1, field_default(0) ), --- ( field_name_pad("flag_input_1_4_antenna_failure" ), " ", 1, field_default(0) ), --- ( field_name_pad("flag_input_1_3_noise_source_enabled" ), " ", 1, field_default(0) ), --- ( field_name_pad("flag_input_1_2_uploading_weights" ), " ", 1, field_default(0) ), --- ( field_name_pad("flag_input_1_1_no_signal" ), " ", 1, field_default(0) ), - ( field_name_pad("flag_input_1_0_crc_error" ), " ", 8, field_default(1) ), --- ( field_name_pad("flag_input_2_7_reserved_1" ), " ", 1, field_default(0) ), --- ( field_name_pad("flag_input_2_6_reserved_0" ), " ", 1, field_default(0) ), --- ( field_name_pad("flag_input_2_5_telescope_off_target" ), " ", 1, field_default(0) ), --- ( field_name_pad("flag_input_2_4_antenna_failure" ), " ", 1, field_default(0) ), --- ( field_name_pad("flag_input_2_3_noise_source_enabled" ), " ", 1, field_default(0) ), --- ( field_name_pad("flag_input_2_2_uploading_weights" ), " ", 1, field_default(0) ), --- ( field_name_pad("flag_input_2_1_no_signal" ), " ", 1, field_default(0) ), - ( field_name_pad("flag_input_2_0_crc_error" ), " ", 8, field_default(2) ), --- ( field_name_pad("flag_input_3_7_reserved_1" ), " ", 1, field_default(0) ), --- ( field_name_pad("flag_input_3_6_reserved_0" ), " ", 1, field_default(0) ), --- ( field_name_pad("flag_input_3_5_telescope_off_target" ), " ", 1, field_default(0) ), --- ( field_name_pad("flag_input_3_4_antenna_failure" ), " ", 1, field_default(0) ), --- ( field_name_pad("flag_input_3_3_noise_source_enabled" ), " ", 1, field_default(0) ), --- ( field_name_pad("flag_input_3_2_uploading_weights" ), " ", 1, field_default(0) ), --- ( field_name_pad("flag_input_3_1_no_signal" ), " ", 1, field_default(0) ), - ( field_name_pad("flag_input_3_0_crc_error" ), " ", 8, field_default(3) ), --- ( field_name_pad("flag_input_4_7_reserved_1" ), " ", 1, field_default(0) ), --- ( field_name_pad("flag_input_4_6_reserved_0" ), " ", 1, field_default(0) ), --- ( field_name_pad("flag_input_4_5_telescope_off_target" ), " ", 1, field_default(0) ), --- ( field_name_pad("flag_input_4_4_antenna_failure" ), " ", 1, field_default(0) ), --- ( field_name_pad("flag_input_4_3_noise_source_enabled" ), " ", 1, field_default(0) ), --- ( field_name_pad("flag_input_4_2_uploading_weights" ), " ", 1, field_default(0) ), --- ( field_name_pad("flag_input_4_1_no_signal" ), " ", 1, field_default(0) ), - ( field_name_pad("flag_input_4_0_crc_error" ), " ", 8, field_default(4) ), --- ( field_name_pad("flag_input_5_7_reserved_1" ), " ", 1, field_default(0) ), --- ( field_name_pad("flag_input_5_6_reserved_0" ), " ", 1, field_default(0) ), --- ( field_name_pad("flag_input_5_5_telescope_off_target" ), " ", 1, field_default(0) ), --- ( field_name_pad("flag_input_5_4_antenna_failure" ), " ", 1, field_default(0) ), --- ( field_name_pad("flag_input_5_3_noise_source_enabled" ), " ", 1, field_default(0) ), --- ( field_name_pad("flag_input_5_2_uploading_weights" ), " ", 1, field_default(0) ), --- ( field_name_pad("flag_input_5_1_no_signal" ), " ", 1, field_default(0) ), - ( field_name_pad("flag_input_5_0_crc_error" ), " ", 8, field_default(5) ), --- ( field_name_pad("flag_input_6_7_reserved_1" ), " ", 1, field_default(0) ), --- ( field_name_pad("flag_input_6_6_reserved_0" ), " ", 1, field_default(0) ), --- ( field_name_pad("flag_input_6_5_telescope_off_target" ), " ", 1, field_default(0) ), --- ( field_name_pad("flag_input_6_4_antenna_failure" ), " ", 1, field_default(0) ), --- ( field_name_pad("flag_input_6_3_noise_source_enabled" ), " ", 1, field_default(0) ), --- ( field_name_pad("flag_input_6_2_uploading_weights" ), " ", 1, field_default(0) ), --- ( field_name_pad("flag_input_6_1_no_signal" ), " ", 1, field_default(0) ), - ( field_name_pad("flag_input_6_0_crc_error" ), " ", 8, field_default(6) ), --- ( field_name_pad("flag_input_7_7_reserved_1" ), " ", 1, field_default(0) ), --- ( field_name_pad("flag_input_7_6_reserved_0" ), " ", 1, field_default(0) ), --- ( field_name_pad("flag_input_7_5_telescope_off_target" ), " ", 1, field_default(0) ), --- ( field_name_pad("flag_input_7_4_antenna_failure" ), " ", 1, field_default(0) ), --- ( field_name_pad("flag_input_7_3_noise_source_enabled" ), " ", 1, field_default(0) ), --- ( field_name_pad("flag_input_7_2_uploading_weights" ), " ", 1, field_default(0) ), --- ( field_name_pad("flag_input_7_1_no_signal" ), " ", 1, field_default(0) ), - ( field_name_pad("flag_input_7_0_crc_error" ), " ", 8, field_default(7) ), --- ( field_name_pad("flag_input_8_7_reserved_1" ), " ", 1, field_default(0) ), --- ( field_name_pad("flag_input_8_6_reserved_0" ), " ", 1, field_default(0) ), --- ( field_name_pad("flag_input_8_5_telescope_off_target" ), " ", 1, field_default(0) ), --- ( field_name_pad("flag_input_8_4_antenna_failure" ), " ", 1, field_default(0) ), --- ( field_name_pad("flag_input_8_3_noise_source_enabled" ), " ", 1, field_default(0) ), --- ( field_name_pad("flag_input_8_2_uploading_weights" ), " ", 1, field_default(0) ), --- ( field_name_pad("flag_input_8_1_no_signal" ), " ", 1, field_default(0) ), - ( field_name_pad("flag_input_8_0_crc_error" ), " ", 8, field_default(8) ), --- ( field_name_pad("flag_input_9_7_reserved_1" ), " ", 1, field_default(0) ), --- ( field_name_pad("flag_input_9_6_reserved_0" ), " ", 1, field_default(0) ), --- ( field_name_pad("flag_input_9_5_telescope_off_target" ), " ", 1, field_default(0) ), --- ( field_name_pad("flag_input_9_4_antenna_failure" ), " ", 1, field_default(0) ), --- ( field_name_pad("flag_input_9_3_noise_source_enabled" ), " ", 1, field_default(0) ), --- ( field_name_pad("flag_input_9_2_uploading_weights" ), " ", 1, field_default(0) ), --- ( field_name_pad("flag_input_9_1_no_signal" ), " ", 1, field_default(0) ), - ( field_name_pad("flag_input_9_0_crc_error" ), " ", 8, field_default(9) ), --- ( field_name_pad("flag_input_10_7_reserved_1" ), " ", 1, field_default(0) ), --- ( field_name_pad("flag_input_10_6_reserved_0" ), " ", 1, field_default(0) ), --- ( field_name_pad("flag_input_10_5_telescope_off_target"), " ", 1, field_default(0) ), --- ( field_name_pad("flag_input_10_4_antenna_failure" ), " ", 1, field_default(0) ), --- ( field_name_pad("flag_input_10_3_noise_source_enabled"), " ", 1, field_default(0) ), --- ( field_name_pad("flag_input_10_2_uploading_weights" ), " ", 1, field_default(0) ), --- ( field_name_pad("flag_input_10_1_no_signal" ), " ", 1, field_default(0) ), - ( field_name_pad("flag_input_10_0_crc_error" ), " ", 8, field_default(10) ), --- ( field_name_pad("flag_input_11_7_reserved_1" ), " ", 1, field_default(0) ), --- ( field_name_pad("flag_input_11_6_reserved_0" ), " ", 1, field_default(0) ), --- ( field_name_pad("flag_input_11_5_telescope_off_target"), " ", 1, field_default(0) ), --- ( field_name_pad("flag_input_11_4_antenna_failure" ), " ", 1, field_default(0) ), --- ( field_name_pad("flag_input_11_3_noise_source_enabled"), " ", 1, field_default(0) ), --- ( field_name_pad("flag_input_11_2_uploading_weights" ), " ", 1, field_default(0) ), --- ( field_name_pad("flag_input_11_1_no_signal" ), " ", 1, field_default(0) ), - ( field_name_pad("flag_input_11_0_crc_error" ), " ", 8, field_default(11) ), --- ( field_name_pad("flag_input_12_7_reserved_1" ), " ", 1, field_default(0) ), --- ( field_name_pad("flag_input_12_6_reserved_0" ), " ", 1, field_default(0) ), --- ( field_name_pad("flag_input_12_5_telescope_off_target"), " ", 1, field_default(0) ), --- ( field_name_pad("flag_input_12_4_antenna_failure" ), " ", 1, field_default(0) ), --- ( field_name_pad("flag_input_12_3_noise_source_enabled"), " ", 1, field_default(0) ), --- ( field_name_pad("flag_input_12_2_uploading_weights" ), " ", 1, field_default(0) ), --- ( field_name_pad("flag_input_12_1_no_signal" ), " ", 1, field_default(0) ), - ( field_name_pad("flag_input_12_0_crc_error" ), " ", 8, field_default(12) ), --- ( field_name_pad("flag_input_13_7_reserved_1" ), " ", 1, field_default(0) ), --- ( field_name_pad("flag_input_13_6_reserved_0" ), " ", 1, field_default(0) ), --- ( field_name_pad("flag_input_13_5_telescope_off_target"), " ", 1, field_default(0) ), --- ( field_name_pad("flag_input_13_4_antenna_failure" ), " ", 1, field_default(0) ), --- ( field_name_pad("flag_input_13_3_noise_source_enabled"), " ", 1, field_default(0) ), --- ( field_name_pad("flag_input_13_2_uploading_weights" ), " ", 1, field_default(0) ), --- ( field_name_pad("flag_input_13_1_no_signal" ), " ", 1, field_default(0) ), - ( field_name_pad("flag_input_13_0_crc_error" ), " ", 8, field_default(13) ), --- ( field_name_pad("flag_input_14_7_reserved_1" ), " ", 1, field_default(0) ), --- ( field_name_pad("flag_input_14_6_reserved_0" ), " ", 1, field_default(0) ), --- ( field_name_pad("flag_input_14_5_telescope_off_target"), " ", 1, field_default(0) ), --- ( field_name_pad("flag_input_14_4_antenna_failure" ), " ", 1, field_default(0) ), --- ( field_name_pad("flag_input_14_3_noise_source_enabled"), " ", 1, field_default(0) ), --- ( field_name_pad("flag_input_14_2_uploading_weights" ), " ", 1, field_default(0) ), --- ( field_name_pad("flag_input_14_1_no_signal" ), " ", 1, field_default(0) ), - ( field_name_pad("flag_input_14_0_crc_error" ), " ", 8, field_default(14) ), --- ( field_name_pad("flag_input_15_7_reserved_1" ), " ", 1, field_default(0) ), --- ( field_name_pad("flag_input_15_6_reserved_0" ), " ", 1, field_default(0) ), --- ( field_name_pad("flag_input_15_5_telescope_off_target"), " ", 1, field_default(0) ), --- ( field_name_pad("flag_input_15_4_antenna_failure" ), " ", 1, field_default(0) ), --- ( field_name_pad("flag_input_15_3_noise_source_enabled"), " ", 1, field_default(0) ), --- ( field_name_pad("flag_input_15_2_uploading_weights" ), " ", 1, field_default(0) ), --- ( field_name_pad("flag_input_15_1_no_signal" ), " ", 1, field_default(0) ), - ( field_name_pad("flag_input_15_0_crc_error" ), " ", 8, field_default(15) ), --- ( field_name_pad("flag_input_16_7_reserved_1" ), " ", 1, field_default(0) ), --- ( field_name_pad("flag_input_16_6_reserved_0" ), " ", 1, field_default(0) ), --- ( field_name_pad("flag_input_16_5_telescope_off_target"), " ", 1, field_default(0) ), --- ( field_name_pad("flag_input_16_4_antenna_failure" ), " ", 1, field_default(0) ), --- ( field_name_pad("flag_input_16_3_noise_source_enabled"), " ", 1, field_default(0) ), --- ( field_name_pad("flag_input_16_2_uploading_weights" ), " ", 1, field_default(0) ), --- ( field_name_pad("flag_input_16_1_no_signal" ), " ", 1, field_default(0) ), - ( field_name_pad("flag_input_16_0_crc_error" ), " ", 8, field_default(16) ), --- ( field_name_pad("flag_input_17_7_reserved_1" ), " ", 1, field_default(0) ), --- ( field_name_pad("flag_input_17_6_reserved_0" ), " ", 1, field_default(0) ), --- ( field_name_pad("flag_input_17_5_telescope_off_target"), " ", 1, field_default(0) ), --- ( field_name_pad("flag_input_17_4_antenna_failure" ), " ", 1, field_default(0) ), --- ( field_name_pad("flag_input_17_3_noise_source_enabled"), " ", 1, field_default(0) ), --- ( field_name_pad("flag_input_17_2_uploading_weights" ), " ", 1, field_default(0) ), --- ( field_name_pad("flag_input_17_1_no_signal" ), " ", 1, field_default(0) ), - ( field_name_pad("flag_input_17_0_crc_error" ), " ", 8, field_default(17) ), --- ( field_name_pad("flag_input_18_7_reserved_1" ), " ", 1, field_default(0) ), --- ( field_name_pad("flag_input_18_6_reserved_0" ), " ", 1, field_default(0) ), --- ( field_name_pad("flag_input_18_5_telescope_off_target"), " ", 1, field_default(0) ), --- ( field_name_pad("flag_input_18_4_antenna_failure" ), " ", 1, field_default(0) ), --- ( field_name_pad("flag_input_18_3_noise_source_enabled"), " ", 1, field_default(0) ), --- ( field_name_pad("flag_input_18_2_uploading_weights" ), " ", 1, field_default(0) ), --- ( field_name_pad("flag_input_18_1_no_signal" ), " ", 1, field_default(0) ), - ( field_name_pad("flag_input_18_0_crc_error" ), " ", 8, field_default(18) ), --- ( field_name_pad("flag_input_19_7_reserved_1" ), " ", 1, field_default(0) ), --- ( field_name_pad("flag_input_19_6_reserved_0" ), " ", 1, field_default(0) ), --- ( field_name_pad("flag_input_19_5_telescope_off_target"), " ", 1, field_default(0) ), --- ( field_name_pad("flag_input_19_4_antenna_failure" ), " ", 1, field_default(0) ), --- ( field_name_pad("flag_input_19_3_noise_source_enabled"), " ", 1, field_default(0) ), --- ( field_name_pad("flag_input_19_2_uploading_weights" ), " ", 1, field_default(0) ), --- ( field_name_pad("flag_input_19_1_no_signal" ), " ", 1, field_default(0) ), - ( field_name_pad("flag_input_19_0_crc_error" ), " ", 8, field_default(19) ), --- ( field_name_pad("flag_input_20_7_reserved_1" ), " ", 1, field_default(0) ), --- ( field_name_pad("flag_input_20_6_reserved_0" ), " ", 1, field_default(0) ), --- ( field_name_pad("flag_input_20_5_telescope_off_target"), " ", 1, field_default(0) ), --- ( field_name_pad("flag_input_20_4_antenna_failure" ), " ", 1, field_default(0) ), --- ( field_name_pad("flag_input_20_3_noise_source_enabled"), " ", 1, field_default(0) ), --- ( field_name_pad("flag_input_20_2_uploading_weights" ), " ", 1, field_default(0) ), --- ( field_name_pad("flag_input_20_1_no_signal" ), " ", 1, field_default(0) ), - ( field_name_pad("flag_input_20_0_crc_error" ), " ", 8, field_default(20) ), --- ( field_name_pad("flag_input_21_7_reserved_1" ), " ", 1, field_default(0) ), --- ( field_name_pad("flag_input_21_6_reserved_0" ), " ", 1, field_default(0) ), --- ( field_name_pad("flag_input_21_5_telescope_off_target"), " ", 1, field_default(0) ), --- ( field_name_pad("flag_input_21_4_antenna_failure" ), " ", 1, field_default(0) ), --- ( field_name_pad("flag_input_21_3_noise_source_enabled"), " ", 1, field_default(0) ), --- ( field_name_pad("flag_input_21_2_uploading_weights" ), " ", 1, field_default(0) ), --- ( field_name_pad("flag_input_21_1_no_signal" ), " ", 1, field_default(0) ), - ( field_name_pad("flag_input_21_0_crc_error" ), " ", 8, field_default(21) ), --- ( field_name_pad("flag_input_22_7_reserved_1" ), " ", 1, field_default(0) ), --- ( field_name_pad("flag_input_22_6_reserved_0" ), " ", 1, field_default(0) ), --- ( field_name_pad("flag_input_22_5_telescope_off_target"), " ", 1, field_default(0) ), --- ( field_name_pad("flag_input_22_4_antenna_failure" ), " ", 1, field_default(0) ), --- ( field_name_pad("flag_input_22_3_noise_source_enabled"), " ", 1, field_default(0) ), --- ( field_name_pad("flag_input_22_2_uploading_weights" ), " ", 1, field_default(0) ), --- ( field_name_pad("flag_input_22_1_no_signal" ), " ", 1, field_default(0) ), - ( field_name_pad("flag_input_22_0_crc_error" ), " ", 8, field_default(22) ), --- ( field_name_pad("flag_input_23_7_reserved_1" ), " ", 1, field_default(0) ), --- ( field_name_pad("flag_input_23_6_reserved_0" ), " ", 1, field_default(0) ), --- ( field_name_pad("flag_input_23_5_telescope_off_target"), " ", 1, field_default(0) ), --- ( field_name_pad("flag_input_23_4_antenna_failure" ), " ", 1, field_default(0) ), --- ( field_name_pad("flag_input_23_3_noise_source_enabled"), " ", 1, field_default(0) ), --- ( field_name_pad("flag_input_23_2_uploading_weights" ), " ", 1, field_default(0) ), --- ( field_name_pad("flag_input_23_1_no_signal" ), " ", 1, field_default(0) ), - ( field_name_pad("flag_input_23_0_crc_error" ), " ", 8, field_default(23) ) ); + ( field_name_pad("flags_crc_error" ), " ", 24, field_default(0) ), + ( field_name_pad("flags_no_input_present" ), " ", 24, field_default(0) ), + ( field_name_pad("flags_uploading_weights" ), " ", 24, field_default(0) ), + ( field_name_pad("flags_noise_source_enabled" ), " ", 24, field_default(0) ), + ( field_name_pad("flags_telescope_pointing_off" ), " ", 24, field_default(0) ), + ( field_name_pad("flags_antenna_broken" ), " ", 24, field_default(0) ), + ( field_name_pad("flags_reserved_0" ), " ", 24, field_default(0) ), + ( field_name_pad("flags_reserved_1" ), " ", 24, field_default(0) ) ); + + CONSTANT c_hdr_field_sel : STD_LOGIC_VECTOR(c_nof_hdr_fields-1 DOWNTO 0) := "1101" & -- Eth header fields: eth_src_mac from data path (others use MM default value). + "111111111101" & -- IP header fields: ip_src_addr from data path (others use MM default value). + "1111" & -- UDP header fields +-- "110010" & -- ID header fields: MM controlled: marker byte, format version, reserved. From data path: beamlet+channel index and timestamp. + "111110" & -- ID FIXME: Now using defaults for beamlet+channel indices for testing. + "00111111"; -- Flag fields: crc_error and no_input_present from data path, others via MM. - CONSTANT c_nof_id_fields : NATURAL := 6; --- CONSTANT c_nof_flags_per_input : NATURAL := 8;--FIXME - CONSTANT c_nof_flags_per_input : NATURAL := 1; - - CONSTANT c_hdr_field_id_ovr_init : STD_LOGIC_VECTOR(c_nof_id_fields-1 DOWNTO 0) := "111110"; --FIXME --- CONSTANT c_hdr_field_id_ovr_init : STD_LOGIC_VECTOR(c_nof_id_fields-1 DOWNTO 0) := "110010"; -- MM controlled: marker byte, format version, reserved. From data path: beamlet+channel index and timestamp. - --- CONSTANT c_hdr_field_flags_ovr_init : STD_LOGIC_VECTOR(c_nof_flags_per_input-1 DOWNTO 0) := "11111100"; -- Flag fields 7..2 are MM controlled, fields 1..0 come from the data path. --FIXME - CONSTANT c_hdr_field_flags_ovr_init : STD_LOGIC_VECTOR(c_nof_flags_per_input-1 DOWNTO 0) := "1"; -- All 8 flags combined in one register for now. - - CONSTANT c_hdr_field_ovr_init : STD_LOGIC_VECTOR(c_nof_hdr_fields-1 DOWNTO 0) := "1101" & -- Eth header fields: eth_src_mac from data path (others use MM default value). - "111111111101" & -- IP header fields: ip_src_addr from data path (others use MM default value). - "1111"& -- UDP header fields - c_hdr_field_id_ovr_init & -- ID header fields - c_hdr_field_flags_ovr_init & -- Flags input 0 - c_hdr_field_flags_ovr_init & -- Flags input 1 - c_hdr_field_flags_ovr_init & -- Flags input 2 - c_hdr_field_flags_ovr_init & -- Flags input 3 - c_hdr_field_flags_ovr_init & -- Flags input 4 - c_hdr_field_flags_ovr_init & -- Flags input 5 - c_hdr_field_flags_ovr_init & -- Flags input 6 - c_hdr_field_flags_ovr_init & -- Flags input 7 - c_hdr_field_flags_ovr_init & -- Flags input 8 - c_hdr_field_flags_ovr_init & -- Flags input 9 - c_hdr_field_flags_ovr_init & -- Flags input 10 - c_hdr_field_flags_ovr_init & -- Flags input 11 - c_hdr_field_flags_ovr_init & -- Flags input 12 - c_hdr_field_flags_ovr_init & -- Flags input 13 - c_hdr_field_flags_ovr_init & -- Flags input 14 - c_hdr_field_flags_ovr_init & -- Flags input 15 - c_hdr_field_flags_ovr_init & -- Flags input 16 - c_hdr_field_flags_ovr_init & -- Flags input 17 - c_hdr_field_flags_ovr_init & -- Flags input 18 - c_hdr_field_flags_ovr_init & -- Flags input 19 - c_hdr_field_flags_ovr_init & -- Flags input 20 - c_hdr_field_flags_ovr_init & -- Flags input 21 - c_hdr_field_flags_ovr_init & -- Flags input 22 - c_hdr_field_flags_ovr_init ; -- Flags input 23 CONSTANT c_nof_hdr_words : NATURAL := field_slv_len(c_hdr_field_arr)/c_tech_tse_data_w; CONSTANT c_nof_offload_streams : NATURAL := 1; @@ -365,9 +148,8 @@ BEGIN g_def_nof_words_per_block => c_nof_words_per_block, g_max_nof_blocks_per_packet => c_nof_blocks_per_packet, g_def_nof_blocks_per_packet => c_nof_blocks_per_packet, - g_output_fifo_depth => c_nof_words_per_block+c_nof_hdr_words, g_hdr_field_arr => c_hdr_field_arr, - g_hdr_field_ovr_init => c_hdr_field_ovr_init + g_hdr_field_sel => c_hdr_field_sel ) PORT MAP ( mm_rst => mm_rst, @@ -381,9 +163,6 @@ BEGIN reg_hdr_dat_mosi => reg_dp_offload_tx_hdr_dat_mosi, reg_hdr_dat_miso => reg_dp_offload_tx_hdr_dat_miso, - - reg_hdr_ovr_mosi => reg_dp_offload_tx_hdr_ovr_mosi, - reg_hdr_ovr_miso => reg_dp_offload_tx_hdr_ovr_miso, snk_in_arr => dp_offload_tx_snk_in_arr, snk_out_arr => dp_offload_tx_snk_out_arr, -- GitLab