Skip to content
Snippets Groups Projects
Commit 221436dd authored by Eric Kooistra's avatar Eric Kooistra
Browse files

Read beamlet output siso MP.

parent bdd23838
Branches
No related tags found
1 merge request!412Resolve L2SDP-885 "B"
Pipeline #84954 passed
......@@ -361,6 +361,7 @@ architecture tb of tb_lofar2_unb2c_sdp_station_bf is
constant c_addr_w_reg_stat_enable_bst : natural := c_sdp_reg_stat_enable_addr_w;
constant c_addr_w_reg_dp_xonoff : natural := 1;
constant c_addr_w_ram_st_bst : natural := ceil_log2(c_sdp_S_sub_bf * c_sdp_N_pol_bf * c_stat_data_sz);
constant c_addr_w_reg_bsn_monitor_v2 : natural := 3;
-- . Address spans of a single MM instance
-- . c_sdp_S_pn = 12 instances
constant c_mm_span_reg_diag_wg : natural := 2**c_addr_w_reg_diag_wg;
......@@ -373,6 +374,7 @@ architecture tb of tb_lofar2_unb2c_sdp_station_bf is
constant c_mm_span_reg_stat_enable_bst : natural := 2**c_addr_w_reg_stat_enable_bst;
constant c_mm_span_reg_dp_xonoff : natural := 2**c_addr_w_reg_dp_xonoff;
constant c_mm_span_ram_st_bst : natural := 2**c_addr_w_ram_st_bst;
constant c_mm_span_reg_bsn_monitor_v2 : natural := 2**c_addr_w_reg_bsn_monitor_v2;
constant c_mm_file_reg_ppsh : string := mmf_unb_file_prefix(c_unb_nr, c_node_nr) & "PIO_PPS";
constant c_mm_file_reg_bsn_source_v2 : string := mmf_unb_file_prefix(c_unb_nr, c_node_nr) & "REG_BSN_SOURCE_V2";
......@@ -390,6 +392,8 @@ architecture tb of tb_lofar2_unb2c_sdp_station_bf is
constant c_mm_file_reg_sdp_info : string := mmf_unb_file_prefix(c_unb_nr, c_node_nr) & "REG_SDP_INFO";
constant c_mm_file_reg_hdr_dat : string := mmf_unb_file_prefix(c_unb_nr, c_node_nr) & "REG_HDR_DAT"; -- c_sdp_N_beamsets = 2 beamsets
constant c_mm_file_reg_bdo_destinations : string := mmf_unb_file_prefix(c_unb_nr, c_node_nr) & "REG_BDO_DESTINATIONS";
constant c_mm_file_reg_bsn_monitor_v2_beamlet_output : string :=
mmf_unb_file_prefix(c_unb_nr, c_node_nr) & "REG_BSN_MONITOR_V2_BEAMLET_OUTPUT";
-- Tb BSN moments
constant c_stimuli_done_bsn : natural := c_init_bsn + c_bsn_latency + c_nof_block_per_sync * 4;
......@@ -424,6 +428,9 @@ architecture tb of tb_lofar2_unb2c_sdp_station_bf is
signal rd_nof_destinations_act : natural;
signal rd_nof_destinations_max : natural;
signal rd_nof_blocks_per_packet : natural;
signal rd_bsn_monitor_v2_beamlet_output : std_logic := '0'; -- strobe
signal rd_bsn_monitor_v2_beamlet_output_xon : std_logic;
signal rd_bsn_monitor_v2_beamlet_output_ready : std_logic;
-- WG
signal current_bsn_wg : std_logic_vector(c_dp_stream_bsn_w - 1 downto 0);
......@@ -738,6 +745,17 @@ begin
report "Wrong MM read SDP info block_period"
severity ERROR;
----------------------------------------------------------------------------
-- Read 10GbE beamlet output SISO status before enable beamlet output
----------------------------------------------------------------------------
mmf_mm_bus_rd(c_mm_file_reg_bsn_monitor_v2_beamlet_output, 0, rd_data, tb_clk);
proc_common_wait_some_cycles(tb_clk, 1);
rd_bsn_monitor_v2_beamlet_output <= '1';
rd_bsn_monitor_v2_beamlet_output_xon <= rd_data(0);
rd_bsn_monitor_v2_beamlet_output_ready <= rd_data(1);
proc_common_wait_some_cycles(tb_clk, 10);
rd_bsn_monitor_v2_beamlet_output <= '0';
------------------------------------------------------------------------------
---- Set and check BF per beamset
------------------------------------------------------------------------------
......@@ -1168,6 +1186,21 @@ begin
-- Stimuli done, now verify results at end of test
stimuli_done <= '1';
----------------------------------------------------------------------------
-- Read 10GbE beamlet output SISO status again during active beamlet
-- output, because BSN monitor status only gets updated at sosi.sync
-- These MP are not useful, because they are only updated when there
-- is active beamlet output data and because ready remains '0' when it
-- toggles during a sync interval.
----------------------------------------------------------------------------
mmf_mm_bus_rd(c_mm_file_reg_bsn_monitor_v2_beamlet_output, 0, rd_data, tb_clk);
proc_common_wait_some_cycles(tb_clk, 1);
rd_bsn_monitor_v2_beamlet_output <= '1';
rd_bsn_monitor_v2_beamlet_output_xon <= rd_data(0);
rd_bsn_monitor_v2_beamlet_output_ready <= rd_data(1);
proc_common_wait_some_cycles(tb_clk, 10);
rd_bsn_monitor_v2_beamlet_output <= '0';
---------------------------------------------------------------------------
-- Read subband statistics
---------------------------------------------------------------------------
......
......@@ -37,6 +37,8 @@
-- valid remains active until an acknowledge by ready)
-- . If mon_sync_timeout = '1', all output vectors are forced -1 (all ones) to
-- indicate they are not valid.
-- . The single bit siso status signals mon_ready_stable and mon_xon_stable
-- are less useful, because they do not support an invalid value.
-- --------------------------------------------------------------------------
library IEEE, common_lib;
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment