diff --git a/libraries/io/eth/tb/vhdl/tb_eth_tester.vhd b/libraries/io/eth/tb/vhdl/tb_eth_tester.vhd
index 7a89799b5b3935da46cf30bc9ceaf061ff25aa40..c29a4da00e91421ca0f71a8e85fc3934d7d538a1 100644
--- a/libraries/io/eth/tb/vhdl/tb_eth_tester.vhd
+++ b/libraries/io/eth/tb/vhdl/tb_eth_tester.vhd
@@ -1,6 +1,6 @@
 -------------------------------------------------------------------------------
 --
--- Copyright 2020
+-- Copyright 2022
 -- ASTRON (Netherlands Institute for Radio Astronomy) <http://www.astron.nl/>
 -- P.O.Box 2, 7990 AA Dwingeloo, The Netherlands
 --
@@ -20,7 +20,8 @@
 -- AUthor: E. Kooistra
 -- Purpose: Test bench for eth_tester
 -- Description: See detailed design in [1]
---   The g_nof_streams >= 1 are tested independently.
+--   The g_nof_streams >= 1 are tested independently, using g_bg_ctrl_first for
+--   BG in stream 0 and g_bg_ctrl_others for all other streams.
 -- Usage:
 -- > as 8
 -- > run -a
@@ -44,19 +45,20 @@ USE work.tb_eth_tester_pkg.ALL;
 
 ENTITY tb_eth_tester IS
   GENERIC (
-    g_tb_str           : STRING := "";
-    g_nof_streams      : NATURAL := 2;
-
-    -- sl:  enable
-    -- sl:  enable_sync
-    -- nat: samples_per_packet
-    -- nat: blocks_per_sync
-    -- nat: gapsize
-    -- nat: mem_low_adrs
-    -- nat: mem_high_adrs
-    -- nat: bsn_init
-    g_bg_ctrl_first    : t_diag_block_gen_integer := ('1', '1', 50, 8, 100, 0, 30, 0);  -- for first stream
-    g_bg_ctrl_others   : t_diag_block_gen_integer := ('1', '1', 30, 8, 10, 0, 30, 0)   -- for other streams
+    g_tb_str           : STRING := "";  -- use to distinguish logging from tb instances in tb_tb
+    g_nof_streams      : NATURAL := 1;
+
+    -- t_diag_block_gen_integer =
+    --   sl:  enable
+    --   sl:  enable_sync
+    --   nat: samples_per_packet
+    --   nat: blocks_per_sync
+    --   nat: gapsize
+    --   nat: mem_low_adrs
+    --   nat: mem_high_adrs
+    --   nat: bsn_init
+    g_bg_ctrl_first    : t_diag_block_gen_integer := ('1', '1', 50, 8, 100, 0, c_diag_bg_mem_max_adr, 0);  -- for first stream
+    g_bg_ctrl_others   : t_diag_block_gen_integer := ('1', '1', 30, 8, 10, 0, c_diag_bg_mem_max_adr, 0)   -- for other streams
   );
 END tb_eth_tester;
 
@@ -71,15 +73,18 @@ ARCHITECTURE tb OF tb_eth_tester IS
 
   CONSTANT c_sync_period_first  : NATURAL := c_slot_len_first * g_bg_ctrl_first.blocks_per_sync;
   CONSTANT c_sync_period_others : NATURAL := c_slot_len_others * g_bg_ctrl_others.blocks_per_sync;
+  CONSTANT c_sync_period_max    : NATURAL := largest(c_sync_period_first, c_sync_period_others);
   CONSTANT c_nof_sync           : NATURAL := 3;
-  CONSTANT c_run_time           : NATURAL := c_nof_sync * largest(c_sync_period_first, c_sync_period_others);
+  CONSTANT c_run_time           : NATURAL := c_nof_sync * c_sync_period_max;
   CONSTANT c_nof_sync_first     : NATURAL := c_run_time / c_sync_period_first;
   CONSTANT c_nof_sync_others    : NATURAL := c_run_time / c_sync_period_others;
 
