From 166215f4e63a2a10fab6e2a83e343ff9a9c296e8 Mon Sep 17 00:00:00 2001 From: Reinier van der Walle <walle@astron.nl> Date: Fri, 7 May 2021 18:06:07 +0200 Subject: [PATCH] enabled 1GbE UDP offload --- .../tb_lofar2_unb2b_sdp_station_fsub.vhd | 7 ++ .../src/vhdl/lofar2_unb2b_sdp_station.vhd | 103 +++++++++--------- 2 files changed, 59 insertions(+), 51 deletions(-) diff --git a/applications/lofar2/designs/lofar2_unb2b_sdp_station/revisions/lofar2_unb2b_sdp_station_fsub/tb_lofar2_unb2b_sdp_station_fsub.vhd b/applications/lofar2/designs/lofar2_unb2b_sdp_station/revisions/lofar2_unb2b_sdp_station_fsub/tb_lofar2_unb2b_sdp_station_fsub.vhd index 1a467b6b49..71bdc1825f 100644 --- a/applications/lofar2/designs/lofar2_unb2b_sdp_station/revisions/lofar2_unb2b_sdp_station_fsub/tb_lofar2_unb2b_sdp_station_fsub.vhd +++ b/applications/lofar2/designs/lofar2_unb2b_sdp_station/revisions/lofar2_unb2b_sdp_station_fsub/tb_lofar2_unb2b_sdp_station_fsub.vhd @@ -112,6 +112,8 @@ ARCHITECTURE tb OF tb_lofar2_unb2b_sdp_station_fsub IS CONSTANT c_mm_file_reg_bsn_scheduler_wg : STRING := mmf_unb_file_prefix(c_unb_nr, c_node_nr) & "REG_BSN_SCHEDULER"; CONSTANT c_mm_file_reg_diag_wg : STRING := mmf_unb_file_prefix(c_unb_nr, c_node_nr) & "REG_WG"; CONSTANT c_mm_file_ram_st_sst : STRING := mmf_unb_file_prefix(c_unb_nr, c_node_nr) & "RAM_ST_SST"; + CONSTANT c_mm_file_reg_stat_enable : STRING := mmf_unb_file_prefix(c_unb_nr, c_node_nr) & "REG_STAT_ENABLE"; + CONSTANT c_mm_file_reg_stat_hdr_info : STRING := mmf_unb_file_prefix(c_unb_nr, c_node_nr) & "REG_STAT_HDR_INFO"; -- Tb SIGNAL tb_end : STD_LOGIC := '0'; @@ -287,6 +289,11 @@ BEGIN "UNSIGNED", rd_data, ">=", c_nof_block_per_sync*3, -- this is the wait until condition c_sdp_T_sub, tb_clk); + ---------------------------------------------------------------------------- + -- Offload enable + ---------------------------------------------------------------------------- + mmf_mm_bus_wr(c_mm_file_reg_stat_enable, 0, 1, tb_clk); + --------------------------------------------------------------------------- -- Read subband statistics --------------------------------------------------------------------------- diff --git a/applications/lofar2/designs/lofar2_unb2b_sdp_station/src/vhdl/lofar2_unb2b_sdp_station.vhd b/applications/lofar2/designs/lofar2_unb2b_sdp_station/src/vhdl/lofar2_unb2b_sdp_station.vhd index ae170dbba8..57018b560b 100644 --- a/applications/lofar2/designs/lofar2_unb2b_sdp_station/src/vhdl/lofar2_unb2b_sdp_station.vhd +++ b/applications/lofar2/designs/lofar2_unb2b_sdp_station/src/vhdl/lofar2_unb2b_sdp_station.vhd @@ -345,8 +345,8 @@ ARCHITECTURE str OF lofar2_unb2b_sdp_station IS SIGNAL reg_stat_hdr_dat_miso : t_mem_miso; -- Statistics - SIGNAL udp_tx_sosi_arr : t_dp_sosi_arr(c_udp_offload_nof_streams-1 DOWNTO 0) := (OTHERS=>c_dp_sosi_rst); - SIGNAL udp_tx_siso_arr : t_dp_siso_arr(c_udp_offload_nof_streams-1 DOWNTO 0); + SIGNAL udp_tx_sosi_arr : t_dp_sosi_arr(c_udp_offload_nof_streams-1 DOWNTO 0) := (OTHERS => c_dp_sosi_rst); + SIGNAL udp_tx_siso_arr : t_dp_siso_arr(c_udp_offload_nof_streams-1 DOWNTO 0) := (OTHERS => c_dp_siso_rdy); ---------------------------------------------- -- 10 GbE @@ -414,21 +414,22 @@ BEGIN ----------------------------------------------------------------------------- u_ctrl : ENTITY unb2b_board_lib.ctrl_unb2b_board GENERIC MAP ( - g_sim => g_sim, - g_technology => g_technology, - g_design_name => g_design_name, - g_design_note => g_design_note, - g_stamp_date => g_stamp_date, - g_stamp_time => g_stamp_time, - g_revision_id => g_revision_id, - g_fw_version => c_fw_version, - g_mm_clk_freq => c_mm_clk_freq, - g_eth_clk_freq => c_unb2b_board_eth_clk_freq_125M, - g_aux => c_unb2b_board_aux, - g_factory_image => g_factory_image, - g_protect_addr_range => g_protect_addr_range, - g_dp_clk_freq => c_unb2b_board_ext_clk_freq_200M, - g_dp_clk_use_pll => FALSE, + g_sim => g_sim, + g_technology => g_technology, + g_design_name => g_design_name, + g_design_note => g_design_note, + g_stamp_date => g_stamp_date, + g_stamp_time => g_stamp_time, + g_revision_id => g_revision_id, + g_fw_version => c_fw_version, + g_mm_clk_freq => c_mm_clk_freq, + g_eth_clk_freq => c_unb2b_board_eth_clk_freq_125M, + g_aux => c_unb2b_board_aux, + g_factory_image => g_factory_image, + g_protect_addr_range => g_protect_addr_range, + g_dp_clk_freq => c_unb2b_board_ext_clk_freq_200M, + g_dp_clk_use_pll => FALSE, + g_udp_offload => TRUE, g_udp_offload_nof_streams => c_eth_nof_udp_ports ) PORT MAP ( @@ -560,42 +561,42 @@ BEGIN pout_wdi => pout_wdi, -- mm interfaces for control - reg_wdi_mosi => reg_wdi_mosi, - reg_wdi_miso => reg_wdi_miso, - reg_unb_system_info_mosi => reg_unb_system_info_mosi, - reg_unb_system_info_miso => reg_unb_system_info_miso, - rom_unb_system_info_mosi => rom_unb_system_info_mosi, - rom_unb_system_info_miso => rom_unb_system_info_miso, - reg_unb_sens_mosi => reg_unb_sens_mosi, - reg_unb_sens_miso => reg_unb_sens_miso, - reg_unb_pmbus_mosi => reg_unb_pmbus_mosi, - reg_unb_pmbus_miso => reg_unb_pmbus_miso, - reg_fpga_temp_sens_mosi => reg_fpga_temp_sens_mosi, - reg_fpga_temp_sens_miso => reg_fpga_temp_sens_miso, + reg_wdi_mosi => reg_wdi_mosi, + reg_wdi_miso => reg_wdi_miso, + reg_unb_system_info_mosi => reg_unb_system_info_mosi, + reg_unb_system_info_miso => reg_unb_system_info_miso, + rom_unb_system_info_mosi => rom_unb_system_info_mosi, + rom_unb_system_info_miso => rom_unb_system_info_miso, + reg_unb_sens_mosi => reg_unb_sens_mosi, + reg_unb_sens_miso => reg_unb_sens_miso, + reg_unb_pmbus_mosi => reg_unb_pmbus_mosi, + reg_unb_pmbus_miso => reg_unb_pmbus_miso, + reg_fpga_temp_sens_mosi => reg_fpga_temp_sens_mosi, + reg_fpga_temp_sens_miso => reg_fpga_temp_sens_miso, reg_fpga_voltage_sens_mosi => reg_fpga_voltage_sens_mosi, reg_fpga_voltage_sens_miso => reg_fpga_voltage_sens_miso, - reg_ppsh_mosi => reg_ppsh_mosi, - reg_ppsh_miso => reg_ppsh_miso, - eth1g_mm_rst => eth1g_mm_rst, - eth1g_tse_mosi => eth1g_tse_mosi, - eth1g_tse_miso => eth1g_tse_miso, - eth1g_reg_mosi => eth1g_reg_mosi, - eth1g_reg_miso => eth1g_reg_miso, - eth1g_reg_interrupt => eth1g_reg_interrupt, - eth1g_ram_mosi => eth1g_ram_mosi, - eth1g_ram_miso => eth1g_ram_miso, - reg_dpmm_data_mosi => reg_dpmm_data_mosi, - reg_dpmm_data_miso => reg_dpmm_data_miso, - reg_dpmm_ctrl_mosi => reg_dpmm_ctrl_mosi, - reg_dpmm_ctrl_miso => reg_dpmm_ctrl_miso, - reg_mmdp_data_mosi => reg_mmdp_data_mosi, - reg_mmdp_data_miso => reg_mmdp_data_miso, - reg_mmdp_ctrl_mosi => reg_mmdp_ctrl_mosi, - reg_mmdp_ctrl_miso => reg_mmdp_ctrl_miso, - reg_epcs_mosi => reg_epcs_mosi, - reg_epcs_miso => reg_epcs_miso, - reg_remu_mosi => reg_remu_mosi, - reg_remu_miso => reg_remu_miso, + reg_ppsh_mosi => reg_ppsh_mosi, + reg_ppsh_miso => reg_ppsh_miso, + eth1g_mm_rst => eth1g_mm_rst, + eth1g_tse_mosi => eth1g_tse_mosi, + eth1g_tse_miso => eth1g_tse_miso, + eth1g_reg_mosi => eth1g_reg_mosi, + eth1g_reg_miso => eth1g_reg_miso, + eth1g_reg_interrupt => eth1g_reg_interrupt, + eth1g_ram_mosi => eth1g_ram_mosi, + eth1g_ram_miso => eth1g_ram_miso, + reg_dpmm_data_mosi => reg_dpmm_data_mosi, + reg_dpmm_data_miso => reg_dpmm_data_miso, + reg_dpmm_ctrl_mosi => reg_dpmm_ctrl_mosi, + reg_dpmm_ctrl_miso => reg_dpmm_ctrl_miso, + reg_mmdp_data_mosi => reg_mmdp_data_mosi, + reg_mmdp_data_miso => reg_mmdp_data_miso, + reg_mmdp_ctrl_mosi => reg_mmdp_ctrl_mosi, + reg_mmdp_ctrl_miso => reg_mmdp_ctrl_miso, + reg_epcs_mosi => reg_epcs_mosi, + reg_epcs_miso => reg_epcs_miso, + reg_remu_mosi => reg_remu_mosi, + reg_remu_miso => reg_remu_miso, -- mm buses for signal flow blocks -- Jesd ip status/control -- GitLab