diff --git a/.gitignore b/.gitignore
index 9d99c72d3c9065b77479b0061901a76fb45e008b..621e727580038cdd50f23b92d490996dae567c24 100644
--- a/.gitignore
+++ b/.gitignore
@@ -4,4 +4,5 @@ build/*
 *.pyc
 *.qsys_edit
 *.kate-swp
+.ipynb_checkpoints
 transcript
diff --git a/applications/lofar2/designs/lofar2_unb2b_ring/src/vhdl/lofar2_unb2b_ring.vhd b/applications/lofar2/designs/lofar2_unb2b_ring/src/vhdl/lofar2_unb2b_ring.vhd
index 612609097a171c416a5f92c2e4dd1992c99ea4e6..f9c128cc79594a95831a8b4b2c4e6b93dabba468 100644
--- a/applications/lofar2/designs/lofar2_unb2b_ring/src/vhdl/lofar2_unb2b_ring.vhd
+++ b/applications/lofar2/designs/lofar2_unb2b_ring/src/vhdl/lofar2_unb2b_ring.vhd
@@ -113,7 +113,7 @@ ARCHITECTURE str OF lofar2_unb2b_ring IS
   -- Firmware version x.y
   CONSTANT c_fw_version             : t_unb2b_board_fw_version := (2, 0);
   CONSTANT c_mm_clk_freq            : NATURAL := c_unb2b_board_mm_clk_freq_100M;
-  CONSTANT c_lofar2_sample_clk_freq : NATURAL := c_sdp_f_adc_MHz * 10**6;  -- fixed 200 MHz for LOFAR2.0 stage 1
+  CONSTANT c_lofar2_sample_clk_freq : NATURAL := c_sdp_N_clk_per_sync;  -- fixed 200 MHz for LOFAR2.0 stage 1
 
    -- QSFP
   CONSTANT c_nof_qsfp_bus           : NATURAL := 1;
diff --git a/applications/lofar2/designs/lofar2_unb2b_sdp_station/revisions/lofar2_unb2b_sdp_station_adc/lofar2_unb2b_sdp_station_adc.vhd b/applications/lofar2/designs/lofar2_unb2b_sdp_station/revisions/lofar2_unb2b_sdp_station_adc/lofar2_unb2b_sdp_station_adc.vhd
index 9d15869925bada0f20337b8a4fa91414c9a7ac46..5a5adb2459251d19293075ef2024142788c209e2 100644
--- a/applications/lofar2/designs/lofar2_unb2b_sdp_station/revisions/lofar2_unb2b_sdp_station_adc/lofar2_unb2b_sdp_station_adc.vhd
+++ b/applications/lofar2/designs/lofar2_unb2b_sdp_station/revisions/lofar2_unb2b_sdp_station_adc/lofar2_unb2b_sdp_station_adc.vhd
@@ -77,12 +77,12 @@ ENTITY lofar2_unb2b_sdp_station_adc IS
     QSFP_LED     : OUT   STD_LOGIC_VECTOR(c_unb2b_board_tr_qsfp_nof_leds-1 DOWNTO 0);
 
      -- back transceivers (note only 6 are used in unb2b)
-    BCK_RX       : IN    STD_LOGIC_VECTOR(c_unb2b_board_nof_tr_jesd204b + c_unb2b_board_start_tr_jesd204b-1  downto c_unb2b_board_nof_tr_jesd204b);
+    BCK_RX       : IN    STD_LOGIC_VECTOR(c_unb2b_board_nof_tr_jesd204b + c_unb2b_board_start_tr_jesd204b-1 downto c_unb2b_board_nof_tr_jesd204b);  -- c_unb2b_board_nof_tr_jesd204b = 6, c_sdp_S_pn = 12
     BCK_REF_CLK  : IN    STD_LOGIC; -- Use as JESD204B_REFCLK
  
     -- jesd204b syncronization signals (2 syncs)
     JESD204B_SYSREF : IN    STD_LOGIC;
-    JESD204B_SYNC_N : OUT   STD_LOGIC_VECTOR(c_unb2b_board_nof_sync_jesd204b-1 DOWNTO 0)
+    JESD204B_SYNC_N : OUT   STD_LOGIC_VECTOR(c_unb2b_board_nof_sync_jesd204b-1 DOWNTO 0)  -- c_unb2b_board_nof_sync_jesd204b = c_sdp_N_sync_jesd = 4
   );
 END lofar2_unb2b_sdp_station_adc;
  
diff --git a/applications/lofar2/designs/lofar2_unb2b_sdp_station/revisions/lofar2_unb2b_sdp_station_adc/tb_lofar2_unb2b_sdp_station_adc.vhd b/applications/lofar2/designs/lofar2_unb2b_sdp_station/revisions/lofar2_unb2b_sdp_station_adc/tb_lofar2_unb2b_sdp_station_adc.vhd
index 15ce2fe9fa68e7cc5bcfc61a4c97c58615b9b9d2..b2652e604002332fd31a9dabaa98ae864aa812fc 100644
--- a/applications/lofar2/designs/lofar2_unb2b_sdp_station/revisions/lofar2_unb2b_sdp_station_adc/tb_lofar2_unb2b_sdp_station_adc.vhd
+++ b/applications/lofar2/designs/lofar2_unb2b_sdp_station/revisions/lofar2_unb2b_sdp_station_adc/tb_lofar2_unb2b_sdp_station_adc.vhd
@@ -137,12 +137,12 @@ ARCHITECTURE tb OF tb_lofar2_unb2b_sdp_station_adc IS
   SIGNAL pmbus_sda           : STD_LOGIC;
 
   -- back transceivers
-  SIGNAL JESD204B_SERIAL_DATA : STD_LOGIC_VECTOR((c_unb2b_board_tr_jesd204b.bus_w * c_unb2b_board_tr_jesd204b.nof_bus)-1 downto 0);
+  SIGNAL JESD204B_SERIAL_DATA : STD_LOGIC_VECTOR(c_sdp_S_pn-1 downto 0);
   SIGNAL JESD204B_REFCLK      : STD_LOGIC := '1';
 
   -- jesd204b syncronization signals
   SIGNAL jesd204b_sysref     : STD_LOGIC;
-  SIGNAL jesd204b_sync_n     : STD_LOGIC_VECTOR((c_unb2b_board_tr_jesd204b.nof_bus * c_unb2b_board_tr_jesd204b.bus_w)-1 DOWNTO 0);
+  SIGNAL jesd204b_sync_n     : STD_LOGIC_VECTOR(c_sdp_N_sync_jesd-1 DOWNTO 0);
 
 BEGIN
 
diff --git a/applications/lofar2/designs/lofar2_unb2b_sdp_station/revisions/lofar2_unb2b_sdp_station_bf/lofar2_unb2b_sdp_station_bf.vhd b/applications/lofar2/designs/lofar2_unb2b_sdp_station/revisions/lofar2_unb2b_sdp_station_bf/lofar2_unb2b_sdp_station_bf.vhd
index 47649378aa8adb8eb49e71b87a378ec7fe4ba5d4..9809ccd9d64421697b336b825ad36d37474763d1 100644
--- a/applications/lofar2/designs/lofar2_unb2b_sdp_station/revisions/lofar2_unb2b_sdp_station_bf/lofar2_unb2b_sdp_station_bf.vhd
+++ b/applications/lofar2/designs/lofar2_unb2b_sdp_station/revisions/lofar2_unb2b_sdp_station_bf/lofar2_unb2b_sdp_station_bf.vhd
@@ -84,12 +84,12 @@ ENTITY lofar2_unb2b_sdp_station_bf IS
     QSFP_LED     : OUT   STD_LOGIC_VECTOR(c_unb2b_board_tr_qsfp_nof_leds-1 DOWNTO 0);
 
      -- back transceivers (note only 6 are used in unb2b)
-    BCK_RX       : IN    STD_LOGIC_VECTOR(c_unb2b_board_nof_tr_jesd204b + c_unb2b_board_start_tr_jesd204b-1  downto c_unb2b_board_nof_tr_jesd204b);
+    BCK_RX       : IN    STD_LOGIC_VECTOR(c_unb2b_board_nof_tr_jesd204b + c_unb2b_board_start_tr_jesd204b-1 downto c_unb2b_board_nof_tr_jesd204b);  -- c_unb2b_board_nof_tr_jesd204b = 6, c_sdp_S_pn = 12
     BCK_REF_CLK  : IN    STD_LOGIC; -- Use as JESD204B_REFCLK
  
     -- jesd204b syncronization signals (2 syncs)
     JESD204B_SYSREF : IN    STD_LOGIC;
-    JESD204B_SYNC_N : OUT   STD_LOGIC_VECTOR(c_unb2b_board_nof_sync_jesd204b-1 DOWNTO 0)
+    JESD204B_SYNC_N : OUT   STD_LOGIC_VECTOR(c_unb2b_board_nof_sync_jesd204b-1 DOWNTO 0)  -- c_unb2b_board_nof_sync_jesd204b = c_sdp_N_sync_jesd = 4
   );
 END lofar2_unb2b_sdp_station_bf;
  
diff --git a/applications/lofar2/designs/lofar2_unb2b_sdp_station/revisions/lofar2_unb2b_sdp_station_bf/tb_lofar2_unb2b_sdp_station_bf.vhd b/applications/lofar2/designs/lofar2_unb2b_sdp_station/revisions/lofar2_unb2b_sdp_station_bf/tb_lofar2_unb2b_sdp_station_bf.vhd
index f5ac005c34271b70b011c5e43f507457d25f1963..21f703cf9f691ffcbc7f16d9813d6ba0e873ff6b 100644
--- a/applications/lofar2/designs/lofar2_unb2b_sdp_station/revisions/lofar2_unb2b_sdp_station_bf/tb_lofar2_unb2b_sdp_station_bf.vhd
+++ b/applications/lofar2/designs/lofar2_unb2b_sdp_station/revisions/lofar2_unb2b_sdp_station_bf/tb_lofar2_unb2b_sdp_station_bf.vhd
@@ -176,12 +176,12 @@ ARCHITECTURE tb OF tb_lofar2_unb2b_sdp_station_bf IS
   SIGNAL si_lpbk_0           : STD_LOGIC_VECTOR(c_unb2b_board_tr_qsfp.bus_w-1 DOWNTO 0);
    
   -- back transceivers
-  SIGNAL JESD204B_SERIAL_DATA : STD_LOGIC_VECTOR((c_unb2b_board_tr_jesd204b.bus_w * c_unb2b_board_tr_jesd204b.nof_bus)-1 downto 0);
+  SIGNAL JESD204B_SERIAL_DATA : STD_LOGIC_VECTOR(c_sdp_S_pn-1 downto 0);
   SIGNAL JESD204B_REFCLK      : STD_LOGIC := '1';
 
   -- jesd204b syncronization signals
   SIGNAL jesd204b_sysref     : STD_LOGIC;
-  SIGNAL jesd204b_sync_n     : STD_LOGIC_VECTOR((c_unb2b_board_tr_jesd204b.nof_bus * c_unb2b_board_tr_jesd204b.bus_w)-1 DOWNTO 0);
+  SIGNAL jesd204b_sync_n     : STD_LOGIC_VECTOR(c_sdp_N_sync_jesd-1 DOWNTO 0);
 
 BEGIN
 
diff --git a/applications/lofar2/designs/lofar2_unb2b_sdp_station/revisions/lofar2_unb2b_sdp_station_bf/tb_lofar2_unb2b_sdp_station_bf_bst_offload.vhd b/applications/lofar2/designs/lofar2_unb2b_sdp_station/revisions/lofar2_unb2b_sdp_station_bf/tb_lofar2_unb2b_sdp_station_bf_bst_offload.vhd
index 6d2fd81124120d6d77ff2bb6b55a8f1efa55d1e9..a074912f158de3a06665064efad16d4bc15d5e06 100644
--- a/applications/lofar2/designs/lofar2_unb2b_sdp_station/revisions/lofar2_unb2b_sdp_station_bf/tb_lofar2_unb2b_sdp_station_bf_bst_offload.vhd
+++ b/applications/lofar2/designs/lofar2_unb2b_sdp_station/revisions/lofar2_unb2b_sdp_station_bf/tb_lofar2_unb2b_sdp_station_bf_bst_offload.vhd
@@ -114,12 +114,12 @@ ARCHITECTURE tb OF tb_lofar2_unb2b_sdp_station_bf_bst_offload IS
   SIGNAL pmbus_sda           : STD_LOGIC;
 
   -- back transceivers
-  SIGNAL JESD204B_SERIAL_DATA : STD_LOGIC_VECTOR((c_unb2b_board_tr_jesd204b.bus_w * c_unb2b_board_tr_jesd204b.nof_bus)-1 downto 0);
+  SIGNAL JESD204B_SERIAL_DATA : STD_LOGIC_VECTOR(c_sdp_S_pn-1 downto 0);
   SIGNAL JESD204B_REFCLK      : STD_LOGIC := '1';
 
   -- jesd204b syncronization signals
   SIGNAL jesd204b_sysref     : STD_LOGIC;
-  SIGNAL jesd204b_sync_n     : STD_LOGIC_VECTOR((c_unb2b_board_tr_jesd204b.nof_bus * c_unb2b_board_tr_jesd204b.bus_w)-1 DOWNTO 0);
+  SIGNAL jesd204b_sync_n     : STD_LOGIC_VECTOR(c_sdp_N_sync_jesd-1 DOWNTO 0);
 
 BEGIN
 
diff --git a/applications/lofar2/designs/lofar2_unb2b_sdp_station/revisions/lofar2_unb2b_sdp_station_fsub/lofar2_unb2b_sdp_station_fsub.vhd b/applications/lofar2/designs/lofar2_unb2b_sdp_station/revisions/lofar2_unb2b_sdp_station_fsub/lofar2_unb2b_sdp_station_fsub.vhd
index 400fe27233737e4c5f2ae87ba48ca33d84c00f6b..545df7db360be7e6787bb639547087862ed88bbe 100644
--- a/applications/lofar2/designs/lofar2_unb2b_sdp_station/revisions/lofar2_unb2b_sdp_station_fsub/lofar2_unb2b_sdp_station_fsub.vhd
+++ b/applications/lofar2/designs/lofar2_unb2b_sdp_station/revisions/lofar2_unb2b_sdp_station_fsub/lofar2_unb2b_sdp_station_fsub.vhd
@@ -77,12 +77,12 @@ ENTITY lofar2_unb2b_sdp_station_fsub IS
     QSFP_LED     : OUT   STD_LOGIC_VECTOR(c_unb2b_board_tr_qsfp_nof_leds-1 DOWNTO 0);
 
      -- back transceivers (note only 6 are used in unb2b)
-    BCK_RX       : IN    STD_LOGIC_VECTOR(c_unb2b_board_nof_tr_jesd204b + c_unb2b_board_start_tr_jesd204b-1  downto c_unb2b_board_nof_tr_jesd204b);
+    BCK_RX       : IN    STD_LOGIC_VECTOR(c_unb2b_board_nof_tr_jesd204b + c_unb2b_board_start_tr_jesd204b-1 downto c_unb2b_board_nof_tr_jesd204b);  -- c_unb2b_board_nof_tr_jesd204b = 6, c_sdp_S_pn = 12
     BCK_REF_CLK  : IN    STD_LOGIC; -- Use as JESD204B_REFCLK
  
     -- jesd204b syncronization signals (2 syncs)
     JESD204B_SYSREF : IN    STD_LOGIC;
-    JESD204B_SYNC_N : OUT   STD_LOGIC_VECTOR(c_unb2b_board_nof_sync_jesd204b-1 DOWNTO 0)
+    JESD204B_SYNC_N : OUT   STD_LOGIC_VECTOR(c_unb2b_board_nof_sync_jesd204b-1 DOWNTO 0)  -- c_unb2b_board_nof_sync_jesd204b = c_sdp_N_sync_jesd = 4
   );
 END lofar2_unb2b_sdp_station_fsub;
  
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 11ba0e50633755c40968d46b363c344c6cb45749..89a6b269fc445034dbf6e1f6976e11850b601406 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
@@ -150,12 +150,12 @@ ARCHITECTURE tb OF tb_lofar2_unb2b_sdp_station_fsub IS
   SIGNAL pmbus_sda           : STD_LOGIC;
 
   -- back transceivers
-  SIGNAL JESD204B_SERIAL_DATA : STD_LOGIC_VECTOR((c_unb2b_board_tr_jesd204b.bus_w * c_unb2b_board_tr_jesd204b.nof_bus)-1 downto 0);
+  SIGNAL JESD204B_SERIAL_DATA : STD_LOGIC_VECTOR(c_sdp_S_pn-1 downto 0);
   SIGNAL JESD204B_REFCLK      : STD_LOGIC := '1';
 
   -- jesd204b syncronization signals
   SIGNAL jesd204b_sysref     : STD_LOGIC;
-  SIGNAL jesd204b_sync_n     : STD_LOGIC_VECTOR((c_unb2b_board_tr_jesd204b.nof_bus * c_unb2b_board_tr_jesd204b.bus_w)-1 DOWNTO 0);
+  SIGNAL jesd204b_sync_n     : STD_LOGIC_VECTOR(c_sdp_N_sync_jesd-1 DOWNTO 0);
 
 BEGIN
 
diff --git a/applications/lofar2/designs/lofar2_unb2b_sdp_station/revisions/lofar2_unb2b_sdp_station_fsub/tb_lofar2_unb2b_sdp_station_fsub_sst_offload.vhd b/applications/lofar2/designs/lofar2_unb2b_sdp_station/revisions/lofar2_unb2b_sdp_station_fsub/tb_lofar2_unb2b_sdp_station_fsub_sst_offload.vhd
index 725e9cc20df2788c6b317c0a017871e203e12187..d819aae880484f3eb5087e33173d1e3224a8547e 100644
--- a/applications/lofar2/designs/lofar2_unb2b_sdp_station/revisions/lofar2_unb2b_sdp_station_fsub/tb_lofar2_unb2b_sdp_station_fsub_sst_offload.vhd
+++ b/applications/lofar2/designs/lofar2_unb2b_sdp_station/revisions/lofar2_unb2b_sdp_station_fsub/tb_lofar2_unb2b_sdp_station_fsub_sst_offload.vhd
@@ -58,9 +58,9 @@ END tb_lofar2_unb2b_sdp_station_fsub_sst_offload;
 ARCHITECTURE tb OF tb_lofar2_unb2b_sdp_station_fsub_sst_offload IS
 
   CONSTANT c_sim             : BOOLEAN := TRUE;
-  CONSTANT c_unb_nr          : NATURAL := 0; -- UniBoard 0
-  CONSTANT c_node_nr         : NATURAL := 0; 
-  CONSTANT c_id              : STD_LOGIC_VECTOR(7 DOWNTO 0) := "00000000";
+  CONSTANT c_unb_nr          : NATURAL := 2;
+  CONSTANT c_node_nr         : NATURAL := 1;
+  CONSTANT c_id              : STD_LOGIC_VECTOR(7 DOWNTO 0) := TO_UVEC(c_unb_nr * 4 + c_node_nr, 8);  -- c_unb2b_board_nof_node = 4, c_unb2b_board_aux.id_w = 8
   CONSTANT c_version         : STD_LOGIC_VECTOR(1 DOWNTO 0) := "00";
   CONSTANT c_fw_version      : t_unb2b_board_fw_version := (1, 0);
 
@@ -77,7 +77,7 @@ ARCHITECTURE tb OF tb_lofar2_unb2b_sdp_station_fsub_sst_offload IS
 
   -- MM  
   CONSTANT c_mm_file_reg_bsn_source_v2    : STRING := mmf_unb_file_prefix(c_unb_nr, c_node_nr) & "REG_BSN_SOURCE_V2";
-  CONSTANT c_mm_file_reg_stat_enable      : STRING := mmf_unb_file_prefix(c_unb_nr, c_node_nr) & "REG_STAT_ENABLE_SST";
+  CONSTANT c_mm_file_reg_stat_enable_sst  : STRING := mmf_unb_file_prefix(c_unb_nr, c_node_nr) & "REG_STAT_ENABLE_SST";
 
   -- Tb
   SIGNAL tb_end              : STD_LOGIC := '0';
@@ -114,12 +114,12 @@ ARCHITECTURE tb OF tb_lofar2_unb2b_sdp_station_fsub_sst_offload IS
   SIGNAL pmbus_sda           : STD_LOGIC;
 
   -- back transceivers
-  SIGNAL JESD204B_SERIAL_DATA : STD_LOGIC_VECTOR((c_unb2b_board_tr_jesd204b.bus_w * c_unb2b_board_tr_jesd204b.nof_bus)-1 downto 0);
+  SIGNAL JESD204B_SERIAL_DATA : STD_LOGIC_VECTOR(c_sdp_S_pn-1 downto 0);
   SIGNAL JESD204B_REFCLK      : STD_LOGIC := '1';
 
   -- jesd204b syncronization signals
   SIGNAL jesd204b_sysref     : STD_LOGIC;
-  SIGNAL jesd204b_sync_n     : STD_LOGIC_VECTOR((c_unb2b_board_tr_jesd204b.nof_bus * c_unb2b_board_tr_jesd204b.bus_w)-1 DOWNTO 0);
+  SIGNAL jesd204b_sync_n     : STD_LOGIC_VECTOR(c_sdp_N_sync_jesd-1 DOWNTO 0);
 
 BEGIN
 
@@ -217,7 +217,7 @@ BEGIN
     ----------------------------------------------------------------------------
     -- Offload enable
     ----------------------------------------------------------------------------
-    mmf_mm_bus_wr(c_mm_file_reg_stat_enable, 0, 1, tb_clk);
+    mmf_mm_bus_wr(c_mm_file_reg_stat_enable_sst, 0, 1, tb_clk);
 
     -- wait for udp offload is done
     proc_common_wait_until_high(ext_clk, eth_done);
diff --git a/applications/lofar2/designs/lofar2_unb2b_sdp_station/revisions/lofar2_unb2b_sdp_station_full/lofar2_unb2b_sdp_station_full.vhd b/applications/lofar2/designs/lofar2_unb2b_sdp_station/revisions/lofar2_unb2b_sdp_station_full/lofar2_unb2b_sdp_station_full.vhd
index 1a632eb879a3475b6c433c8444ca6a3210cd5f35..43623ac2bc174a5aaa9ff1106c4315e37ff26849 100644
--- a/applications/lofar2/designs/lofar2_unb2b_sdp_station/revisions/lofar2_unb2b_sdp_station_full/lofar2_unb2b_sdp_station_full.vhd
+++ b/applications/lofar2/designs/lofar2_unb2b_sdp_station/revisions/lofar2_unb2b_sdp_station_full/lofar2_unb2b_sdp_station_full.vhd
@@ -84,12 +84,12 @@ ENTITY lofar2_unb2b_sdp_station_full IS
     QSFP_LED     : OUT   STD_LOGIC_VECTOR(c_unb2b_board_tr_qsfp_nof_leds-1 DOWNTO 0);
 
      -- back transceivers (note only 6 are used in unb2b)
-    BCK_RX       : IN    STD_LOGIC_VECTOR(c_unb2b_board_nof_tr_jesd204b + c_unb2b_board_start_tr_jesd204b-1  downto c_unb2b_board_nof_tr_jesd204b);
+    BCK_RX       : IN    STD_LOGIC_VECTOR(c_unb2b_board_nof_tr_jesd204b + c_unb2b_board_start_tr_jesd204b-1 downto c_unb2b_board_nof_tr_jesd204b);  -- c_unb2b_board_nof_tr_jesd204b = 6, c_sdp_S_pn = 12
     BCK_REF_CLK  : IN    STD_LOGIC; -- Use as JESD204B_REFCLK
  
     -- jesd204b syncronization signals (2 syncs)
     JESD204B_SYSREF : IN    STD_LOGIC;
-    JESD204B_SYNC_N : OUT   STD_LOGIC_VECTOR(c_unb2b_board_nof_sync_jesd204b-1 DOWNTO 0)
+    JESD204B_SYNC_N : OUT   STD_LOGIC_VECTOR(c_unb2b_board_nof_sync_jesd204b-1 DOWNTO 0)  -- c_unb2b_board_nof_sync_jesd204b = c_sdp_N_sync_jesd = 4
   );
 END lofar2_unb2b_sdp_station_full;
  
diff --git a/applications/lofar2/designs/lofar2_unb2b_sdp_station/revisions/lofar2_unb2b_sdp_station_xsub_one/lofar2_unb2b_sdp_station_xsub_one.vhd b/applications/lofar2/designs/lofar2_unb2b_sdp_station/revisions/lofar2_unb2b_sdp_station_xsub_one/lofar2_unb2b_sdp_station_xsub_one.vhd
index 260e3eba61fa9c481ca3e7302206ec3866d5f8e3..c37c83005d6ed1e88cb54a27c067be7caa311515 100644
--- a/applications/lofar2/designs/lofar2_unb2b_sdp_station/revisions/lofar2_unb2b_sdp_station_xsub_one/lofar2_unb2b_sdp_station_xsub_one.vhd
+++ b/applications/lofar2/designs/lofar2_unb2b_sdp_station/revisions/lofar2_unb2b_sdp_station_xsub_one/lofar2_unb2b_sdp_station_xsub_one.vhd
@@ -77,12 +77,12 @@ ENTITY lofar2_unb2b_sdp_station_xsub_one IS
     QSFP_LED     : OUT   STD_LOGIC_VECTOR(c_unb2b_board_tr_qsfp_nof_leds-1 DOWNTO 0);
 
      -- back transceivers (note only 6 are used in unb2b)
-    BCK_RX       : IN    STD_LOGIC_VECTOR(c_unb2b_board_nof_tr_jesd204b + c_unb2b_board_start_tr_jesd204b-1  downto c_unb2b_board_nof_tr_jesd204b);
+    BCK_RX       : IN    STD_LOGIC_VECTOR(c_unb2b_board_nof_tr_jesd204b + c_unb2b_board_start_tr_jesd204b-1 downto c_unb2b_board_nof_tr_jesd204b);  -- c_unb2b_board_nof_tr_jesd204b = 6, c_sdp_S_pn = 12
     BCK_REF_CLK  : IN    STD_LOGIC; -- Use as JESD204B_REFCLK
  
     -- jesd204b syncronization signals (2 syncs)
     JESD204B_SYSREF : IN    STD_LOGIC;
-    JESD204B_SYNC_N : OUT   STD_LOGIC_VECTOR(c_unb2b_board_nof_sync_jesd204b-1 DOWNTO 0)
+    JESD204B_SYNC_N : OUT   STD_LOGIC_VECTOR(c_unb2b_board_nof_sync_jesd204b-1 DOWNTO 0)  -- c_unb2b_board_nof_sync_jesd204b = c_sdp_N_sync_jesd = 4
   );
 END lofar2_unb2b_sdp_station_xsub_one;
  
diff --git a/applications/lofar2/designs/lofar2_unb2b_sdp_station/revisions/lofar2_unb2b_sdp_station_xsub_one/tb_lofar2_unb2b_sdp_station_xsub_one.vhd b/applications/lofar2/designs/lofar2_unb2b_sdp_station/revisions/lofar2_unb2b_sdp_station_xsub_one/tb_lofar2_unb2b_sdp_station_xsub_one.vhd
index e38b78de43927f210ac0adc716159bb7b180f974..ca1aa3906de6a94d526d2b1b8c1ecc4330a2acb5 100644
--- a/applications/lofar2/designs/lofar2_unb2b_sdp_station/revisions/lofar2_unb2b_sdp_station_xsub_one/tb_lofar2_unb2b_sdp_station_xsub_one.vhd
+++ b/applications/lofar2/designs/lofar2_unb2b_sdp_station/revisions/lofar2_unb2b_sdp_station_xsub_one/tb_lofar2_unb2b_sdp_station_xsub_one.vhd
@@ -148,12 +148,12 @@ ARCHITECTURE tb OF tb_lofar2_unb2b_sdp_station_xsub_one IS
   SIGNAL pmbus_sda           : STD_LOGIC;
 
   -- back transceivers
-  SIGNAL JESD204B_SERIAL_DATA : STD_LOGIC_VECTOR((c_unb2b_board_tr_jesd204b.bus_w * c_unb2b_board_tr_jesd204b.nof_bus)-1 downto 0);
+  SIGNAL JESD204B_SERIAL_DATA : STD_LOGIC_VECTOR(c_sdp_S_pn-1 downto 0);
   SIGNAL JESD204B_REFCLK      : STD_LOGIC := '1';
 
   -- jesd204b syncronization signals
   SIGNAL jesd204b_sysref     : STD_LOGIC;
-  SIGNAL jesd204b_sync_n     : STD_LOGIC_VECTOR((c_unb2b_board_tr_jesd204b.nof_bus * c_unb2b_board_tr_jesd204b.bus_w)-1 DOWNTO 0);
+  SIGNAL jesd204b_sync_n     : STD_LOGIC_VECTOR(c_sdp_N_sync_jesd-1 DOWNTO 0);
 
 BEGIN
 
diff --git a/applications/lofar2/designs/lofar2_unb2b_sdp_station/revisions/lofar2_unb2b_sdp_station_xsub_one/tb_lofar2_unb2b_sdp_station_xsub_one_xst_offload.vhd b/applications/lofar2/designs/lofar2_unb2b_sdp_station/revisions/lofar2_unb2b_sdp_station_xsub_one/tb_lofar2_unb2b_sdp_station_xsub_one_xst_offload.vhd
index 3ea6397634aea1802adacf6985b0f7f951f34c18..a7ec9c1b89ecb74b30c1773db145ac4eb7efba0e 100644
--- a/applications/lofar2/designs/lofar2_unb2b_sdp_station/revisions/lofar2_unb2b_sdp_station_xsub_one/tb_lofar2_unb2b_sdp_station_xsub_one_xst_offload.vhd
+++ b/applications/lofar2/designs/lofar2_unb2b_sdp_station/revisions/lofar2_unb2b_sdp_station_xsub_one/tb_lofar2_unb2b_sdp_station_xsub_one_xst_offload.vhd
@@ -58,9 +58,9 @@ END tb_lofar2_unb2b_sdp_station_xsub_one_xst_offload;
 ARCHITECTURE tb OF tb_lofar2_unb2b_sdp_station_xsub_one_xst_offload IS
 
   CONSTANT c_sim             : BOOLEAN := TRUE;
-  CONSTANT c_unb_nr          : NATURAL := 0; -- UniBoard 0
-  CONSTANT c_node_nr         : NATURAL := 0; 
-  CONSTANT c_id              : STD_LOGIC_VECTOR(7 DOWNTO 0) := "00000000";
+  CONSTANT c_unb_nr          : NATURAL := 2;
+  CONSTANT c_node_nr         : NATURAL := 1;
+  CONSTANT c_id              : STD_LOGIC_VECTOR(7 DOWNTO 0) := TO_UVEC(c_unb_nr * 4 + c_node_nr, 8);  -- c_unb2b_board_nof_node = 4, c_unb2b_board_aux.id_w = 8
   CONSTANT c_version         : STD_LOGIC_VECTOR(1 DOWNTO 0) := "00";
   CONSTANT c_fw_version      : t_unb2b_board_fw_version := (1, 0);
 
@@ -116,12 +116,12 @@ ARCHITECTURE tb OF tb_lofar2_unb2b_sdp_station_xsub_one_xst_offload IS
   SIGNAL pmbus_sda           : STD_LOGIC;
 
   -- back transceivers
-  SIGNAL JESD204B_SERIAL_DATA : STD_LOGIC_VECTOR((c_unb2b_board_tr_jesd204b.bus_w * c_unb2b_board_tr_jesd204b.nof_bus)-1 downto 0);
+  SIGNAL JESD204B_SERIAL_DATA : STD_LOGIC_VECTOR(c_sdp_S_pn-1 downto 0);
   SIGNAL JESD204B_REFCLK      : STD_LOGIC := '1';
 
   -- jesd204b syncronization signals
   SIGNAL jesd204b_sysref     : STD_LOGIC;
-  SIGNAL jesd204b_sync_n     : STD_LOGIC_VECTOR((c_unb2b_board_tr_jesd204b.nof_bus * c_unb2b_board_tr_jesd204b.bus_w)-1 DOWNTO 0);
+  SIGNAL jesd204b_sync_n     : STD_LOGIC_VECTOR(c_sdp_N_sync_jesd-1 DOWNTO 0);
 
 BEGIN
 
@@ -220,8 +220,8 @@ BEGIN
     -- Enable xsub
     ----------------------------------------------------------------------------
     mmf_mm_bus_wr(c_mm_file_reg_bsn_sync_scheduler_xsub, 1, c_ctrl_interval_size, tb_clk);  -- Interval size
-    mmf_mm_bus_wr(c_mm_file_reg_bsn_sync_scheduler_xsub, 2, c_nof_block_per_sync, tb_clk);  -- first write low then high part
-    mmf_mm_bus_wr(c_mm_file_reg_bsn_sync_scheduler_xsub, 3,                    0, tb_clk);  -- assume v_bsn < 2**31-1
+    mmf_mm_bus_wr(c_mm_file_reg_bsn_sync_scheduler_xsub, 2, c_nof_block_per_sync, tb_clk);  -- first write bsn low then bsn high part
+    mmf_mm_bus_wr(c_mm_file_reg_bsn_sync_scheduler_xsub, 3,                    0, tb_clk);  -- bsn high, assume v_bsn < 2**31-1
     mmf_mm_bus_wr(c_mm_file_reg_bsn_sync_scheduler_xsub, 0,                    1, tb_clk);  -- enable
     ----------------------------------------------------------------------------
     -- Offload enable
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 7790d20c01c070a274d02b6d86867d9a73451054..5ef428fc81d209f9565815d0d99d022f50e7cd3f 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
@@ -58,7 +58,7 @@ ENTITY lofar2_unb2b_sdp_station IS
     g_factory_image          : BOOLEAN := FALSE;
     g_protect_addr_range     : BOOLEAN := FALSE;
     g_wpfb                   : t_wpfb  := c_sdp_wpfb_subbands;
-    g_bsn_nof_clk_per_sync   : NATURAL := c_sdp_f_adc_MHz*10**6;  -- Default 200M, overide for short simulation 
+    g_bsn_nof_clk_per_sync   : NATURAL := c_sdp_N_clk_per_sync;  -- Default 200M, overide for short simulation
     g_scope_selected_subband : NATURAL := 0
   );
   PORT (
@@ -96,13 +96,13 @@ ENTITY lofar2_unb2b_sdp_station IS
     QSFP_LED     : OUT   STD_LOGIC_VECTOR(c_unb2b_board_tr_qsfp_nof_leds-1 DOWNTO 0);
 
      -- back transceivers (Note: numbered from 0)
-    JESD204B_SERIAL_DATA       : IN    STD_LOGIC_VECTOR(c_sdp_S_pn-1 downto 0); 
+    JESD204B_SERIAL_DATA       : IN    STD_LOGIC_VECTOR(c_sdp_S_pn-1 downto 0);  -- c_sdp_S_pn = 12, c_unb2b_board_nof_tr_jesd204b = 6
                                                   -- Connect to the BCK_RX pins in the top wrapper
     JESD204B_REFCLK            : IN    STD_LOGIC; -- Connect to BCK_REF_CLK pin in the top level wrapper
  
     -- jesd204b syncronization signals
     JESD204B_SYSREF            : IN    STD_LOGIC;
-    JESD204B_SYNC_N            : OUT   STD_LOGIC_VECTOR(c_sdp_N_sync_jesd-1 DOWNTO 0)
+    JESD204B_SYNC_N            : OUT   STD_LOGIC_VECTOR(c_sdp_N_sync_jesd-1 DOWNTO 0)  -- c_unb2b_board_nof_sync_jesd204b = c_sdp_N_sync_jesd = 4
   );
 END lofar2_unb2b_sdp_station;
 
@@ -115,7 +115,6 @@ ARCHITECTURE str OF lofar2_unb2b_sdp_station IS
   -- Firmware version x.y
   CONSTANT c_fw_version             : t_unb2b_board_fw_version := (2, 0);
   CONSTANT c_mm_clk_freq            : NATURAL := c_unb2b_board_mm_clk_freq_100M;
-  CONSTANT c_lofar2_sample_clk_freq : NATURAL := c_sdp_f_adc_MHz * 10**6;  -- fixed 200 MHz for LOFAR2.0 stage 1
 
   -- 10 GbE Interface
   CONSTANT c_nof_streams_qsfp       : NATURAL := c_unb2b_board_tr_qsfp.nof_bus * c_quad;
diff --git a/applications/lofar2/designs/lofar2_unb2b_sdp_station/tb/vhdl/tb_lofar2_unb2b_sdp_station.vhd b/applications/lofar2/designs/lofar2_unb2b_sdp_station/tb/vhdl/tb_lofar2_unb2b_sdp_station.vhd
index d3198bf0d2b4db7888cd4efed534c3cdc08ca31d..3c63f38cd1b46e389ec71d96f70af019f539ee1f 100644
--- a/applications/lofar2/designs/lofar2_unb2b_sdp_station/tb/vhdl/tb_lofar2_unb2b_sdp_station.vhd
+++ b/applications/lofar2/designs/lofar2_unb2b_sdp_station/tb/vhdl/tb_lofar2_unb2b_sdp_station.vhd
@@ -21,8 +21,14 @@
 -- Usage:
 --   > as 7    # default
 --   > as 12   # for detailed debugging
---   > run -a  
+--   > run -a  # takes about 250 us --> c_eth_runtime_timeout
 --
+-- Remark:
+-- - Only verify that there is statistics offload.
+-- - The statistics data gets undefined, due to that the c_nof_block_per_sync
+--   is too short to offload 12 SST packets via 1GbE. This causes that new
+--   data is available before the old data has been offloaded. Therefore use
+--   c_eth_check_nof_packets = 1 instead of S_pn = 12.
 -------------------------------------------------------------------------------
 LIBRARY IEEE, common_lib, unb2b_board_lib, i2c_lib, mm_lib, dp_lib, diag_lib, lofar2_sdp_lib, wpfb_lib, eth_lib;
 USE IEEE.std_logic_1164.ALL;
@@ -72,13 +78,15 @@ ARCHITECTURE tb OF tb_lofar2_unb2b_sdp_station IS
   CONSTANT c_wg_ampl_lsb                  : REAL := c_diag_wg_ampl_unit / c_full_scale_ampl;  -- amplitude in number of LSbit resolution steps
 
 -- . 1GbE output
-  CONSTANT c_eth_check_nof_packets        : NATURAL := 4512;  -- received packets in 2 sync periods
-  CONSTANT c_eth_runtime_timeout          : TIME := 100 ms;  -- factor 2 margin
+  CONSTANT c_eth_check_nof_packets        : NATURAL := 1;
+  CONSTANT c_eth_runtime_timeout          : TIME := 300 us;
   
   -- MM  
   CONSTANT c_mm_file_reg_bsn_source_v2    : STRING := mmf_unb_file_prefix(c_unb_nr, c_node_nr) & "REG_BSN_SOURCE_V2";
   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_reg_stat_enable_sst  : STRING := mmf_unb_file_prefix(c_unb_nr, c_node_nr) & "REG_STAT_ENABLE_SST";
+  CONSTANT c_mm_file_reg_stat_hdr_dat_sst : STRING := mmf_unb_file_prefix(c_unb_nr, c_node_nr) & "REG_STAT_HDR_DAT_SST";
 
   -- Tb
   SIGNAL tb_end               : STD_LOGIC := '0';
@@ -110,12 +118,12 @@ ARCHITECTURE tb OF tb_lofar2_unb2b_sdp_station IS
   SIGNAL pmbus_sda            : STD_LOGIC;
 
   -- back transceivers
-  SIGNAL JESD204B_SERIAL_DATA : STD_LOGIC_VECTOR((c_unb2b_board_tr_jesd204b.bus_w * c_unb2b_board_tr_jesd204b.nof_bus)-1 downto 0);
+  SIGNAL JESD204B_SERIAL_DATA : STD_LOGIC_VECTOR(c_sdp_S_pn-1 downto 0);
   SIGNAL JESD204B_REFCLK      : STD_LOGIC := '1';
 
   -- jesd204b syncronization signals
   SIGNAL jesd204b_sysref      : STD_LOGIC;
-  SIGNAL jesd204b_sync_n      : STD_LOGIC_VECTOR((c_unb2b_board_tr_jesd204b.nof_bus * c_unb2b_board_tr_jesd204b.bus_w)-1 DOWNTO 0);
+  SIGNAL jesd204b_sync_n      : STD_LOGIC_VECTOR(c_sdp_N_sync_jesd-1 DOWNTO 0);
 
 BEGIN
 
@@ -192,9 +200,7 @@ BEGIN
   tb_clk <= (NOT tb_clk) OR tb_end AFTER c_tb_clk_period/2;    -- Testbench MM clock
   
   p_mm_stimuli : PROCESS
-    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";
-    VARIABLE v_bsn                       : NATURAL;
+    VARIABLE v_bsn                          : NATURAL;
   BEGIN
     -- Wait for DUT power up after reset
     WAIT FOR 1 us;
@@ -235,7 +241,7 @@ BEGIN
     WAIT FOR c_sdp_T_sub * 2;
 
     -- Offload enable
-    mmf_mm_bus_wr(c_mm_file_reg_stat_enable, 0, 1, tb_clk);
+    mmf_mm_bus_wr(c_mm_file_reg_stat_enable_sst, 0, 1, tb_clk);
     
     -- End Simulation
     proc_common_wait_until_high(ext_clk, eth_done);
@@ -246,12 +252,10 @@ BEGIN
 
   -- >> Verify proper DUT output using Ethernet packet statistics <<
   u_eth_statistics : ENTITY eth_lib.eth_statistics
-    GENERIC MAP (
-      g_runtime_nof_packets => c_eth_check_nof_packets,
-      g_runtime_timeout     => c_eth_runtime_timeout,
-      g_check_nof_valid     => TRUE,
-      g_check_nof_valid_ref => c_eth_check_nof_packets
-    )
+  GENERIC MAP (
+    g_runtime_nof_packets => c_eth_check_nof_packets,
+    g_runtime_timeout     => c_eth_runtime_timeout
+  )
   PORT MAP (  
     eth_serial_in => eth_txp(0),
     tb_end        => eth_done
diff --git a/applications/lofar2/designs/lofar2_unb2c_sdp_station/revisions/lofar2_unb2c_sdp_station_adc/lofar2_unb2c_sdp_station_adc.vhd b/applications/lofar2/designs/lofar2_unb2c_sdp_station/revisions/lofar2_unb2c_sdp_station_adc/lofar2_unb2c_sdp_station_adc.vhd
index c7ace4c1d3eabd4e79efecdad9c7f6a5072a448a..47560a641f9d58d56f1ca6b485baeea043c49507 100644
--- a/applications/lofar2/designs/lofar2_unb2c_sdp_station/revisions/lofar2_unb2c_sdp_station_adc/lofar2_unb2c_sdp_station_adc.vhd
+++ b/applications/lofar2/designs/lofar2_unb2c_sdp_station/revisions/lofar2_unb2c_sdp_station_adc/lofar2_unb2c_sdp_station_adc.vhd
@@ -69,12 +69,12 @@ ENTITY lofar2_unb2c_sdp_station_adc IS
     QSFP_LED     : OUT   STD_LOGIC_VECTOR(c_unb2c_board_tr_qsfp_nof_leds-1 DOWNTO 0);
 
      -- back transceivers (note only 12 are used in unb2c)
-    BCK_RX       : IN    STD_LOGIC_VECTOR(c_unb2c_board_nof_tr_jesd204b-1 DOWNTO 0);
+    BCK_RX       : IN    STD_LOGIC_VECTOR(c_unb2c_board_nof_tr_jesd204b-1 DOWNTO 0);  -- c_unb2c_board_nof_tr_jesd204b = c_sdp_S_pn = 12
     BCK_REF_CLK  : IN    STD_LOGIC; -- Use as JESD204B_REFCLK
  
     -- jesd204b syncronization signals (4 syncs)
     JESD204B_SYSREF : IN    STD_LOGIC;
-    JESD204B_SYNC_N : OUT   STD_LOGIC_VECTOR(c_unb2c_board_nof_sync_jesd204b-1 DOWNTO 0)
+    JESD204B_SYNC_N : OUT   STD_LOGIC_VECTOR(c_unb2c_board_nof_sync_jesd204b-1 DOWNTO 0)  -- c_unb2c_board_nof_sync_jesd204b = c_sdp_N_sync_jesd = 4
   );
 END lofar2_unb2c_sdp_station_adc;
  
diff --git a/applications/lofar2/designs/lofar2_unb2c_sdp_station/revisions/lofar2_unb2c_sdp_station_adc/tb_lofar2_unb2c_sdp_station_adc.vhd b/applications/lofar2/designs/lofar2_unb2c_sdp_station/revisions/lofar2_unb2c_sdp_station_adc/tb_lofar2_unb2c_sdp_station_adc.vhd
index 0125a8bca8339da07b60c5077dd265248a75b65a..6f191077675c51968fbc4bfc36c193b6f2aaf07e 100644
--- a/applications/lofar2/designs/lofar2_unb2c_sdp_station/revisions/lofar2_unb2c_sdp_station_adc/tb_lofar2_unb2c_sdp_station_adc.vhd
+++ b/applications/lofar2/designs/lofar2_unb2c_sdp_station/revisions/lofar2_unb2c_sdp_station_adc/tb_lofar2_unb2c_sdp_station_adc.vhd
@@ -132,12 +132,12 @@ ARCHITECTURE tb OF tb_lofar2_unb2c_sdp_station_adc IS
   SIGNAL eth_rxp             : STD_LOGIC_VECTOR(c_unb2c_board_nof_eth-1 downto 0);
 
   -- back transceivers
-  SIGNAL JESD204B_SERIAL_DATA : STD_LOGIC_VECTOR((c_unb2c_board_tr_jesd204b.bus_w * c_unb2c_board_tr_jesd204b.nof_bus)-1 downto 0);
+  SIGNAL JESD204B_SERIAL_DATA : STD_LOGIC_VECTOR(c_sdp_S_pn-1 downto 0);
   SIGNAL JESD204B_REFCLK      : STD_LOGIC := '1';
 
   -- jesd204b syncronization signals
   SIGNAL jesd204b_sysref     : STD_LOGIC;
-  SIGNAL jesd204b_sync_n     : STD_LOGIC_VECTOR((c_unb2c_board_tr_jesd204b.nof_bus * c_unb2c_board_tr_jesd204b.bus_w)-1 DOWNTO 0);
+  SIGNAL jesd204b_sync_n     : STD_LOGIC_VECTOR(c_sdp_N_sync_jesd-1 DOWNTO 0);
 
 BEGIN
 
diff --git a/applications/lofar2/designs/lofar2_unb2c_sdp_station/revisions/lofar2_unb2c_sdp_station_bf/lofar2_unb2c_sdp_station_bf.vhd b/applications/lofar2/designs/lofar2_unb2c_sdp_station/revisions/lofar2_unb2c_sdp_station_bf/lofar2_unb2c_sdp_station_bf.vhd
index a24859007bcc2cbd1512cd9c03211310f09e83e6..5dc6678c91cbef092d6bf4d2dabb207d27344f0e 100644
--- a/applications/lofar2/designs/lofar2_unb2c_sdp_station/revisions/lofar2_unb2c_sdp_station_bf/lofar2_unb2c_sdp_station_bf.vhd
+++ b/applications/lofar2/designs/lofar2_unb2c_sdp_station/revisions/lofar2_unb2c_sdp_station_bf/lofar2_unb2c_sdp_station_bf.vhd
@@ -76,12 +76,12 @@ ENTITY lofar2_unb2c_sdp_station_bf IS
     QSFP_LED     : OUT   STD_LOGIC_VECTOR(c_unb2c_board_tr_qsfp_nof_leds-1 DOWNTO 0);
 
      -- back transceivers (note only 12 are used in unb2c)
-    BCK_RX       : IN    STD_LOGIC_VECTOR(c_unb2c_board_nof_tr_jesd204b-1 DOWNTO 0);
+    BCK_RX       : IN    STD_LOGIC_VECTOR(c_unb2c_board_nof_tr_jesd204b-1 DOWNTO 0);  -- c_unb2c_board_nof_tr_jesd204b = c_sdp_S_pn = 12
     BCK_REF_CLK  : IN    STD_LOGIC; -- Use as JESD204B_REFCLK
  
     -- jesd204b syncronization signals (4 syncs)
     JESD204B_SYSREF : IN    STD_LOGIC;
-    JESD204B_SYNC_N : OUT   STD_LOGIC_VECTOR(c_unb2c_board_nof_sync_jesd204b-1 DOWNTO 0)
+    JESD204B_SYNC_N : OUT   STD_LOGIC_VECTOR(c_unb2c_board_nof_sync_jesd204b-1 DOWNTO 0)  -- c_unb2c_board_nof_sync_jesd204b = c_sdp_N_sync_jesd = 4
   );
 END lofar2_unb2c_sdp_station_bf;
  
diff --git a/applications/lofar2/designs/lofar2_unb2c_sdp_station/revisions/lofar2_unb2c_sdp_station_bf/tb_lofar2_unb2c_sdp_station_bf.vhd b/applications/lofar2/designs/lofar2_unb2c_sdp_station/revisions/lofar2_unb2c_sdp_station_bf/tb_lofar2_unb2c_sdp_station_bf.vhd
index b5bc94fa3071de4b1ab1e23e065299114b763f0e..4cdb49bef0859e4a0806939659c6fa8b1b179e26 100644
--- a/applications/lofar2/designs/lofar2_unb2c_sdp_station/revisions/lofar2_unb2c_sdp_station_bf/tb_lofar2_unb2c_sdp_station_bf.vhd
+++ b/applications/lofar2/designs/lofar2_unb2c_sdp_station/revisions/lofar2_unb2c_sdp_station_bf/tb_lofar2_unb2c_sdp_station_bf.vhd
@@ -171,12 +171,12 @@ ARCHITECTURE tb OF tb_lofar2_unb2c_sdp_station_bf IS
   SIGNAL si_lpbk_0           : STD_LOGIC_VECTOR(c_unb2c_board_tr_qsfp.bus_w-1 DOWNTO 0);
    
   -- back transceivers
-  SIGNAL JESD204B_SERIAL_DATA : STD_LOGIC_VECTOR((c_unb2c_board_tr_jesd204b.bus_w * c_unb2c_board_tr_jesd204b.nof_bus)-1 downto 0);
+  SIGNAL JESD204B_SERIAL_DATA : STD_LOGIC_VECTOR(c_sdp_S_pn-1 downto 0);
   SIGNAL JESD204B_REFCLK      : STD_LOGIC := '1';
 
   -- jesd204b syncronization signals
   SIGNAL jesd204b_sysref     : STD_LOGIC;
-  SIGNAL jesd204b_sync_n     : STD_LOGIC_VECTOR((c_unb2c_board_tr_jesd204b.nof_bus * c_unb2c_board_tr_jesd204b.bus_w)-1 DOWNTO 0);
+  SIGNAL jesd204b_sync_n     : STD_LOGIC_VECTOR(c_sdp_N_sync_jesd-1 DOWNTO 0);
 
 BEGIN
 
diff --git a/applications/lofar2/designs/lofar2_unb2c_sdp_station/revisions/lofar2_unb2c_sdp_station_bf/tb_lofar2_unb2c_sdp_station_bf_bst_offload.vhd b/applications/lofar2/designs/lofar2_unb2c_sdp_station/revisions/lofar2_unb2c_sdp_station_bf/tb_lofar2_unb2c_sdp_station_bf_bst_offload.vhd
index 6380bbc3993f6e023810a4833756b43153cf417f..cfacdffbc7d26617dd39f21a9be9443f5ed508f9 100644
--- a/applications/lofar2/designs/lofar2_unb2c_sdp_station/revisions/lofar2_unb2c_sdp_station_bf/tb_lofar2_unb2c_sdp_station_bf_bst_offload.vhd
+++ b/applications/lofar2/designs/lofar2_unb2c_sdp_station/revisions/lofar2_unb2c_sdp_station_bf/tb_lofar2_unb2c_sdp_station_bf_bst_offload.vhd
@@ -109,12 +109,12 @@ ARCHITECTURE tb OF tb_lofar2_unb2c_sdp_station_bf_bst_offload IS
   SIGNAL eth_rxp             : STD_LOGIC_VECTOR(c_unb2c_board_nof_eth-1 downto 0) := (OTHERS => '0');
 
   -- back transceivers
-  SIGNAL JESD204B_SERIAL_DATA : STD_LOGIC_VECTOR((c_unb2c_board_tr_jesd204b.bus_w * c_unb2c_board_tr_jesd204b.nof_bus)-1 downto 0);
+  SIGNAL JESD204B_SERIAL_DATA : STD_LOGIC_VECTOR(c_sdp_S_pn-1 downto 0);
   SIGNAL JESD204B_REFCLK      : STD_LOGIC := '1';
 
   -- jesd204b syncronization signals
   SIGNAL jesd204b_sysref     : STD_LOGIC;
-  SIGNAL jesd204b_sync_n     : STD_LOGIC_VECTOR((c_unb2c_board_tr_jesd204b.nof_bus * c_unb2c_board_tr_jesd204b.bus_w)-1 DOWNTO 0);
+  SIGNAL jesd204b_sync_n     : STD_LOGIC_VECTOR(c_sdp_N_sync_jesd-1 DOWNTO 0);
 
 BEGIN
 
diff --git a/applications/lofar2/designs/lofar2_unb2c_sdp_station/revisions/lofar2_unb2c_sdp_station_fsub/lofar2_unb2c_sdp_station_fsub.vhd b/applications/lofar2/designs/lofar2_unb2c_sdp_station/revisions/lofar2_unb2c_sdp_station_fsub/lofar2_unb2c_sdp_station_fsub.vhd
index a6e729e54b03ff8b8d6e2547781ae189f1bd7ea0..fa5338577b612ae8f9b36c7f38f63405d76b5b59 100644
--- a/applications/lofar2/designs/lofar2_unb2c_sdp_station/revisions/lofar2_unb2c_sdp_station_fsub/lofar2_unb2c_sdp_station_fsub.vhd
+++ b/applications/lofar2/designs/lofar2_unb2c_sdp_station/revisions/lofar2_unb2c_sdp_station_fsub/lofar2_unb2c_sdp_station_fsub.vhd
@@ -69,12 +69,12 @@ ENTITY lofar2_unb2c_sdp_station_fsub IS
     QSFP_LED     : OUT   STD_LOGIC_VECTOR(c_unb2c_board_tr_qsfp_nof_leds-1 DOWNTO 0);
 
      -- back transceivers (note only 12 are used in unb2c)
-    BCK_RX       : IN    STD_LOGIC_VECTOR(c_unb2c_board_nof_tr_jesd204b-1 DOWNTO 0);
+    BCK_RX       : IN    STD_LOGIC_VECTOR(c_unb2c_board_nof_tr_jesd204b-1 DOWNTO 0);  -- c_unb2c_board_nof_tr_jesd204b = c_sdp_S_pn = 12
     BCK_REF_CLK  : IN    STD_LOGIC; -- Use as JESD204B_REFCLK
  
     -- jesd204b syncronization signals (4 syncs)
     JESD204B_SYSREF : IN    STD_LOGIC;
-    JESD204B_SYNC_N : OUT   STD_LOGIC_VECTOR(c_unb2c_board_nof_sync_jesd204b-1 DOWNTO 0)
+    JESD204B_SYNC_N : OUT   STD_LOGIC_VECTOR(c_unb2c_board_nof_sync_jesd204b-1 DOWNTO 0)  -- c_unb2c_board_nof_sync_jesd204b = c_sdp_N_sync_jesd = 4
   );
 END lofar2_unb2c_sdp_station_fsub;
  
diff --git a/applications/lofar2/designs/lofar2_unb2c_sdp_station/revisions/lofar2_unb2c_sdp_station_fsub/tb_lofar2_unb2c_sdp_station_fsub.vhd b/applications/lofar2/designs/lofar2_unb2c_sdp_station/revisions/lofar2_unb2c_sdp_station_fsub/tb_lofar2_unb2c_sdp_station_fsub.vhd
index 4ed4f92c2984100c12e91036f622b74efbcd9386..c28b78463e1570614b135e582e07f9291283c770 100644
--- a/applications/lofar2/designs/lofar2_unb2c_sdp_station/revisions/lofar2_unb2c_sdp_station_fsub/tb_lofar2_unb2c_sdp_station_fsub.vhd
+++ b/applications/lofar2/designs/lofar2_unb2c_sdp_station/revisions/lofar2_unb2c_sdp_station_fsub/tb_lofar2_unb2c_sdp_station_fsub.vhd
@@ -145,12 +145,12 @@ ARCHITECTURE tb OF tb_lofar2_unb2c_sdp_station_fsub IS
   SIGNAL eth_rxp             : STD_LOGIC_VECTOR(c_unb2c_board_nof_eth-1 downto 0) := (OTHERS => '0');
 
   -- back transceivers
-  SIGNAL JESD204B_SERIAL_DATA : STD_LOGIC_VECTOR((c_unb2c_board_tr_jesd204b.bus_w * c_unb2c_board_tr_jesd204b.nof_bus)-1 downto 0);
+  SIGNAL JESD204B_SERIAL_DATA : STD_LOGIC_VECTOR(c_sdp_S_pn-1 downto 0);
   SIGNAL JESD204B_REFCLK      : STD_LOGIC := '1';
 
   -- jesd204b syncronization signals
   SIGNAL jesd204b_sysref     : STD_LOGIC;
-  SIGNAL jesd204b_sync_n     : STD_LOGIC_VECTOR((c_unb2c_board_tr_jesd204b.nof_bus * c_unb2c_board_tr_jesd204b.bus_w)-1 DOWNTO 0);
+  SIGNAL jesd204b_sync_n     : STD_LOGIC_VECTOR(c_sdp_N_sync_jesd-1 DOWNTO 0);
 
 BEGIN
 
diff --git a/applications/lofar2/designs/lofar2_unb2c_sdp_station/revisions/lofar2_unb2c_sdp_station_fsub/tb_lofar2_unb2c_sdp_station_fsub_sst_offload.vhd b/applications/lofar2/designs/lofar2_unb2c_sdp_station/revisions/lofar2_unb2c_sdp_station_fsub/tb_lofar2_unb2c_sdp_station_fsub_sst_offload.vhd
index f44cc338e1fccca4dc3d3d8be925c1e9c784261e..80a3fbf828e332298152bccadb5b6ee33fe80641 100644
--- a/applications/lofar2/designs/lofar2_unb2c_sdp_station/revisions/lofar2_unb2c_sdp_station_fsub/tb_lofar2_unb2c_sdp_station_fsub_sst_offload.vhd
+++ b/applications/lofar2/designs/lofar2_unb2c_sdp_station/revisions/lofar2_unb2c_sdp_station_fsub/tb_lofar2_unb2c_sdp_station_fsub_sst_offload.vhd
@@ -58,9 +58,9 @@ END tb_lofar2_unb2c_sdp_station_fsub_sst_offload;
 ARCHITECTURE tb OF tb_lofar2_unb2c_sdp_station_fsub_sst_offload IS
 
   CONSTANT c_sim             : BOOLEAN := TRUE;
-  CONSTANT c_unb_nr          : NATURAL := 0; -- UniBoard 0
-  CONSTANT c_node_nr         : NATURAL := 0; 
-  CONSTANT c_id              : STD_LOGIC_VECTOR(7 DOWNTO 0) := "00000000";
+  CONSTANT c_unb_nr          : NATURAL := 2;
+  CONSTANT c_node_nr         : NATURAL := 1;
+  CONSTANT c_id              : STD_LOGIC_VECTOR(7 DOWNTO 0) := TO_UVEC(c_unb_nr * 4 + c_node_nr, 8);  -- c_unb2b_board_nof_node = 4, c_unb2b_board_aux.id_w = 8
   CONSTANT c_version         : STD_LOGIC_VECTOR(1 DOWNTO 0) := "00";
   CONSTANT c_fw_version      : t_unb2c_board_fw_version := (1, 0);
 
@@ -77,7 +77,7 @@ ARCHITECTURE tb OF tb_lofar2_unb2c_sdp_station_fsub_sst_offload IS
 
   -- MM  
   CONSTANT c_mm_file_reg_bsn_source_v2    : STRING := mmf_unb_file_prefix(c_unb_nr, c_node_nr) & "REG_BSN_SOURCE_V2";
-  CONSTANT c_mm_file_reg_stat_enable      : STRING := mmf_unb_file_prefix(c_unb_nr, c_node_nr) & "REG_STAT_ENABLE_SST";
+  CONSTANT c_mm_file_reg_stat_enable_sst  : STRING := mmf_unb_file_prefix(c_unb_nr, c_node_nr) & "REG_STAT_ENABLE_SST";
 
   -- Tb
   SIGNAL tb_end              : STD_LOGIC := '0';
@@ -109,12 +109,12 @@ ARCHITECTURE tb OF tb_lofar2_unb2c_sdp_station_fsub_sst_offload IS
   SIGNAL eth_rxp             : STD_LOGIC_VECTOR(c_unb2c_board_nof_eth-1 downto 0) := (OTHERS => '0');
 
   -- back transceivers
-  SIGNAL JESD204B_SERIAL_DATA : STD_LOGIC_VECTOR((c_unb2c_board_tr_jesd204b.bus_w * c_unb2c_board_tr_jesd204b.nof_bus)-1 downto 0);
+  SIGNAL JESD204B_SERIAL_DATA : STD_LOGIC_VECTOR(c_sdp_S_pn-1 downto 0);
   SIGNAL JESD204B_REFCLK      : STD_LOGIC := '1';
 
   -- jesd204b syncronization signals
   SIGNAL jesd204b_sysref     : STD_LOGIC;
-  SIGNAL jesd204b_sync_n     : STD_LOGIC_VECTOR((c_unb2c_board_tr_jesd204b.nof_bus * c_unb2c_board_tr_jesd204b.bus_w)-1 DOWNTO 0);
+  SIGNAL jesd204b_sync_n     : STD_LOGIC_VECTOR(c_sdp_N_sync_jesd-1 DOWNTO 0);
 
 BEGIN
 
@@ -199,7 +199,7 @@ BEGIN
     ----------------------------------------------------------------------------
     -- Offload enable
     ----------------------------------------------------------------------------
-    mmf_mm_bus_wr(c_mm_file_reg_stat_enable, 0, 1, tb_clk);
+    mmf_mm_bus_wr(c_mm_file_reg_stat_enable_sst, 0, 1, tb_clk);
 
     -- wait for udp offload is done
     proc_common_wait_until_high(ext_clk, eth_done);
diff --git a/applications/lofar2/designs/lofar2_unb2c_sdp_station/revisions/lofar2_unb2c_sdp_station_full/lofar2_unb2c_sdp_station_full.vhd b/applications/lofar2/designs/lofar2_unb2c_sdp_station/revisions/lofar2_unb2c_sdp_station_full/lofar2_unb2c_sdp_station_full.vhd
index 25983bb3e183a8967e25752573c24223c06a1073..0cb79ffa8d282485cbfc55251f525e82e892af25 100644
--- a/applications/lofar2/designs/lofar2_unb2c_sdp_station/revisions/lofar2_unb2c_sdp_station_full/lofar2_unb2c_sdp_station_full.vhd
+++ b/applications/lofar2/designs/lofar2_unb2c_sdp_station/revisions/lofar2_unb2c_sdp_station_full/lofar2_unb2c_sdp_station_full.vhd
@@ -76,12 +76,12 @@ ENTITY lofar2_unb2c_sdp_station_full IS
     QSFP_LED     : OUT   STD_LOGIC_VECTOR(c_unb2c_board_tr_qsfp_nof_leds-1 DOWNTO 0);
 
      -- back transceivers (note only 12 are used in unb2c)
-    BCK_RX       : IN    STD_LOGIC_VECTOR(c_unb2c_board_nof_tr_jesd204b-1 DOWNTO 0);
+    BCK_RX       : IN    STD_LOGIC_VECTOR(c_unb2c_board_nof_tr_jesd204b-1 DOWNTO 0);  -- c_unb2c_board_nof_tr_jesd204b = c_sdp_S_pn = 12
     BCK_REF_CLK  : IN    STD_LOGIC; -- Use as JESD204B_REFCLK
  
     -- jesd204b syncronization signals (4 syncs)
     JESD204B_SYSREF : IN    STD_LOGIC;
-    JESD204B_SYNC_N : OUT   STD_LOGIC_VECTOR(c_unb2c_board_nof_sync_jesd204b-1 DOWNTO 0)
+    JESD204B_SYNC_N : OUT   STD_LOGIC_VECTOR(c_unb2c_board_nof_sync_jesd204b-1 DOWNTO 0)  -- c_unb2c_board_nof_sync_jesd204b = c_sdp_N_sync_jesd = 4
   );
 END lofar2_unb2c_sdp_station_full;
  
diff --git a/applications/lofar2/designs/lofar2_unb2c_sdp_station/revisions/lofar2_unb2c_sdp_station_xsub_one/lofar2_unb2c_sdp_station_xsub_one.vhd b/applications/lofar2/designs/lofar2_unb2c_sdp_station/revisions/lofar2_unb2c_sdp_station_xsub_one/lofar2_unb2c_sdp_station_xsub_one.vhd
index 76b86a18a368ab2763459e122090d64ed4927281..a315744f94059ba14e6116bd6fb788e92c2afa6f 100644
--- a/applications/lofar2/designs/lofar2_unb2c_sdp_station/revisions/lofar2_unb2c_sdp_station_xsub_one/lofar2_unb2c_sdp_station_xsub_one.vhd
+++ b/applications/lofar2/designs/lofar2_unb2c_sdp_station/revisions/lofar2_unb2c_sdp_station_xsub_one/lofar2_unb2c_sdp_station_xsub_one.vhd
@@ -69,12 +69,12 @@ ENTITY lofar2_unb2c_sdp_station_xsub_one IS
     QSFP_LED     : OUT   STD_LOGIC_VECTOR(c_unb2c_board_tr_qsfp_nof_leds-1 DOWNTO 0);
 
      -- back transceivers (note only 12 are used in unb2c)
-    BCK_RX       : IN    STD_LOGIC_VECTOR(c_unb2c_board_nof_tr_jesd204b-1 DOWNTO 0);
+    BCK_RX       : IN    STD_LOGIC_VECTOR(c_unb2c_board_nof_tr_jesd204b-1 DOWNTO 0);  -- c_unb2c_board_nof_tr_jesd204b = c_sdp_S_pn = 12
     BCK_REF_CLK  : IN    STD_LOGIC; -- Use as JESD204B_REFCLK
  
     -- jesd204b syncronization signals (4 syncs)
     JESD204B_SYSREF : IN    STD_LOGIC;
-    JESD204B_SYNC_N : OUT   STD_LOGIC_VECTOR(c_unb2c_board_nof_sync_jesd204b-1 DOWNTO 0)
+    JESD204B_SYNC_N : OUT   STD_LOGIC_VECTOR(c_unb2c_board_nof_sync_jesd204b-1 DOWNTO 0)  -- c_unb2c_board_nof_sync_jesd204b = c_sdp_N_sync_jesd = 4
   );
 END lofar2_unb2c_sdp_station_xsub_one;
  
diff --git a/applications/lofar2/designs/lofar2_unb2c_sdp_station/revisions/lofar2_unb2c_sdp_station_xsub_one/tb_lofar2_unb2c_sdp_station_xsub_one.vhd b/applications/lofar2/designs/lofar2_unb2c_sdp_station/revisions/lofar2_unb2c_sdp_station_xsub_one/tb_lofar2_unb2c_sdp_station_xsub_one.vhd
index 4f02a42b4e949f5477b9c854334df333b117df89..36cec4108b82e2f34098d2483b631d0d5c3e7495 100644
--- a/applications/lofar2/designs/lofar2_unb2c_sdp_station/revisions/lofar2_unb2c_sdp_station_xsub_one/tb_lofar2_unb2c_sdp_station_xsub_one.vhd
+++ b/applications/lofar2/designs/lofar2_unb2c_sdp_station/revisions/lofar2_unb2c_sdp_station_xsub_one/tb_lofar2_unb2c_sdp_station_xsub_one.vhd
@@ -142,12 +142,12 @@ ARCHITECTURE tb OF tb_lofar2_unb2c_sdp_station_xsub_one IS
   SIGNAL eth_rxp             : STD_LOGIC_VECTOR(c_unb2c_board_nof_eth-1 downto 0) := (OTHERS => '0');
 
   -- back transceivers
-  SIGNAL JESD204B_SERIAL_DATA : STD_LOGIC_VECTOR((c_unb2c_board_tr_jesd204b.bus_w * c_unb2c_board_tr_jesd204b.nof_bus)-1 downto 0);
+  SIGNAL JESD204B_SERIAL_DATA : STD_LOGIC_VECTOR(c_sdp_S_pn-1 downto 0);
   SIGNAL JESD204B_REFCLK      : STD_LOGIC := '1';
 
   -- jesd204b syncronization signals
   SIGNAL jesd204b_sysref     : STD_LOGIC;
-  SIGNAL jesd204b_sync_n     : STD_LOGIC_VECTOR((c_unb2c_board_tr_jesd204b.nof_bus * c_unb2c_board_tr_jesd204b.bus_w)-1 DOWNTO 0);
+  SIGNAL jesd204b_sync_n     : STD_LOGIC_VECTOR(c_sdp_N_sync_jesd-1 DOWNTO 0);
 
 BEGIN
 
diff --git a/applications/lofar2/designs/lofar2_unb2c_sdp_station/revisions/lofar2_unb2c_sdp_station_xsub_one/tb_lofar2_unb2c_sdp_station_xsub_one_xst_offload.vhd b/applications/lofar2/designs/lofar2_unb2c_sdp_station/revisions/lofar2_unb2c_sdp_station_xsub_one/tb_lofar2_unb2c_sdp_station_xsub_one_xst_offload.vhd
index 71ddb5d5d2ea7014a3252fee1395afa060bc522a..2693384e18a3cffec0a9b7a84bbeaa6eae6eaa82 100644
--- a/applications/lofar2/designs/lofar2_unb2c_sdp_station/revisions/lofar2_unb2c_sdp_station_xsub_one/tb_lofar2_unb2c_sdp_station_xsub_one_xst_offload.vhd
+++ b/applications/lofar2/designs/lofar2_unb2c_sdp_station/revisions/lofar2_unb2c_sdp_station_xsub_one/tb_lofar2_unb2c_sdp_station_xsub_one_xst_offload.vhd
@@ -110,12 +110,12 @@ ARCHITECTURE tb OF tb_lofar2_unb2c_sdp_station_xsub_one_xst_offload IS
   SIGNAL eth_rxp             : STD_LOGIC_VECTOR(c_unb2c_board_nof_eth-1 downto 0) := (OTHERS => '0');
 
   -- back transceivers
-  SIGNAL JESD204B_SERIAL_DATA : STD_LOGIC_VECTOR((c_unb2c_board_tr_jesd204b.bus_w * c_unb2c_board_tr_jesd204b.nof_bus)-1 downto 0);
+  SIGNAL JESD204B_SERIAL_DATA : STD_LOGIC_VECTOR(c_sdp_S_pn-1 downto 0);
   SIGNAL JESD204B_REFCLK      : STD_LOGIC := '1';
 
   -- jesd204b syncronization signals
   SIGNAL jesd204b_sysref     : STD_LOGIC;
-  SIGNAL jesd204b_sync_n     : STD_LOGIC_VECTOR((c_unb2c_board_tr_jesd204b.nof_bus * c_unb2c_board_tr_jesd204b.bus_w)-1 DOWNTO 0);
+  SIGNAL jesd204b_sync_n     : STD_LOGIC_VECTOR(c_sdp_N_sync_jesd-1 DOWNTO 0);
 
 BEGIN
 
diff --git a/applications/lofar2/designs/lofar2_unb2c_sdp_station/src/vhdl/lofar2_unb2c_sdp_station.vhd b/applications/lofar2/designs/lofar2_unb2c_sdp_station/src/vhdl/lofar2_unb2c_sdp_station.vhd
index 3d23da21e2dc0cb487733b0f97f72582a786c2f9..013a511dbe99375f2112c88b28eaecf81c8ce30c 100644
--- a/applications/lofar2/designs/lofar2_unb2c_sdp_station/src/vhdl/lofar2_unb2c_sdp_station.vhd
+++ b/applications/lofar2/designs/lofar2_unb2c_sdp_station/src/vhdl/lofar2_unb2c_sdp_station.vhd
@@ -58,7 +58,7 @@ ENTITY lofar2_unb2c_sdp_station IS
     g_factory_image          : BOOLEAN := FALSE;
     g_protect_addr_range     : BOOLEAN := FALSE;
     g_wpfb                   : t_wpfb  := c_sdp_wpfb_subbands;
-    g_bsn_nof_clk_per_sync   : NATURAL := c_sdp_f_adc_MHz*10**6;  -- Default 200M, overide for short simulation 
+    g_bsn_nof_clk_per_sync   : NATURAL := c_sdp_N_clk_per_sync;  -- Default 200M, overide for short simulation
     g_scope_selected_subband : NATURAL := 0
   );
   PORT (
@@ -88,13 +88,13 @@ ENTITY lofar2_unb2c_sdp_station IS
     QSFP_LED     : OUT   STD_LOGIC_VECTOR(c_unb2c_board_tr_qsfp_nof_leds-1 DOWNTO 0);
 
      -- back transceivers (Note: numbered from 0)
-    JESD204B_SERIAL_DATA       : IN    STD_LOGIC_VECTOR(c_sdp_S_pn-1 downto 0); 
+    JESD204B_SERIAL_DATA       : IN    STD_LOGIC_VECTOR(c_sdp_S_pn-1 downto 0);  -- c_unb2c_board_nof_tr_jesd204b = c_sdp_S_pn = 12
                                                   -- Connect to the BCK_RX pins in the top wrapper
     JESD204B_REFCLK            : IN    STD_LOGIC; -- Connect to BCK_REF_CLK pin in the top level wrapper
  
     -- jesd204b syncronization signals
     JESD204B_SYSREF            : IN    STD_LOGIC;
-    JESD204B_SYNC_N            : OUT   STD_LOGIC_VECTOR(c_sdp_N_sync_jesd-1 DOWNTO 0)
+    JESD204B_SYNC_N            : OUT   STD_LOGIC_VECTOR(c_sdp_N_sync_jesd-1 DOWNTO 0)  -- c_unb2c_board_nof_sync_jesd204b = c_sdp_N_sync_jesd = 4
   );
 END lofar2_unb2c_sdp_station;
 
@@ -107,7 +107,6 @@ ARCHITECTURE str OF lofar2_unb2c_sdp_station IS
   -- Firmware version x.y
   CONSTANT c_fw_version             : t_unb2c_board_fw_version := (2, 0);
   CONSTANT c_mm_clk_freq            : NATURAL := c_unb2c_board_mm_clk_freq_100M;
-  CONSTANT c_lofar2_sample_clk_freq : NATURAL := c_sdp_f_adc_MHz * 10**6;  -- fixed 200 MHz for LOFAR2.0 stage 1
 
   -- 10 GbE Interface
   CONSTANT c_nof_streams_qsfp       : NATURAL := c_unb2c_board_tr_qsfp.nof_bus * c_quad;
diff --git a/applications/lofar2/designs/lofar2_unb2c_sdp_station/tb/vhdl/tb_lofar2_unb2c_sdp_station.vhd b/applications/lofar2/designs/lofar2_unb2c_sdp_station/tb/vhdl/tb_lofar2_unb2c_sdp_station.vhd
index a4546f69142f776fae09ee60cb2050384b8a778b..2129d701d1eddfa82e247b8c4ae31ef9a225cbf3 100644
--- a/applications/lofar2/designs/lofar2_unb2c_sdp_station/tb/vhdl/tb_lofar2_unb2c_sdp_station.vhd
+++ b/applications/lofar2/designs/lofar2_unb2c_sdp_station/tb/vhdl/tb_lofar2_unb2c_sdp_station.vhd
@@ -20,9 +20,15 @@
 -- Test statistics offload with "ethernet packet statistics" in wave window only
 -- Usage:
 --   > as 7    # default
---   > as 12   # for detailed debugging
---   > run -a  
+--   > as 14   # for detailed debugging of Eth sim tx link
+--   > run -a  # takes about 250 us --> c_eth_runtime_timeout
 --
+-- Remark:
+-- - Only verify that there is statistics offload.
+-- - The statistics data gets undefined, due to that the c_nof_block_per_sync
+--   is too short to offload 12 SST packets via 1GbE. This causes that new
+--   data is available before the old data has been offloaded. Therefore use
+--   c_eth_check_nof_packets = 1 instead of S_pn = 12.
 -------------------------------------------------------------------------------
 LIBRARY IEEE, common_lib, unb2c_board_lib, i2c_lib, mm_lib, dp_lib, diag_lib, lofar2_sdp_lib, wpfb_lib, eth_lib;
 USE IEEE.std_logic_1164.ALL;
@@ -72,13 +78,15 @@ ARCHITECTURE tb OF tb_lofar2_unb2c_sdp_station IS
   CONSTANT c_wg_ampl_lsb                  : REAL := c_diag_wg_ampl_unit / c_full_scale_ampl;  -- amplitude in number of LSbit resolution steps
 
 -- . 1GbE output
-  CONSTANT c_eth_check_nof_packets        : NATURAL := 4512;  -- received packets in 2 sync periods
-  CONSTANT c_eth_runtime_timeout          : TIME := 100 ms;  -- factor 2 margin
+  CONSTANT c_eth_check_nof_packets        : NATURAL := 1;
+  CONSTANT c_eth_runtime_timeout          : TIME := 300 us;
   
   -- MM  
   CONSTANT c_mm_file_reg_bsn_source_v2    : STRING := mmf_unb_file_prefix(c_unb_nr, c_node_nr) & "REG_BSN_SOURCE_V2";
   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_reg_stat_enable_sst  : STRING := mmf_unb_file_prefix(c_unb_nr, c_node_nr) & "REG_STAT_ENABLE_SST";
+  CONSTANT c_mm_file_reg_stat_hdr_dat_sst : STRING := mmf_unb_file_prefix(c_unb_nr, c_node_nr) & "REG_STAT_HDR_DAT_SST";
 
   -- Tb
   SIGNAL tb_end               : STD_LOGIC := '0';
@@ -100,38 +108,33 @@ ARCHITECTURE tb OF tb_lofar2_unb2c_sdp_station IS
   SIGNAL INTA                 : STD_LOGIC;
   SIGNAL INTB                 : STD_LOGIC;
 
-  SIGNAL eth_clk              : STD_LOGIC := '0';
-  SIGNAL eth_txp              : STD_LOGIC_VECTOR(c_unb2c_board_nof_eth-1 downto 0);
-  SIGNAL eth_rxp              : STD_LOGIC_VECTOR(c_unb2c_board_nof_eth-1 downto 0);
-
-  SIGNAL sens_scl             : STD_LOGIC;
-  SIGNAL sens_sda             : STD_LOGIC;
-  SIGNAL pmbus_scl            : STD_LOGIC;
-  SIGNAL pmbus_sda            : STD_LOGIC;
+  SIGNAL eth_clk_slv          : STD_LOGIC_VECTOR(c_unb2c_board_nof_eth-1 downto 0) := (OTHERS => '0');
+  SIGNAL eth_txp_slv          : STD_LOGIC_VECTOR(c_unb2c_board_nof_eth-1 downto 0);
+  SIGNAL eth_rxp_slv          : STD_LOGIC_VECTOR(c_unb2c_board_nof_eth-1 downto 0);
 
   -- back transceivers
-  SIGNAL JESD204B_SERIAL_DATA : STD_LOGIC_VECTOR((c_unb2c_board_tr_jesd204b.bus_w * c_unb2c_board_tr_jesd204b.nof_bus)-1 downto 0);
+  SIGNAL JESD204B_SERIAL_DATA : STD_LOGIC_VECTOR(c_sdp_S_pn-1 downto 0);
   SIGNAL JESD204B_REFCLK      : STD_LOGIC := '1';
 
   -- jesd204b syncronization signals
   SIGNAL jesd204b_sysref      : STD_LOGIC;
-  SIGNAL jesd204b_sync_n      : STD_LOGIC_VECTOR((c_unb2c_board_tr_jesd204b.nof_bus * c_unb2c_board_tr_jesd204b.bus_w)-1 DOWNTO 0);
+  SIGNAL jesd204b_sync_n      : STD_LOGIC_VECTOR(c_sdp_N_sync_jesd-1 DOWNTO 0);
 
 BEGIN
 
   -- System setup
   ext_clk <= (NOT ext_clk) OR tb_end AFTER c_ext_clk_period/2;  -- External clock (200 MHz)
-  eth_clk <= (NOT eth_clk) OR tb_end AFTER c_eth_clk_period/2;  -- Ethernet ref clock (125 MHz)
-  JESD204B_REFCLK <= (NOT JESD204B_REFCLK) OR tb_end AFTER c_bck_ref_clk_period/2;  -- JESD sample clock (200MHz) 
+
+  -- Ethernet ref clock (125 MHz)
+  eth_clk_slv(0) <= (NOT eth_clk_slv(0)) OR tb_end AFTER c_eth_clk_period/2;
+  eth_clk_slv(1) <= '0';  -- not used
+
+  -- JESD sample clock (200MHz)
+  JESD204B_REFCLK <= (NOT JESD204B_REFCLK) OR tb_end AFTER c_bck_ref_clk_period/2;
 
   INTA <= 'H';  -- pull up
   INTB <= 'H';  -- pull up
 
-  sens_scl  <= 'H';  -- pull up
-  sens_sda  <= 'H';  -- pull up
-  pmbus_scl <= 'H';  -- pull up
-  pmbus_sda <= 'H';  -- pull up
-
   -- External PPS
   proc_common_gen_pulse(10, c_pps_period, '1', pps_rst, ext_clk, pps);
   jesd204b_sysref <= pps;
@@ -161,18 +164,10 @@ BEGIN
     ID                   => c_id,
     TESTIO               => open,
 
-    -- I2C Interface to Sensors
-    SENS_SC              => sens_scl,
-    SENS_SD              => sens_sda,
-
-    PMBUS_SC             => pmbus_scl,
-    PMBUS_SD             => pmbus_sda,
-    PMBUS_ALERT          => open,
-
     -- 1GbE Control Interface
-    ETH_CLK              => eth_clk,
-    ETH_SGIN             => eth_rxp,
-    ETH_SGOUT            => eth_txp,
+    ETH_CLK              => eth_clk_slv,
+    ETH_SGIN             => eth_rxp_slv,
+    ETH_SGOUT            => eth_txp_slv,
 
     -- LEDs
     QSFP_LED             => open,
@@ -192,8 +187,6 @@ BEGIN
   tb_clk <= (NOT tb_clk) OR tb_end AFTER c_tb_clk_period/2;    -- Testbench MM clock
   
   p_mm_stimuli : PROCESS
-    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";
     VARIABLE v_bsn                       : NATURAL;
   BEGIN
     -- Wait for DUT power up after reset
@@ -235,7 +228,7 @@ BEGIN
     WAIT FOR c_sdp_T_sub * 2;
 
     -- Offload enable
-    mmf_mm_bus_wr(c_mm_file_reg_stat_enable, 0, 1, tb_clk);
+    mmf_mm_bus_wr(c_mm_file_reg_stat_enable_sst, 0, 1, tb_clk);
     
     -- End Simulation
     proc_common_wait_until_high(ext_clk, eth_done);
@@ -246,14 +239,12 @@ BEGIN
 
   -- >> Verify proper DUT output using Ethernet packet statistics <<
   u_eth_statistics : ENTITY eth_lib.eth_statistics
-    GENERIC MAP (
-      g_runtime_nof_packets => c_eth_check_nof_packets,
-      g_runtime_timeout     => c_eth_runtime_timeout,
-      g_check_nof_valid     => TRUE,
-      g_check_nof_valid_ref => c_eth_check_nof_packets
-    )
-  PORT MAP (  
-    eth_serial_in => eth_txp(0),
+  GENERIC MAP (
+    g_runtime_nof_packets => c_eth_check_nof_packets,
+    g_runtime_timeout     => c_eth_runtime_timeout
+  )
+  PORT MAP (
+    eth_serial_in => eth_txp_slv(0),
     tb_end        => eth_done
   );
 
diff --git a/applications/lofar2/libraries/sdp/src/vhdl/node_sdp_adc_input_and_timing.vhd b/applications/lofar2/libraries/sdp/src/vhdl/node_sdp_adc_input_and_timing.vhd
index 82cf3bf7ecad0733de0f8a1462a60cc02b195b85..7be0497290ba55a37d21cd2866217293f6a40e79 100644
--- a/applications/lofar2/libraries/sdp/src/vhdl/node_sdp_adc_input_and_timing.vhd
+++ b/applications/lofar2/libraries/sdp/src/vhdl/node_sdp_adc_input_and_timing.vhd
@@ -41,7 +41,7 @@ ENTITY node_sdp_adc_input_and_timing IS
   GENERIC (
     g_technology              : NATURAL := c_tech_select_default;
     g_buf_nof_data            : NATURAL := c_sdp_V_si_db;
-    g_bsn_nof_clk_per_sync    : NATURAL := c_sdp_f_adc_MHz*10**6;  -- Default 200M, overide for short simulation 
+    g_bsn_nof_clk_per_sync    : NATURAL := c_sdp_N_clk_per_sync;  -- Default 200M, overide for short simulation
     g_sim                     : BOOLEAN := FALSE  
   );
   PORT (
@@ -119,8 +119,9 @@ ARCHITECTURE str OF node_sdp_adc_input_and_timing IS
   CONSTANT c_wg_buf_addr_w          : NATURAL := 10; --default value of WG for 1024 samples;
   SIGNAL trigger_wg                 : STD_LOGIC;
 
-  -- Frame parameters TBC
-  CONSTANT c_bs_bsn_w               : NATURAL := 64; --51;
+  -- Frame parameters
+  CONSTANT c_bs_sync_timeout        : NATURAL := g_bsn_nof_clk_per_sync + g_bsn_nof_clk_per_sync / 10;  -- +10% margin
+  CONSTANT c_bs_bsn_w               : NATURAL := 64; -- > 51;
   CONSTANT c_bs_block_size          : NATURAL := c_sdp_N_fft; -- =1024;
   CONSTANT c_dp_fifo_dc_size        : NATURAL := 64;
 
@@ -375,7 +376,7 @@ BEGIN
   u_bsn_monitor : ENTITY dp_lib.mms_dp_bsn_monitor
   GENERIC MAP (
     g_nof_streams        => 1,  -- They're all the same
-    g_sync_timeout       => g_bsn_nof_clk_per_sync,
+    g_sync_timeout       => c_bs_sync_timeout,
     g_bsn_w              => c_bs_bsn_w,
     g_log_first_bsn      => FALSE
   )
diff --git a/applications/lofar2/libraries/sdp/src/vhdl/sdp_pkg.vhd b/applications/lofar2/libraries/sdp/src/vhdl/sdp_pkg.vhd
index 213dea60f73b825b798bd6dc837203d35b59f09f..4dbd3fd7db8170a70d4ce3779301d426b6bb5d34 100644
--- a/applications/lofar2/libraries/sdp/src/vhdl/sdp_pkg.vhd
+++ b/applications/lofar2/libraries/sdp/src/vhdl/sdp_pkg.vhd
@@ -110,6 +110,7 @@ PACKAGE sdp_pkg is
 
   -- Derived constants
   CONSTANT c_sdp_FS_adc          : NATURAL := 2**(c_sdp_W_adc - 1); -- full scale FS corresponds to amplitude 1.0
+  CONSTANT c_sdp_N_clk_per_sync  : NATURAL := c_sdp_f_adc_MHz*10**6;  -- Default 200M clock cycles per second
   CONSTANT c_sdp_N_sync_jesd     : NATURAL := c_sdp_S_pn * c_sdp_N_sync_rcu / c_sdp_S_rcu; -- = 4, nof JESD IP sync outputs per PN
   CONSTANT c_sdp_P_pfb           : NATURAL := c_sdp_S_pn / c_sdp_Q_fft;
   CONSTANT c_sdp_T_adc           : TIME    := (10**6 / c_sdp_f_adc_MHz) * 1 ps;
@@ -341,7 +342,7 @@ PACKAGE sdp_pkg is
                                                      init_sl  => '0'); -- Default = 1
   CONSTANT c_sdp_nof_crosslets_reg_w : NATURAL := c_sdp_mm_reg_nof_crosslets.nof_dat*c_sdp_mm_reg_nof_crosslets.dat_w;
 
-  CONSTANT c_sdp_xst_nof_clk_per_sync_min : NATURAL := (c_sdp_f_adc_MHz *10**6) / 10; -- 0.1 second
+  CONSTANT c_sdp_xst_nof_clk_per_sync_min : NATURAL := c_sdp_N_clk_per_sync / 10; -- 0.1 second
 
   -- XSUB MM address widths
   CONSTANT c_sdp_reg_crosslets_info_addr_w          : NATURAL := c_sdp_mm_reg_crosslets_info.adr_w;
diff --git a/applications/lofar2/libraries/sdp/src/vhdl/sdp_station.vhd b/applications/lofar2/libraries/sdp/src/vhdl/sdp_station.vhd
index abe7debfc7267ffccaee9193915e765381011f85..a0d6261300e81b140aa2db9bb9c2ccfd85094d2d 100644
--- a/applications/lofar2/libraries/sdp/src/vhdl/sdp_station.vhd
+++ b/applications/lofar2/libraries/sdp/src/vhdl/sdp_station.vhd
@@ -46,7 +46,7 @@ ENTITY sdp_station IS
     g_technology             : NATURAL := c_tech_arria10_e1sg;
     g_sim                    : BOOLEAN := FALSE; --Overridden by TB
     g_wpfb                   : t_wpfb  := c_sdp_wpfb_subbands;
-    g_bsn_nof_clk_per_sync   : NATURAL := c_sdp_f_adc_MHz*10**6;  -- Default 200M, overide for short simulation 
+    g_bsn_nof_clk_per_sync   : NATURAL := c_sdp_N_clk_per_sync;  -- Default 200M, overide for short simulation
     g_scope_selected_subband : NATURAL := 0;
     g_use_fsub               : BOOLEAN := TRUE;
     g_use_xsub               : BOOLEAN := TRUE;
diff --git a/applications/lofar2/libraries/sdp/tb/vhdl/tb_sdp_crosslets_subband_select.vhd b/applications/lofar2/libraries/sdp/tb/vhdl/tb_sdp_crosslets_subband_select.vhd
index 7c77ebee3ecb18b9bede4a495e1fa4540781b9e6..745a4113abaf56886a6635a936338e2dad97c9c4 100644
--- a/applications/lofar2/libraries/sdp/tb/vhdl/tb_sdp_crosslets_subband_select.vhd
+++ b/applications/lofar2/libraries/sdp/tb/vhdl/tb_sdp_crosslets_subband_select.vhd
@@ -89,7 +89,6 @@ ARCHITECTURE tb OF tb_sdp_crosslets_subband_select IS
   
   SIGNAL in_sosi_arr        : t_dp_sosi_arr(c_sdp_P_pfb-1 DOWNTO 0) := (OTHERS => c_dp_sosi_rst);
   
-  SIGNAL out_siso_arr       : t_dp_siso_arr(c_sdp_P_pfb-1 DOWNTO 0) := (OTHERS => c_dp_siso_rdy);
   SIGNAL out_sosi           : t_dp_sosi;
 
   SIGNAL exp_crosslets_info : STD_LOGIC_VECTOR(c_sdp_crosslets_info_reg_w-1 DOWNTO 0) := (OTHERS => '0'); 
diff --git a/boards/uniboard2c/libraries/unb2c_board/src/vhdl/ctrl_unb2c_board.vhd b/boards/uniboard2c/libraries/unb2c_board/src/vhdl/ctrl_unb2c_board.vhd
index c4182ba908d548a7c2556ad7093b7821bce00608..105a8f3b95a2d81afb8253ca857262316c2b60ab 100644
--- a/boards/uniboard2c/libraries/unb2c_board/src/vhdl/ctrl_unb2c_board.vhd
+++ b/boards/uniboard2c/libraries/unb2c_board/src/vhdl/ctrl_unb2c_board.vhd
@@ -43,7 +43,7 @@ ENTITY ctrl_unb2c_board IS
     ----------------------------------------------------------------------------
     g_technology   : NATURAL := c_tech_arria10;
     g_sim          : BOOLEAN := FALSE;
-    g_sim_level         : NATURAL := 0;  -- 0 = use IP; 1 = use fast serdes model;
+    g_sim_level    : NATURAL := 1;  -- 0 = use IP; 1 = use fast serdes model;
     g_sim_mm_clk_period : TIME := 10 ns; -- use e.g. c_mmf_mm_clk_period for MM bus file IO model, use e.g. 10 ns for MM access with TSE MAC IP
     g_design_name  : STRING := "UNUSED";
     g_fw_version   : t_unb2c_board_fw_version := (0, 0);  -- firmware version x.y
diff --git a/doc/erko_howto_tools.txt b/doc/erko_howto_tools.txt
index 316fad525c67fd545216814cd22c85645d28b169..27c70037dd01d049183ba7d95dbd91ae7f06203a 100755
--- a/doc/erko_howto_tools.txt
+++ b/doc/erko_howto_tools.txt
@@ -6,7 +6,7 @@
 * SVN
 * Confluence
 * Polarion
-* Latex
+* LaTeX
 * Markdown
 * Vi
 * Remote access
@@ -16,6 +16,7 @@
 * Linux
 * ICT diensten
 * Python
+* Jupyter
 * Zenodo DOI
 
 
@@ -388,7 +389,9 @@ for me it is an ok workaround,
 * Markdown
 *******************************************************************************
 
-See https://git.astron.nl/desp/args/Markdown/readme_markdown.txt
+https://git.astron.nl/desp/args/-/blob/master/Markdown/readme_markdown.txt
+
+Official guide: https://daringfireball.net/projects/markdown/syntax
 
 
 *******************************************************************************
@@ -726,6 +729,10 @@ Start --> Administration --> Synaptic package manager
 
 > sudo apt-get install lmodern # want log gaf aan dat lmodern.sty miste, nu wel pdf gegenereerd
 
+> sudo pip3 install jupyterlab
+# Add to .bashrc: export PATH="$HOME/.local/bin:$PATH"
+> jupyter-lab
+
 # Markdown
 > sudo pip3 install markdown  # zit al in Python3, maar kan alleen md --> html
 > sudo pip3 install mdutils   # https://pypi.org/project/mdutils/ # kan md genereren
@@ -792,6 +799,23 @@ numpy tutorial:
 https://lwn.net/SubscriberLink/847039/3016fa7278000b77/
 
 
+*******************************************************************************
+* Jupyter
+*******************************************************************************
+
+Installed in:
+ll /home/kooistra/.local/bin/
+
+jupyter tutorial
+https://www.dataquest.io/blog/jupyter-notebook-tutorial/
+https://www.dataquest.io/blog/advanced-jupyter-notebooks-tutorial/
+
+uses Markdown
+
+Startup with:
+> jupyter-lab  # lab is new,
+
+
 *******************************************************************************
 * Zenodo DOI
 *******************************************************************************
diff --git a/libraries/io/eth/src/vhdl/eth_statistics.vhd b/libraries/io/eth/src/vhdl/eth_statistics.vhd
index 89ac030b35afd6b94737cdd9d8f50cfc4d156e37..0fb1ce71315a0b2a1b3ce41625f52e8b7f964ce4 100644
--- a/libraries/io/eth/src/vhdl/eth_statistics.vhd
+++ b/libraries/io/eth/src/vhdl/eth_statistics.vhd
@@ -23,6 +23,20 @@
 -- . Daniel van der Schuur
 -- Purpose:
 -- . 1GbE wrapper for dp_statistics
+-- Remark:
+-- . Make sure that the Tx Eth also uses the transceiver sim model (and not
+--   the transceiver IP model).
+-- . The eth_clk for the Rx Eth is generated internally. The eth_clk that is
+--   used for the Tx Eth should have the same timing, so initialized at '0'
+--   and generated using eth_clk <= NOT eth_clk. If the sim link fails, then
+--   it could be due to delta cycle difference between the Rx eth_clk and
+--   the Tx eth_clk. Therefore it is better not to reassign the eth_clk like
+--   in e.g. eth_clk <= tx_eth_clk, because signal assignment '<=' adds a
+--   simulation delta cycle.
+-- . The eth_serial_in becomes active /= '0' when the Tx Eth is actually
+--   sending data, so this depends on the application or tb stimuli.
+-- . The transceiver sim model use 'U' to signal eop in tx_serial_out, so
+--   this is why then 'red' signal level appears in Wave window.
 
 LIBRARY IEEE, common_lib, work, technology_lib, dp_lib, tech_tse_lib;
 USE IEEE.STD_LOGIC_1164.ALL;