-  CONSTANT c_nof_sop_first      : NATURAL := g_bg_ctrl_first.blocks_per_sync;
-  CONSTANT c_nof_sop_others     : NATURAL := g_bg_ctrl_others.blocks_per_sync;
-  CONSTANT c_nof_valid_first    : NATURAL := c_nof_sop_first * ceil_div(g_bg_ctrl_first.samples_per_packet * c_octet_w, c_word_w);
-  CONSTANT c_nof_valid_others   : NATURAL := c_nof_sop_others * ceil_div(g_bg_ctrl_others.samples_per_packet * c_octet_w, c_word_w);
+  CONSTANT c_mon_nof_sop_first       : NATURAL := g_bg_ctrl_first.blocks_per_sync;
+  CONSTANT c_mon_nof_sop_others      : NATURAL := g_bg_ctrl_others.blocks_per_sync;
+  CONSTANT c_mon_nof_valid_first_tx  : NATURAL := c_mon_nof_sop_first * ceil_div(g_bg_ctrl_first.samples_per_packet * c_octet_w, c_word_w);
+  CONSTANT c_mon_nof_valid_first_rx  : NATURAL := c_mon_nof_sop_first * g_bg_ctrl_first.samples_per_packet;
+  CONSTANT c_mon_nof_valid_others_tx : NATURAL := c_mon_nof_sop_others * ceil_div(g_bg_ctrl_others.samples_per_packet * c_octet_w, c_word_w);
+  CONSTANT c_mon_nof_valid_others_rx : NATURAL := c_mon_nof_sop_others * g_bg_ctrl_others.samples_per_packet;
 
   -- Use sim default src MAC, IP, UDP port from eth_tester_pkg.vhd and based on c_gn_index
   CONSTANT c_gn_index           : NATURAL := 17;  -- global node index
@@ -93,10 +98,8 @@ ARCHITECTURE tb OF tb_eth_tester IS
   SIGNAL st_rst              : STD_LOGIC := '1';
   SIGNAL st_clk              : STD_LOGIC := '1';
   SIGNAL st_pps              : STD_LOGIC := '0';
+  SIGNAL stimuli_end         : STD_LOGIC := '0';
   SIGNAL tb_end              : STD_LOGIC := '0';
-  SIGNAL first_end           : STD_LOGIC := '0';
-  SIGNAL others_end          : STD_LOGIC := '0';
-
   -- Use same bg_ctrl for all streams, this provides sufficient test coverage
   SIGNAL bg_ctrl_arr         : t_diag_block_gen_integer_arr(g_nof_streams-1 DOWNTO 0);
 
@@ -122,17 +125,31 @@ ARCHITECTURE tb OF tb_eth_tester IS
   SIGNAL reg_strobe_total_count_rx_cipo  : t_mem_cipo;
 
   -- . reg_strobe_total_count
-  SIGNAL tx_count_arr            : t_natural_arr(g_nof_streams-1 DOWNTO 0);
-  SIGNAL rx_count_arr            : t_natural_arr(g_nof_streams-1 DOWNTO 0);
-  SIGNAL exp_count_arr           : t_natural_arr(g_nof_streams-1 DOWNTO 0);
+  SIGNAL tx_total_count_nof_packets_arr       : t_natural_arr(g_nof_streams-1 DOWNTO 0);
+  SIGNAL rx_total_count_nof_packets_arr       : t_natural_arr(g_nof_streams-1 DOWNTO 0);
+  SIGNAL exp_total_count_nof_packets_arr      : t_natural_arr(g_nof_streams-1 DOWNTO 0);  -- same for both tx and rx
+
+  SIGNAL rx_total_count_nof_valids_arr        : t_natural_arr(g_nof_streams-1 DOWNTO 0);
+  SIGNAL rx_exp_total_count_nof_valids_arr    : t_natural_arr(g_nof_streams-1 DOWNTO 0);
+
+  SIGNAL rx_total_count_nof_corrupted_arr     : t_natural_arr(g_nof_streams-1 DOWNTO 0);
+  SIGNAL rx_exp_total_count_nof_corrupted_arr : t_natural_arr(g_nof_streams-1 DOWNTO 0);
 
   -- . reg_bsn_monitor_v2
-  SIGNAL tx_nof_sop_arr          : t_natural_arr(g_nof_streams-1 DOWNTO 0);
-  SIGNAL tx_nof_valid_arr        : t_natural_arr(g_nof_streams-1 DOWNTO 0);
-  SIGNAL tx_latency_arr          : t_natural_arr(g_nof_streams-1 DOWNTO 0);
-  SIGNAL rx_nof_sop_arr          : t_natural_arr(g_nof_streams-1 DOWNTO 0);
-  SIGNAL rx_nof_valid_arr        : t_natural_arr(g_nof_streams-1 DOWNTO 0);
-  SIGNAL rx_latency_arr          : t_natural_arr(g_nof_streams-1 DOWNTO 0);
+  SIGNAL tx_mon_nof_sop_arr      : t_natural_arr(g_nof_streams-1 DOWNTO 0);
+  SIGNAL tx_mon_nof_valid_arr    : t_natural_arr(g_nof_streams-1 DOWNTO 0);
+  SIGNAL tx_mon_latency_arr      : t_natural_arr(g_nof_streams-1 DOWNTO 0);
+  SIGNAL rx_mon_nof_sop_arr      : t_natural_arr(g_nof_streams-1 DOWNTO 0);
+  SIGNAL rx_mon_nof_valid_arr    : t_natural_arr(g_nof_streams-1 DOWNTO 0);
+  SIGNAL rx_mon_latency_arr      : t_natural_arr(g_nof_streams-1 DOWNTO 0);
+
+  -- View in Wave window
+  SIGNAL dbg_c_mon_nof_sop_first       : NATURAL := c_mon_nof_sop_first;
+  SIGNAL dbg_c_mon_nof_sop_others      : NATURAL := c_mon_nof_sop_others;
+  SIGNAL dbg_c_mon_nof_valid_first_tx  : NATURAL := c_mon_nof_valid_first_tx;
+  SIGNAL dbg_c_mon_nof_valid_first_rx  : NATURAL := c_mon_nof_valid_first_rx;
+  SIGNAL dbg_c_mon_nof_valid_others_tx : NATURAL := c_mon_nof_valid_others_tx;
+  SIGNAL dbg_c_mon_nof_valid_others_rx : NATURAL := c_mon_nof_valid_others_rx;
 
 BEGIN
 
@@ -142,7 +159,7 @@ BEGIN
   st_rst <= '1', '0' AFTER st_clk_period*5;
 
   -- Using
-  --SIGNAL exp_count_arr : t_natural_arr(g_nof_streams-1 DOWNTO 0);
+  --SIGNAL exp_total_count_nof_packets_arr : t_natural_arr(g_nof_streams-1 DOWNTO 0);
   --                         (g_nof_streams-1 DOWNTO 1 => c_nof_sync * g_bg_ctrl_others.blocks_per_sync,
   --                                                 0 => c_nof_sync * g_bg_ctrl_first.blocks_per_sync);
   -- yields verror 1074, verror 1048, therefor use p_init instead, and
@@ -152,25 +169,13 @@ BEGIN
     bg_ctrl_arr    <= (OTHERS => g_bg_ctrl_others);
     bg_ctrl_arr(0) <= g_bg_ctrl_first;
 
-    exp_count_arr    <= (OTHERS => c_nof_sync_others * g_bg_ctrl_others.blocks_per_sync);
-    exp_count_arr(0) <= c_nof_sync_first * g_bg_ctrl_first.blocks_per_sync;
-    WAIT;
-  END PROCESS;
+    exp_total_count_nof_packets_arr    <= (OTHERS => c_nof_sync_others * g_bg_ctrl_others.blocks_per_sync);
+    exp_total_count_nof_packets_arr(0) <= c_nof_sync_first * g_bg_ctrl_first.blocks_per_sync;
 
-  -- Timing signals to run each BG for c_nof_sync periods
-  p_first_end : PROCESS
-  BEGIN
-    proc_common_wait_until_high(st_clk, st_pps);
-    proc_common_wait_some_cycles(st_clk, c_sync_period_first * c_nof_sync);
-    first_end <= '1';
-    WAIT;
-  END PROCESS;
+    rx_exp_total_count_nof_valids_arr    <= (OTHERS => c_nof_sync_others * g_bg_ctrl_others.blocks_per_sync * g_bg_ctrl_others.samples_per_packet);
+    rx_exp_total_count_nof_valids_arr(0) <= c_nof_sync_first * g_bg_ctrl_first.blocks_per_sync * g_bg_ctrl_first.samples_per_packet;
 
-  p_others_end : PROCESS
-  BEGIN
-    proc_common_wait_until_high(st_clk, st_pps);
-    proc_common_wait_some_cycles(st_clk, c_sync_period_others * c_nof_sync);
-    others_end <= '1';
+    rx_exp_total_count_nof_corrupted_arr <= (OTHERS => 0);  -- default no Rx errors
     WAIT;
   END PROCESS;
 
@@ -212,31 +217,69 @@ BEGIN
       -- Disable the other BG
       proc_mem_mm_bus_wr(v_offset + 0, 0, mm_clk, reg_bg_ctrl_copi);
     END LOOP;
-    proc_common_wait_some_cycles(mm_clk, 100);
+    proc_common_wait_some_cycles(st_clk, c_sync_period_max);
+    stimuli_end <= '1';
 
     -------------------------------------------------------------------------
     -- Verification: Total nof Tx packets = total nof Rx packets
     -------------------------------------------------------------------------
     FOR I IN g_nof_streams-1 DOWNTO 0 LOOP
+      -- . read low part, ignore high part (= 0) of two word total counts
       v_offset := I * c_dp_strobe_total_count_reg_adr_span;
-      -- . read low part, ignore high part (= 0)
-      -- . Tx
+      -- Tx total nof packets
       proc_mem_mm_bus_rd(v_offset + 0, mm_clk, reg_strobe_total_count_tx_cipo, reg_strobe_total_count_tx_copi);
       proc_mem_mm_bus_rd_latency(1, mm_clk);
-      tx_count_arr(I) <= TO_UINT(reg_strobe_total_count_tx_cipo.rddata(c_word_w-1 DOWNTO 0));
-      -- . Rx
+      tx_total_count_nof_packets_arr(I) <= TO_UINT(reg_strobe_total_count_tx_cipo.rddata(c_word_w-1 DOWNTO 0));
+      proc_common_wait_some_cycles(mm_clk, 1);
+      ASSERT tx_total_count_nof_packets_arr(I) = exp_total_count_nof_packets_arr(I) REPORT g_tb_str &
+          "Wrong Tx total nof packets count(" & NATURAL'IMAGE(I) &
+          "), Tx count = " & NATURAL'IMAGE(tx_total_count_nof_packets_arr(I)) &
+          " /= " & NATURAL'IMAGE(exp_total_count_nof_packets_arr(I)) &
+          " = Expected count" SEVERITY ERROR;
+
+      -- Rx total nof packets
       proc_mem_mm_bus_rd(v_offset + 0, mm_clk, reg_strobe_total_count_rx_cipo, reg_strobe_total_count_rx_copi);
       proc_mem_mm_bus_rd_latency(1, mm_clk);
-      rx_count_arr(I) <= TO_UINT(reg_strobe_total_count_rx_cipo.rddata(c_word_w-1 DOWNTO 0));
+      rx_total_count_nof_packets_arr(I) <= TO_UINT(reg_strobe_total_count_rx_cipo.rddata(c_word_w-1 DOWNTO 0));
+      proc_common_wait_some_cycles(mm_clk, 1);
+      ASSERT rx_total_count_nof_packets_arr(I) = exp_total_count_nof_packets_arr(I) REPORT g_tb_str &
+          "Wrong Rx total nof packets count(" & NATURAL'IMAGE(I) &
+          "), Rx count = " & NATURAL'IMAGE(rx_total_count_nof_packets_arr(I)) &
+          " /= " & NATURAL'IMAGE(exp_total_count_nof_packets_arr(I)) &
+          " = Expected count" SEVERITY ERROR;
+
+      -- Rx total nof valids
+      proc_mem_mm_bus_rd(v_offset + 2, mm_clk, reg_strobe_total_count_rx_cipo, reg_strobe_total_count_rx_copi);
+      proc_mem_mm_bus_rd_latency(1, mm_clk);
+      rx_total_count_nof_valids_arr(I) <= TO_UINT(reg_strobe_total_count_rx_cipo.rddata(c_word_w-1 DOWNTO 0));
+      proc_common_wait_some_cycles(mm_clk, 1);
+      ASSERT rx_total_count_nof_valids_arr(I) = rx_exp_total_count_nof_valids_arr(I) REPORT g_tb_str &
+          "Wrong Rx total nof valids count(" & NATURAL'IMAGE(I) &
+          "), Rx count = " & NATURAL'IMAGE(rx_total_count_nof_valids_arr(I)) &
+          " /= " & NATURAL'IMAGE(rx_exp_total_count_nof_valids_arr(I)) &
+          " = Expected count" SEVERITY ERROR;
+
+      -- Rx total nof corrupted
+      proc_mem_mm_bus_rd(v_offset + 4, mm_clk, reg_strobe_total_count_rx_cipo, reg_strobe_total_count_rx_copi);
+      proc_mem_mm_bus_rd_latency(1, mm_clk);
+      rx_total_count_nof_corrupted_arr(I) <= TO_UINT(reg_strobe_total_count_rx_cipo.rddata(c_word_w-1 DOWNTO 0));
       proc_common_wait_some_cycles(mm_clk, 1);
-      ASSERT rx_count_arr(I) = tx_count_arr(I) REPORT g_tb_str & "Wrong total block count("
-                                                      & NATURAL'IMAGE(I) & "), Rx count = "
-                                                      & NATURAL'IMAGE(rx_count_arr(I)) & " /= "
-                                                      & NATURAL'IMAGE(tx_count_arr(I)) & " = Tx count" SEVERITY ERROR;
-      ASSERT rx_count_arr(I) = exp_count_arr(I) REPORT g_tb_str & "Wrong total block count("
-                                                      & NATURAL'IMAGE(I) & "), Rx count = "
-                                                      & NATURAL'IMAGE(rx_count_arr(I)) & " /= "
-                                                      & NATURAL'IMAGE(exp_count_arr(I)) & " = Expected count" SEVERITY ERROR;
+      ASSERT rx_total_count_nof_corrupted_arr(I) = rx_exp_total_count_nof_corrupted_arr(I) REPORT g_tb_str &
+          "Wrong Rx total nof corrupted count(" & NATURAL'IMAGE(I) &
+          "), Rx count = " & NATURAL'IMAGE(rx_total_count_nof_corrupted_arr(I)) &
+          " /= " & NATURAL'IMAGE(rx_exp_total_count_nof_corrupted_arr(I)) &
+          " = Expected count" SEVERITY ERROR;
+
+      print_str(g_tb_str &
+          "Tx total counts monitor(" & NATURAL'IMAGE(I) & ") :" &
+          " nof_packets = " & NATURAL'IMAGE(tx_total_count_nof_packets_arr(I)));
+
+      print_str(g_tb_str &
+          "Rx total counts monitor(" & NATURAL'IMAGE(I) & ") :" &
+          " nof_packets = " & NATURAL'IMAGE(rx_total_count_nof_packets_arr(I)) &
+          ", nof_valids  = " & NATURAL'IMAGE(rx_total_count_nof_valids_arr(I)) &
+          ", nof_corrupted  = " & NATURAL'IMAGE(rx_total_count_nof_corrupted_arr(I)));
+
     END LOOP;
 
     -------------------------------------------------------------------------
@@ -250,53 +293,52 @@ BEGIN
       -- . Tx
       proc_mem_mm_bus_rd(v_offset + 3, mm_clk, reg_bsn_monitor_v2_tx_cipo, reg_bsn_monitor_v2_tx_copi);
       proc_mem_mm_bus_rd_latency(1, mm_clk);
-      tx_nof_sop_arr(I) <= TO_UINT(reg_bsn_monitor_v2_tx_cipo.rddata(c_word_w-1 DOWNTO 0));
+      tx_mon_nof_sop_arr(I) <= TO_UINT(reg_bsn_monitor_v2_tx_cipo.rddata(c_word_w-1 DOWNTO 0));
       proc_mem_mm_bus_rd(v_offset + 4, mm_clk, reg_bsn_monitor_v2_tx_cipo, reg_bsn_monitor_v2_tx_copi);
       proc_mem_mm_bus_rd_latency(1, mm_clk);
-      tx_nof_valid_arr(I) <= TO_UINT(reg_bsn_monitor_v2_tx_cipo.rddata(c_word_w-1 DOWNTO 0));
+      tx_mon_nof_valid_arr(I) <= TO_UINT(reg_bsn_monitor_v2_tx_cipo.rddata(c_word_w-1 DOWNTO 0));
       proc_mem_mm_bus_rd(v_offset + 6, mm_clk, reg_bsn_monitor_v2_tx_cipo, reg_bsn_monitor_v2_tx_copi);
       proc_mem_mm_bus_rd_latency(1, mm_clk);
-      tx_latency_arr(I) <= TO_UINT(reg_bsn_monitor_v2_tx_cipo.rddata(c_word_w-1 DOWNTO 0));
+      tx_mon_latency_arr(I) <= TO_UINT(reg_bsn_monitor_v2_tx_cipo.rddata(c_word_w-1 DOWNTO 0));
       -- . Rx
       proc_mem_mm_bus_rd(v_offset + 3, mm_clk, reg_bsn_monitor_v2_rx_cipo, reg_bsn_monitor_v2_rx_copi);
       proc_mem_mm_bus_rd_latency(1, mm_clk);
-      rx_nof_sop_arr(I) <= TO_UINT(reg_bsn_monitor_v2_rx_cipo.rddata(c_word_w-1 DOWNTO 0));
+      rx_mon_nof_sop_arr(I) <= TO_UINT(reg_bsn_monitor_v2_rx_cipo.rddata(c_word_w-1 DOWNTO 0));
       proc_mem_mm_bus_rd(v_offset + 4, mm_clk, reg_bsn_monitor_v2_rx_cipo, reg_bsn_monitor_v2_rx_copi);
       proc_mem_mm_bus_rd_latency(1, mm_clk);
-      rx_nof_valid_arr(I) <= TO_UINT(reg_bsn_monitor_v2_rx_cipo.rddata(c_word_w-1 DOWNTO 0));
+      rx_mon_nof_valid_arr(I) <= TO_UINT(reg_bsn_monitor_v2_rx_cipo.rddata(c_word_w-1 DOWNTO 0));
       proc_mem_mm_bus_rd(v_offset + 6, mm_clk, reg_bsn_monitor_v2_rx_cipo, reg_bsn_monitor_v2_rx_copi);
       proc_mem_mm_bus_rd_latency(1, mm_clk);
-      rx_latency_arr(I) <= TO_UINT(reg_bsn_monitor_v2_rx_cipo.rddata(c_word_w-1 DOWNTO 0));
+      rx_mon_latency_arr(I) <= TO_UINT(reg_bsn_monitor_v2_rx_cipo.rddata(c_word_w-1 DOWNTO 0));
       proc_common_wait_some_cycles(mm_clk, 1);
 
       print_str(g_tb_str &
-                "Tx BSN monitor(" & NATURAL'IMAGE(I) & ") :" &
-                ", nof_sop = " & NATURAL'IMAGE(tx_nof_sop_arr(I)) &
-                ", nof_valid = " & NATURAL'IMAGE(tx_nof_valid_arr(I)) &
-                ", latency = " & NATURAL'IMAGE(tx_latency_arr(I)));
+          "Tx BSN monitor(" & NATURAL'IMAGE(I) & ") :" &
+          " nof_sop = " & NATURAL'IMAGE(tx_mon_nof_sop_arr(I)) &
+          ", nof_valid = " & NATURAL'IMAGE(tx_mon_nof_valid_arr(I)) &
+          ", latency = " & NATURAL'IMAGE(tx_mon_latency_arr(I)));
 
       print_str(g_tb_str &
-                "Rx BSN monitor(" & NATURAL'IMAGE(I) & ") :" &
-                ", nof_sop = " & NATURAL'IMAGE(rx_nof_sop_arr(I)) &
-                ", nof_valid = " & NATURAL'IMAGE(rx_nof_valid_arr(I)) &
-                ", latency = " & NATURAL'IMAGE(rx_latency_arr(I)));
+          "Rx BSN monitor(" & NATURAL'IMAGE(I) & ") :" &
+          " nof_sop = " & NATURAL'IMAGE(rx_mon_nof_sop_arr(I)) &
+          ", nof_valid = " & NATURAL'IMAGE(rx_mon_nof_valid_arr(I)) &
+          ", latency = " & NATURAL'IMAGE(rx_mon_latency_arr(I)));
 
       IF I = 0 THEN
-        ASSERT tx_nof_sop_arr(I) = g_bg_ctrl_first.blocks_per_sync REPORT g_tb_str & "Wrong tx nof_sop for stream (" & NATURAL'IMAGE(I) & ")" SEVERITY ERROR;
-        ASSERT rx_nof_sop_arr(I) = g_bg_ctrl_first.blocks_per_sync REPORT g_tb_str & "Wrong rx nof_sop for stream (" & NATURAL'IMAGE(I) & ")" SEVERITY ERROR;
-        ASSERT tx_nof_valid_arr(I) = c_nof_valid_first REPORT g_tb_str & "Wrong tx nof_valid for stream (" & NATURAL'IMAGE(I) & ")" SEVERITY ERROR;
-        ASSERT rx_nof_valid_arr(I) = c_nof_valid_first REPORT g_tb_str & "Wrong rx nof_valid for stream (" & NATURAL'IMAGE(I) & ")" SEVERITY ERROR;
-        ASSERT tx_latency_arr(I) = 0 REPORT g_tb_str & "Wrong tx latency for stream (" & NATURAL'IMAGE(I) & ")" SEVERITY ERROR;
+        ASSERT tx_mon_nof_sop_arr(I) = c_mon_nof_sop_first REPORT g_tb_str & "Wrong tx nof_sop for stream (" & NATURAL'IMAGE(I) & ")" SEVERITY ERROR;
+        ASSERT rx_mon_nof_sop_arr(I) = c_mon_nof_sop_first REPORT g_tb_str & "Wrong rx nof_sop for stream (" & NATURAL'IMAGE(I) & ")" SEVERITY ERROR;
+        ASSERT tx_mon_nof_valid_arr(I) = c_mon_nof_valid_first_tx REPORT g_tb_str & "Wrong tx nof_valid for stream (" & NATURAL'IMAGE(I) & ")" SEVERITY ERROR;
+        ASSERT rx_mon_nof_valid_arr(I) = c_mon_nof_valid_first_rx REPORT g_tb_str & "Wrong rx nof_valid for stream (" & NATURAL'IMAGE(I) & ")" SEVERITY ERROR;
+        ASSERT tx_mon_latency_arr(I) = 0 REPORT g_tb_str & "Wrong tx latency for stream (" & NATURAL'IMAGE(I) & ")" SEVERITY ERROR;
       ELSE
-        ASSERT tx_nof_sop_arr(I) = g_bg_ctrl_others.blocks_per_sync REPORT g_tb_str & "Wrong tx nof_sop for stream (" & NATURAL'IMAGE(I) & ")" SEVERITY ERROR;
-        ASSERT rx_nof_sop_arr(I) = g_bg_ctrl_others.blocks_per_sync REPORT g_tb_str & "Wrong rx nof_sop for stream (" & NATURAL'IMAGE(I) & ")" SEVERITY ERROR;
-        ASSERT tx_nof_valid_arr(I) = c_nof_valid_others REPORT g_tb_str & "Wrong tx nof_valid for stream (" & NATURAL'IMAGE(I) & ")" SEVERITY ERROR;
-        ASSERT rx_nof_valid_arr(I) = c_nof_valid_others REPORT g_tb_str & "Wrong rx nof_valid for stream (" & NATURAL'IMAGE(I) & ")" SEVERITY ERROR;
-        ASSERT rx_latency_arr(I) = 22 REPORT g_tb_str & "Wrong rx latency for stream (" & NATURAL'IMAGE(I) & ")" SEVERITY ERROR;
+        ASSERT tx_mon_nof_sop_arr(I) = c_mon_nof_sop_others REPORT g_tb_str & "Wrong tx nof_sop for stream (" & NATURAL'IMAGE(I) & ")" SEVERITY ERROR;
+        ASSERT rx_mon_nof_sop_arr(I) = c_mon_nof_sop_others REPORT g_tb_str & "Wrong rx nof_sop for stream (" & NATURAL'IMAGE(I) & ")" SEVERITY ERROR;
+        ASSERT tx_mon_nof_valid_arr(I) = c_mon_nof_valid_others_tx REPORT g_tb_str & "Wrong tx nof_valid for stream (" & NATURAL'IMAGE(I) & ")" SEVERITY ERROR;
+        ASSERT rx_mon_nof_valid_arr(I) = c_mon_nof_valid_others_rx REPORT g_tb_str & "Wrong rx nof_valid for stream (" & NATURAL'IMAGE(I) & ")" SEVERITY ERROR;
+        ASSERT rx_mon_latency_arr(I) = 22 REPORT g_tb_str & "Wrong rx latency for stream (" & NATURAL'IMAGE(I) & ")" SEVERITY ERROR;
       END IF;
     END LOOP;
 
-
     -------------------------------------------------------------------------
     -- End of test
     -------------------------------------------------------------------------