diff --git a/applications/lofar2/designs/lofar2_unb2b_adc/tb/vhdl/tb_lofar2_unb2b_adc_multichannel.vhd b/applications/lofar2/designs/lofar2_unb2b_adc/tb/vhdl/tb_lofar2_unb2b_adc_multichannel.vhd
index 16294442b7b7a21a596125399d2de3cd0c9483c8..9a237118121290a8a1571bf33499480e06a5c974 100644
--- a/applications/lofar2/designs/lofar2_unb2b_adc/tb/vhdl/tb_lofar2_unb2b_adc_multichannel.vhd
+++ b/applications/lofar2/designs/lofar2_unb2b_adc/tb/vhdl/tb_lofar2_unb2b_adc_multichannel.vhd
@@ -300,7 +300,7 @@ begin
 
     -- Generate test pattern at each ADC
 
-    proc_data : process (jesd204b_sampclk_adc(i), mm_rst)
+    p_data : process (jesd204b_sampclk_adc(i), mm_rst)
       variable data  : integer := 0;
       variable even_sample : boolean := true;
     begin
@@ -339,7 +339,6 @@ begin
          end if;
        end if;
     end process;
-
   end generate;
 
   -----------------------------------------------------------------------------
@@ -361,7 +360,7 @@ begin
   bonding_clock_2 <= not bonding_clock_2 after 500 ps;
   bonding_clock_0 <= not bonding_clock_0 after 2500 ps;
 
-  bonding_clock_1_process : process
+  p_bonding_clock_1 : process
   begin
     bonding_clock_1 <= '0';
     wait for 4000 ps;
@@ -381,7 +380,7 @@ begin
 
   -- clock source process
 
-  proc_sysref : process (jesd204b_sampclk, mm_rst)
+  p_sysref : process (jesd204b_sampclk, mm_rst)
     variable count  : natural := 0;
   begin
     if mm_rst = '1' then
@@ -407,7 +406,7 @@ begin
   ------------------------------------------------------------------------------
   -- Diagnostics
   ------------------------------------------------------------------------------
-  proc_read_avs_regs : process
+  p_read_avs_regs : process
   begin
     wait for 100 ns;
     avs_address(0) <= (others => '0');
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 50813fd6e158e303f7439e6ff6cda8bcacb5dbfc..0c04ea64a1a999388c2a99d7316bc70875bc4f1a 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
@@ -26,21 +26,23 @@
 --   Unb2b version for lab testing, using generic sdp_station.vhd for LOFAR2 SDP application.
 -------------------------------------------------------------------------------
 
-library IEEE, common_lib, unb2b_board_lib, diag_lib, dp_lib, tech_jesd204b_lib, wpfb_lib, lofar2_sdp_lib, tech_pll_lib, nw_10gbe_lib, eth_lib;
-use IEEE.std_logic_1164.all;
-use IEEE.numeric_std.all;
-use common_lib.common_pkg.all;
-use common_lib.common_mem_pkg.all;
-use common_lib.common_network_layers_pkg.all;
-use common_lib.common_field_pkg.all;
-use unb2b_board_lib.unb2b_board_pkg.all;
-use unb2b_board_lib.unb2b_board_peripherals_pkg.all;
-use diag_lib.diag_pkg.all;
-use dp_lib.dp_stream_pkg.all;
-use wpfb_lib.wpfb_pkg.all;
-use lofar2_sdp_lib.sdp_pkg.all;
-use work.lofar2_unb2b_sdp_station_pkg.all;
-use eth_lib.eth_pkg.all;
+library IEEE, common_lib, diag_lib, dp_lib;
+library unb2b_board_lib, tech_pll_lib, tech_jesd204b_lib;
+library wpfb_lib, nw_10gbe_lib, eth_lib, lofar2_sdp_lib;
+  use IEEE.std_logic_1164.all;
+  use IEEE.numeric_std.all;
+  use common_lib.common_pkg.all;
+  use common_lib.common_mem_pkg.all;
+  use common_lib.common_network_layers_pkg.all;
+  use common_lib.common_field_pkg.all;
+  use unb2b_board_lib.unb2b_board_pkg.all;
+  use unb2b_board_lib.unb2b_board_peripherals_pkg.all;
+  use diag_lib.diag_pkg.all;
+  use dp_lib.dp_stream_pkg.all;
+  use wpfb_lib.wpfb_pkg.all;
+  use eth_lib.eth_pkg.all;
+  use lofar2_sdp_lib.sdp_pkg.all;
+  use work.lofar2_unb2b_sdp_station_pkg.all;
 
 entity lofar2_unb2b_sdp_station is
   generic (
@@ -99,19 +101,22 @@ entity lofar2_unb2b_sdp_station is
     QSFP_LED     : out   std_logic_vector(c_unb2b_board_tr_qsfp_nof_leds - 1 downto 0);
 
     -- ring transceivers
-    RING_0_RX    : in    std_logic_vector(c_unb2b_board_tr_qsfp.bus_w - 1 downto 0) := (others => '0');  -- Using qsfp bus width also for ring interfaces
+    -- . Using qsfp bus width also for ring interfaces
+    RING_0_RX    : in    std_logic_vector(c_unb2b_board_tr_qsfp.bus_w - 1 downto 0) := (others => '0');
     RING_0_TX    : out   std_logic_vector(c_unb2b_board_tr_qsfp.bus_w - 1 downto 0);
     RING_1_RX    : in    std_logic_vector(c_unb2b_board_tr_qsfp.bus_w - 1 downto 0) := (others => '0');
     RING_1_TX    : out   std_logic_vector(c_unb2b_board_tr_qsfp.bus_w - 1 downto 0);
 
      -- back transceivers (Note: numbered from 0)
-    JESD204B_SERIAL_DATA       : in    std_logic_vector(c_sdp_S_pn - 1 downto 0) := (others => '0');  -- c_sdp_S_pn = 12, c_unb2b_board_nof_tr_jesd204b = 6
+    JESD204B_SERIAL_DATA       : in    std_logic_vector(c_sdp_S_pn - 1 downto 0) := (others => '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 := '0';  -- Connect to BCK_REF_CLK pin in the top level wrapper
 
     -- jesd204b syncronization signals
     JESD204B_SYSREF            : in    std_logic := '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
+    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;
 
@@ -467,8 +472,10 @@ architecture str of lofar2_unb2b_sdp_station is
   signal reg_nw_10GbE_eth10g_cipo   : t_mem_cipo := c_mem_cipo_rst;
 
   -- 10GbE
-  signal i_QSFP_TX                         : t_unb2b_board_qsfp_bus_2arr(c_unb2b_board_tr_qsfp.nof_bus - 1 downto 0) := (others => (others => '0'));
-  signal i_QSFP_RX                         : t_unb2b_board_qsfp_bus_2arr(c_unb2b_board_tr_qsfp.nof_bus - 1 downto 0) := (others => (others => '0'));
+  signal i_QSFP_TX : t_unb2b_board_qsfp_bus_2arr(c_unb2b_board_tr_qsfp.nof_bus - 1 downto 0) :=
+                                                                                            (others => (others => '0'));
+  signal i_QSFP_RX : t_unb2b_board_qsfp_bus_2arr(c_unb2b_board_tr_qsfp.nof_bus - 1 downto 0) :=
+                                                                                            (others => (others => '0'));
 
   signal unb2_board_front_io_serial_tx_arr : std_logic_vector(c_nof_streams_qsfp - 1 downto 0) := (others => '0');
   signal unb2_board_front_io_serial_rx_arr : std_logic_vector(c_nof_streams_qsfp - 1 downto 0) := (others => '0');
diff --git a/applications/lofar2/designs/lofar2_unb2b_sdp_station/src/vhdl/mmm_lofar2_unb2b_sdp_station.vhd b/applications/lofar2/designs/lofar2_unb2b_sdp_station/src/vhdl/mmm_lofar2_unb2b_sdp_station.vhd
index 7a65b2f2389ca4570b8af8e2db5ef8cc21079339..c22d437714a01a5b595fb0c1eb94563f33588666 100644
--- a/applications/lofar2/designs/lofar2_unb2b_sdp_station/src/vhdl/mmm_lofar2_unb2b_sdp_station.vhd
+++ b/applications/lofar2/designs/lofar2_unb2b_sdp_station/src/vhdl/mmm_lofar2_unb2b_sdp_station.vhd
@@ -19,23 +19,23 @@
 -------------------------------------------------------------------------------
 
 library IEEE, common_lib, unb2b_board_lib, mm_lib, lofar2_sdp_lib;
-use IEEE.std_logic_1164.all;
-use IEEE.numeric_std.all;
-use common_lib.common_pkg.all;
-use common_lib.common_mem_pkg.all;
-use unb2b_board_lib.unb2b_board_pkg.all;
-use unb2b_board_lib.unb2b_board_peripherals_pkg.all;
-use mm_lib.mm_file_pkg.all;
-use mm_lib.mm_file_unb_pkg.all;
-use work.qsys_lofar2_unb2b_sdp_station_pkg.all;
-use lofar2_sdp_lib.sdp_pkg.all;
+  use IEEE.std_logic_1164.all;
+  use IEEE.numeric_std.all;
+  use common_lib.common_pkg.all;
+  use common_lib.common_mem_pkg.all;
+  use unb2b_board_lib.unb2b_board_pkg.all;
+  use unb2b_board_lib.unb2b_board_peripherals_pkg.all;
+  use mm_lib.mm_file_pkg.all;
+  use mm_lib.mm_file_unb_pkg.all;
+  use work.qsys_lofar2_unb2b_sdp_station_pkg.all;
+  use lofar2_sdp_lib.sdp_pkg.all;
 
 entity mmm_lofar2_unb2b_sdp_station is
   generic (
     g_sim         : boolean := false;  -- FALSE: use QSYS; TRUE: use mm_file I/O
     g_sim_unb_nr  : natural := 0;
     g_sim_node_nr : natural := 0
-  );
+ );
   port (
     mm_rst                   : in  std_logic;
     mm_clk                   : in  std_logic;
@@ -335,230 +335,311 @@ entity mmm_lofar2_unb2b_sdp_station is
    -- Jesd reset control
    jesd_ctrl_copi                 : out t_mem_copi;
    jesd_ctrl_cipo                 : in  t_mem_cipo
-  );
+ );
 end mmm_lofar2_unb2b_sdp_station;
 
 architecture str of mmm_lofar2_unb2b_sdp_station is
   constant c_sim_node_nr   : natural := g_sim_node_nr;
   constant c_sim_node_type : string(1 to 2) := "FN";
 
+  -- Use shorter alias name for c_unb2b_board_peripherals_mm_reg_default to easier fit line length, and without b, c
+  -- to make mmm file for unb2b and unb2c more equal.
+  constant c_unb2_mm_reg_default : t_c_unb2b_board_peripherals_mm_reg := c_unb2b_board_peripherals_mm_reg_default;
+
   signal i_reset_n         : std_logic;
 begin
   ----------------------------------------------------------------------------
   -- MM <-> file I/O for simulation. The files are created in $UPE/sim.
   ----------------------------------------------------------------------------
   gen_mm_file_io : if g_sim = true generate
-    u_mm_file_reg_unb_system_info     : mm_file generic map(mmf_unb_file_prefix(g_sim_unb_nr, c_sim_node_nr, c_sim_node_type) & "PIO_SYSTEM_INFO")
-                                                port map(mm_rst, mm_clk, reg_unb_system_info_copi, reg_unb_system_info_cipo );
-
-    u_mm_file_rom_unb_system_info     : mm_file generic map(mmf_unb_file_prefix(g_sim_unb_nr, c_sim_node_nr, c_sim_node_type) & "ROM_SYSTEM_INFO")
-                                                port map(mm_rst, mm_clk, rom_unb_system_info_copi, rom_unb_system_info_cipo );
-
-    u_mm_file_reg_wdi                 : mm_file generic map(mmf_unb_file_prefix(g_sim_unb_nr, c_sim_node_nr, c_sim_node_type) & "REG_WDI")
-                                                port map(mm_rst, mm_clk, reg_wdi_copi, reg_wdi_cipo );
-
-    u_mm_file_reg_unb_sens            : mm_file generic map(mmf_unb_file_prefix(g_sim_unb_nr, c_sim_node_nr, c_sim_node_type) & "REG_UNB_SENS")
-                                                port map(mm_rst, mm_clk, reg_unb_sens_copi, reg_unb_sens_cipo );
-
-    u_mm_file_reg_unb_pmbus           : mm_file generic map(mmf_unb_file_prefix(g_sim_unb_nr, c_sim_node_nr, c_sim_node_type) & "REG_UNB_PMBUS")
-                                                port map(mm_rst, mm_clk, reg_unb_pmbus_copi, reg_unb_pmbus_cipo );
-
-    u_mm_file_reg_fpga_temp_sens      : mm_file generic map(mmf_unb_file_prefix(g_sim_unb_nr, c_sim_node_nr, c_sim_node_type) & "REG_FPGA_TEMP_SENS")
-                                                port map(mm_rst, mm_clk, reg_fpga_temp_sens_copi, reg_fpga_temp_sens_cipo );
-
-    u_mm_file_reg_fpga_voltage_sens   :  mm_file generic map(mmf_unb_file_prefix(g_sim_unb_nr, c_sim_node_nr, c_sim_node_type) & "REG_FPGA_VOLTAGE_SENS")
-                                                port map(mm_rst, mm_clk, reg_fpga_voltage_sens_copi, reg_fpga_voltage_sens_cipo );
-
-    u_mm_file_reg_ppsh                : mm_file generic map(mmf_unb_file_prefix(g_sim_unb_nr, c_sim_node_nr, c_sim_node_type) & "PIO_PPS")
-                                                port map(mm_rst, mm_clk, reg_ppsh_copi, reg_ppsh_cipo );
-
-    -- Note: the eth1g RAM and TSE buses are only required by unb_osy on the NIOS as they provide the ethernet<->MM gateway.
-    u_mm_file_reg_eth                 : mm_file generic map(mmf_unb_file_prefix(g_sim_unb_nr, c_sim_node_nr, c_sim_node_type) & "AVS_ETH_0_MMS_REG")
-                                                port map(mm_rst, mm_clk, eth1g_reg_copi, eth1g_reg_cipo );
-
-    -- Must use exact g_mm_rd_latency = 1 instead of default 2, because JESD204B IP forces rddata = 0 after it has been read
-    u_mm_file_jesd204b                : mm_file generic map(mmf_unb_file_prefix(g_sim_unb_nr, c_sim_node_nr, c_sim_node_type) & "JESD204B", '1', 1)
-                                                 port map(mm_rst, mm_clk, jesd204b_copi, jesd204b_cipo );
-
-    u_mm_file_pio_jesd_ctrl           : mm_file generic map(mmf_unb_file_prefix(g_sim_unb_nr, c_sim_node_nr, c_sim_node_type) & "PIO_JESD_CTRL")
-                                                 port map(mm_rst, mm_clk, jesd_ctrl_copi, jesd_ctrl_cipo );
-
-    u_mm_file_reg_dp_shiftram         : mm_file generic map(mmf_unb_file_prefix(g_sim_unb_nr, c_sim_node_nr, c_sim_node_type) & "REG_DP_SHIFTRAM")
-                                                 port map(mm_rst, mm_clk, reg_dp_shiftram_copi, reg_dp_shiftram_cipo );
-
-    u_mm_file_reg_bsn_source_v2       : mm_file generic map(mmf_unb_file_prefix(g_sim_unb_nr, c_sim_node_nr, c_sim_node_type) & "REG_BSN_SOURCE_V2")
-                                                 port map(mm_rst, mm_clk, reg_bsn_source_v2_copi, reg_bsn_source_v2_cipo );
-
-    u_mm_file_reg_bsn_scheduler       : mm_file generic map(mmf_unb_file_prefix(g_sim_unb_nr, c_sim_node_nr, c_sim_node_type) & "REG_BSN_SCHEDULER")
-                                                 port map(mm_rst, mm_clk, reg_bsn_scheduler_copi, reg_bsn_scheduler_cipo );
-
-    u_mm_file_reg_bsn_monitor_input   : mm_file generic map(mmf_unb_file_prefix(g_sim_unb_nr, c_sim_node_nr, c_sim_node_type) & "REG_BSN_MONITOR_INPUT")
-                                                 port map(mm_rst, mm_clk, reg_bsn_monitor_input_copi, reg_bsn_monitor_input_cipo );
-
-    u_mm_file_reg_wg                  : mm_file generic map(mmf_unb_file_prefix(g_sim_unb_nr, c_sim_node_nr, c_sim_node_type) & "REG_WG")
-                                                 port map(mm_rst, mm_clk, reg_wg_copi, reg_wg_cipo );
-    u_mm_file_ram_wg                  : mm_file generic map(mmf_unb_file_prefix(g_sim_unb_nr, c_sim_node_nr, c_sim_node_type) & "RAM_WG")
-                                                port map(mm_rst, mm_clk, ram_wg_copi, ram_wg_cipo );
-
-    u_mm_file_ram_diag_data_buf_bsn   : mm_file generic map(mmf_unb_file_prefix(g_sim_unb_nr, c_sim_node_nr, c_sim_node_type) & "RAM_DIAG_DATA_BUFFER_BSN")
-                                                port map(mm_rst, mm_clk, ram_diag_data_buf_bsn_copi, ram_diag_data_buf_bsn_cipo );
-    u_mm_file_reg_diag_data_buf_bsn   : mm_file generic map(mmf_unb_file_prefix(g_sim_unb_nr, c_sim_node_nr, c_sim_node_type) & "REG_DIAG_DATA_BUFFER_BSN")
-                                                port map(mm_rst, mm_clk, reg_diag_data_buf_bsn_copi, reg_diag_data_buf_bsn_cipo );
-
-    u_mm_file_ram_st_histogram        : mm_file generic map(mmf_unb_file_prefix(g_sim_unb_nr, c_sim_node_nr, c_sim_node_type) & "RAM_ST_HISTOGRAM")
-                                                port map(mm_rst, mm_clk, ram_st_histogram_copi, ram_st_histogram_cipo );
-
-    u_mm_file_reg_aduh_monitor        : mm_file generic map(mmf_unb_file_prefix(g_sim_unb_nr, c_sim_node_nr, c_sim_node_type) & "REG_ADUH_MONITOR")
-                                                port map(mm_rst, mm_clk, reg_aduh_monitor_copi, reg_aduh_monitor_cipo );
-
-    u_mm_file_ram_st_sst              : mm_file generic map(mmf_unb_file_prefix(g_sim_unb_nr, c_sim_node_nr, c_sim_node_type) & "RAM_ST_SST")
-                                                port map(mm_rst, mm_clk, ram_st_sst_copi, ram_st_sst_cipo );
-
-    u_mm_file_ram_fil_coefs           : mm_file generic map(mmf_unb_file_prefix(g_sim_unb_nr, c_sim_node_nr, c_sim_node_type) & "RAM_FIL_COEFS")
-                                                port map(mm_rst, mm_clk, ram_fil_coefs_copi, ram_fil_coefs_cipo );
-
-    u_mm_file_reg_si                  : mm_file generic map(mmf_unb_file_prefix(g_sim_unb_nr, c_sim_node_nr, c_sim_node_type) & "REG_SI")
-                                               port map(mm_rst, mm_clk, reg_si_copi, reg_si_cipo );
-
-    u_mm_file_ram_equalizer_gains     : mm_file generic map(mmf_unb_file_prefix(g_sim_unb_nr, c_sim_node_nr, c_sim_node_type) & "RAM_EQUALIZER_GAINS")
-                                                port map(mm_rst, mm_clk, ram_equalizer_gains_copi, ram_equalizer_gains_cipo );
-    u_mm_file_ram_equalizer_gains_cross : mm_file generic map(mmf_unb_file_prefix(g_sim_unb_nr, c_sim_node_nr, c_sim_node_type) & "RAM_EQUALIZER_GAINS_CROSS")
-                                                  port map(mm_rst, mm_clk, ram_equalizer_gains_cross_copi, ram_equalizer_gains_cross_cipo );
-
-    u_mm_file_reg_dp_selector         : mm_file generic map(mmf_unb_file_prefix(g_sim_unb_nr, c_sim_node_nr, c_sim_node_type) & "REG_DP_SELECTOR")
-                                               port map(mm_rst, mm_clk, reg_dp_selector_copi, reg_dp_selector_cipo );
-
-    u_mm_file_reg_sdp_info            : mm_file generic map(mmf_unb_file_prefix(g_sim_unb_nr, c_sim_node_nr, c_sim_node_type) & "REG_SDP_INFO")
-                                               port map(mm_rst, mm_clk, reg_sdp_info_copi, reg_sdp_info_cipo );
-
-    u_mm_file_reg_ring_info           : mm_file generic map(mmf_unb_file_prefix(g_sim_unb_nr, c_sim_node_nr, c_sim_node_type) & "REG_RING_INFO")
-                                               port map(mm_rst, mm_clk, reg_ring_info_copi, reg_ring_info_cipo );
-
-    u_mm_file_ram_ss_ss_wide          : mm_file generic map(mmf_unb_file_prefix(g_sim_unb_nr, c_sim_node_nr, c_sim_node_type) & "RAM_SS_SS_WIDE")
-                                               port map(mm_rst, mm_clk, ram_ss_ss_wide_copi, ram_ss_ss_wide_cipo );
-
-    u_mm_file_ram_bf_weights          : mm_file generic map(mmf_unb_file_prefix(g_sim_unb_nr, c_sim_node_nr, c_sim_node_type) & "RAM_BF_WEIGHTS")
-                                               port map(mm_rst, mm_clk, ram_bf_weights_copi, ram_bf_weights_cipo );
-
-    u_mm_file_reg_bf_scale            : mm_file generic map(mmf_unb_file_prefix(g_sim_unb_nr, c_sim_node_nr, c_sim_node_type) & "REG_BF_SCALE")
-                                               port map(mm_rst, mm_clk, reg_bf_scale_copi, reg_bf_scale_cipo );
-
-    u_mm_file_reg_hdr_dat             : mm_file generic map(mmf_unb_file_prefix(g_sim_unb_nr, c_sim_node_nr, c_sim_node_type) & "REG_HDR_DAT")
-                                               port map(mm_rst, mm_clk, reg_hdr_dat_copi, reg_hdr_dat_cipo );
-
-    u_mm_file_reg_bdo_destinations    : mm_file generic map(mmf_unb_file_prefix(g_sim_unb_nr, c_sim_node_nr, c_sim_node_type) & "REG_BDO_DESTINATIONS")
-                                               port map(mm_rst, mm_clk, reg_bdo_destinations_copi, reg_bdo_destinations_cipo );
-
-    u_mm_file_reg_dp_xonoff           : mm_file generic map(mmf_unb_file_prefix(g_sim_unb_nr, c_sim_node_nr, c_sim_node_type) & "REG_DP_XONOFF")
-                                               port map(mm_rst, mm_clk, reg_dp_xonoff_copi, reg_dp_xonoff_cipo );
-
-    u_mm_file_ram_st_bst              : mm_file generic map(mmf_unb_file_prefix(g_sim_unb_nr, c_sim_node_nr, c_sim_node_type) & "RAM_ST_BST")
-                                               port map(mm_rst, mm_clk, ram_st_bst_copi, ram_st_bst_cipo );
-
-    u_mm_file_reg_stat_enable_sst     : mm_file generic map(mmf_unb_file_prefix(g_sim_unb_nr, c_sim_node_nr, c_sim_node_type) & "REG_STAT_ENABLE_SST")
-                                                port map(mm_rst, mm_clk, reg_stat_enable_sst_copi, reg_stat_enable_sst_cipo );
-
-    u_mm_file_reg_stat_hdr_info_sst   : mm_file generic map(mmf_unb_file_prefix(g_sim_unb_nr, c_sim_node_nr, c_sim_node_type) & "REG_STAT_HDR_DAT_SST")
-                                                port map(mm_rst, mm_clk, reg_stat_hdr_dat_sst_copi, reg_stat_hdr_dat_sst_cipo);
-
-    u_mm_file_reg_stat_enable_xst     : mm_file generic map(mmf_unb_file_prefix(g_sim_unb_nr, c_sim_node_nr, c_sim_node_type) & "REG_STAT_ENABLE_XST")
-                                                port map(mm_rst, mm_clk, reg_stat_enable_xst_copi, reg_stat_enable_xst_cipo );
-
-    u_mm_file_reg_stat_hdr_info_xst   : mm_file generic map(mmf_unb_file_prefix(g_sim_unb_nr, c_sim_node_nr, c_sim_node_type) & "REG_STAT_HDR_DAT_XST")
-                                                port map(mm_rst, mm_clk, reg_stat_hdr_dat_xst_copi, reg_stat_hdr_dat_xst_cipo);
-
-    u_mm_file_reg_stat_enable_bst     : mm_file generic map(mmf_unb_file_prefix(g_sim_unb_nr, c_sim_node_nr, c_sim_node_type) & "REG_STAT_ENABLE_BST")
-                                                port map(mm_rst, mm_clk, reg_stat_enable_bst_copi, reg_stat_enable_bst_cipo );
-
-    u_mm_file_reg_stat_hdr_info_bst   : mm_file generic map(mmf_unb_file_prefix(g_sim_unb_nr, c_sim_node_nr, c_sim_node_type) & "REG_STAT_HDR_DAT_BST")
-                                                port map(mm_rst, mm_clk, reg_stat_hdr_dat_bst_copi, reg_stat_hdr_dat_bst_cipo);
-
-    u_mm_file_reg_crosslets_info      : mm_file generic map(mmf_unb_file_prefix(g_sim_unb_nr, c_sim_node_nr, c_sim_node_type) & "REG_CROSSLETS_INFO")
-                                                port map(mm_rst, mm_clk, reg_crosslets_info_copi, reg_crosslets_info_cipo);
-
-    u_mm_file_reg_nof_crosslets       : mm_file generic map(mmf_unb_file_prefix(g_sim_unb_nr, c_sim_node_nr, c_sim_node_type) & "REG_NOF_CROSSLETS")
-                                                port map(mm_rst, mm_clk, reg_nof_crosslets_copi, reg_nof_crosslets_cipo);
-
-    u_mm_file_reg_bsn_sync_scheduler_xsub  : mm_file generic map(mmf_unb_file_prefix(g_sim_unb_nr, c_sim_node_nr, c_sim_node_type) & "REG_BSN_SYNC_SCHEDULER_XSUB")
-                                                     port map(mm_rst, mm_clk, reg_bsn_sync_scheduler_xsub_copi, reg_bsn_sync_scheduler_xsub_cipo);
-
-    u_mm_file_ram_st_xsq              : mm_file generic map(mmf_unb_file_prefix(g_sim_unb_nr, c_sim_node_nr, c_sim_node_type) & "RAM_ST_XSQ")
-                                                port map(mm_rst, mm_clk, ram_st_xsq_copi, ram_st_xsq_cipo);
-
-    u_mm_file_reg_nw_10GbE_mac        : mm_file generic map(mmf_unb_file_prefix(g_sim_unb_nr, c_sim_node_nr, c_sim_node_type) & "REG_NW_10GBE_MAC")
-                                                port map(mm_rst, mm_clk, reg_nw_10GbE_mac_copi, reg_nw_10GbE_mac_cipo );
-
-    u_mm_file_reg_nw_10GbE_eth10g     : mm_file generic map(mmf_unb_file_prefix(g_sim_unb_nr, c_sim_node_nr, c_sim_node_type) & "REG_NW_10GBE_ETH10G")
-                                                port map(mm_rst, mm_clk, reg_nw_10GbE_eth10g_copi, reg_nw_10GbE_eth10g_cipo );
-
-    u_mm_file_reg_bsn_align_v2_bf     : mm_file generic map(mmf_unb_file_prefix(g_sim_unb_nr, c_sim_node_nr, c_sim_node_type) & "REG_BSN_ALIGN_V2_BF")
-                                                port map(mm_rst, mm_clk, reg_bsn_align_v2_bf_copi, reg_bsn_align_v2_bf_cipo );
-
-    u_mm_file_reg_bsn_monitor_v2_rx_align_bf : mm_file generic map(mmf_unb_file_prefix(g_sim_unb_nr, c_sim_node_nr, c_sim_node_type) & "REG_BSN_MONITOR_V2_RX_ALIGN_BF")
-                                                       port map(mm_rst, mm_clk, reg_bsn_monitor_v2_rx_align_bf_copi, reg_bsn_monitor_v2_rx_align_bf_cipo );
-
-    u_mm_file_reg_bsn_monitor_v2_aligned_bf  : mm_file generic map(mmf_unb_file_prefix(g_sim_unb_nr, c_sim_node_nr, c_sim_node_type) & "REG_BSN_MONITOR_V2_ALIGNED_BF")
-                                                       port map(mm_rst, mm_clk, reg_bsn_monitor_v2_aligned_bf_copi, reg_bsn_monitor_v2_aligned_bf_cipo );
-
-    u_mm_file_reg_ring_lane_info_bf          : mm_file generic map(mmf_unb_file_prefix(g_sim_unb_nr, c_sim_node_nr, c_sim_node_type) & "REG_RING_LANE_INFO_BF")
-                                                       port map(mm_rst, mm_clk, reg_ring_lane_info_bf_copi, reg_ring_lane_info_bf_cipo );
-
-    u_mm_file_reg_bsn_monitor_v2_ring_rx_bf         : mm_file generic map(mmf_unb_file_prefix(g_sim_unb_nr, c_sim_node_nr, c_sim_node_type) & "REG_BSN_MONITOR_V2_RING_RX_BF")
-                                                              port map(mm_rst, mm_clk, reg_bsn_monitor_v2_ring_rx_bf_copi, reg_bsn_monitor_v2_ring_rx_bf_cipo );
-
-    u_mm_file_reg_bsn_monitor_v2_ring_tx_bf         : mm_file generic map(mmf_unb_file_prefix(g_sim_unb_nr, c_sim_node_nr, c_sim_node_type) & "REG_BSN_MONITOR_V2_RING_TX_BF")
-                                                              port map(mm_rst, mm_clk, reg_bsn_monitor_v2_ring_tx_bf_copi, reg_bsn_monitor_v2_ring_tx_bf_cipo );
-
-    u_mm_file_reg_dp_block_validate_err_bf          : mm_file generic map(mmf_unb_file_prefix(g_sim_unb_nr, c_sim_node_nr, c_sim_node_type) & "REG_DP_BLOCK_VALIDATE_ERR_BF")
-                                                              port map(mm_rst, mm_clk, reg_dp_block_validate_err_bf_copi, reg_dp_block_validate_err_bf_cipo );
-
-    u_mm_file_reg_dp_block_validate_bsn_at_sync_bf  : mm_file generic map(mmf_unb_file_prefix(g_sim_unb_nr, c_sim_node_nr, c_sim_node_type) & "REG_DP_BLOCK_VALIDATE_BSN_AT_SYNC_BF")
-                                                              port map(mm_rst, mm_clk, reg_dp_block_validate_bsn_at_sync_bf_copi, reg_dp_block_validate_bsn_at_sync_bf_cipo );
-
-    u_mm_file_reg_bsn_align_v2_xsub                 : mm_file generic map(mmf_unb_file_prefix(g_sim_unb_nr, c_sim_node_nr, c_sim_node_type) & "REG_BSN_ALIGN_V2_XSUB")
-                                                              port map(mm_rst, mm_clk, reg_bsn_align_v2_xsub_copi, reg_bsn_align_v2_xsub_cipo );
-
-    u_mm_file_reg_bsn_monitor_v2_rx_align_xsub      : mm_file generic map(mmf_unb_file_prefix(g_sim_unb_nr, c_sim_node_nr, c_sim_node_type) & "REG_BSN_MONITOR_V2_RX_ALIGN_XSUB")
-                                                              port map(mm_rst, mm_clk, reg_bsn_monitor_v2_rx_align_xsub_copi, reg_bsn_monitor_v2_rx_align_xsub_cipo );
-
-    u_mm_file_reg_bsn_monitor_v2_aligned_xsub       : mm_file generic map(mmf_unb_file_prefix(g_sim_unb_nr, c_sim_node_nr, c_sim_node_type) & "REG_BSN_MONITOR_V2_ALIGNED_XSUB")
-                                                          port map(mm_rst, mm_clk, reg_bsn_monitor_v2_aligned_xsub_copi, reg_bsn_monitor_v2_aligned_xsub_cipo );
-
-    u_mm_file_reg_bsn_monitor_v2_sst_offload        : mm_file generic map(mmf_unb_file_prefix(g_sim_unb_nr, c_sim_node_nr, c_sim_node_type) & "REG_BSN_MONITOR_V2_SST_OFFLOAD")
-                                                              port map(mm_rst, mm_clk, reg_bsn_monitor_v2_sst_offload_copi, reg_bsn_monitor_v2_sst_offload_cipo );
-
-    u_mm_file_reg_bsn_monitor_v2_bst_offload        : mm_file generic map(mmf_unb_file_prefix(g_sim_unb_nr, c_sim_node_nr, c_sim_node_type) & "REG_BSN_MONITOR_V2_BST_OFFLOAD")
-                                                              port map(mm_rst, mm_clk, reg_bsn_monitor_v2_bst_offload_copi, reg_bsn_monitor_v2_bst_offload_cipo );
-
-    u_mm_file_reg_bsn_monitor_v2_beamlet_output     : mm_file generic map(mmf_unb_file_prefix(g_sim_unb_nr, c_sim_node_nr, c_sim_node_type) & "REG_BSN_MONITOR_V2_BEAMLET_OUTPUT")
-                                                              port map(mm_rst, mm_clk, reg_bsn_monitor_v2_beamlet_output_copi, reg_bsn_monitor_v2_beamlet_output_cipo );
-
-    u_mm_file_reg_bsn_monitor_v2_xst_offload        : mm_file generic map(mmf_unb_file_prefix(g_sim_unb_nr, c_sim_node_nr, c_sim_node_type) & "REG_BSN_MONITOR_V2_XST_OFFLOAD")
-                                                              port map(mm_rst, mm_clk, reg_bsn_monitor_v2_xst_offload_copi, reg_bsn_monitor_v2_xst_offload_cipo );
-
-    u_mm_file_reg_ring_lane_info_xst                : mm_file generic map(mmf_unb_file_prefix(g_sim_unb_nr, c_sim_node_nr, c_sim_node_type) & "REG_RING_LANE_INFO_XST")
-                                                              port map(mm_rst, mm_clk, reg_ring_lane_info_xst_copi, reg_ring_lane_info_xst_cipo );
-
-    u_mm_file_reg_bsn_monitor_v2_ring_rx_xst        : mm_file generic map(mmf_unb_file_prefix(g_sim_unb_nr, c_sim_node_nr, c_sim_node_type) & "REG_BSN_MONITOR_V2_RING_RX_XST")
-                                                              port map(mm_rst, mm_clk, reg_bsn_monitor_v2_ring_rx_xst_copi, reg_bsn_monitor_v2_ring_rx_xst_cipo );
-
-    u_mm_file_reg_bsn_monitor_v2_ring_tx_xst        : mm_file generic map(mmf_unb_file_prefix(g_sim_unb_nr, c_sim_node_nr, c_sim_node_type) & "REG_BSN_MONITOR_V2_RING_TX_XST")
-                                                              port map(mm_rst, mm_clk, reg_bsn_monitor_v2_ring_tx_xst_copi, reg_bsn_monitor_v2_ring_tx_xst_cipo );
-
-    u_mm_file_reg_dp_block_validate_err_xst         : mm_file generic map(mmf_unb_file_prefix(g_sim_unb_nr, c_sim_node_nr, c_sim_node_type) & "REG_DP_BLOCK_VALIDATE_ERR_XST")
-                                                              port map(mm_rst, mm_clk, reg_dp_block_validate_err_xst_copi, reg_dp_block_validate_err_xst_cipo );
-
-    u_mm_file_reg_dp_block_validate_bsn_at_sync_xst : mm_file generic map(mmf_unb_file_prefix(g_sim_unb_nr, c_sim_node_nr, c_sim_node_type) & "REG_DP_BLOCK_VALIDATE_BSN_AT_SYNC_XST")
-                                                              port map(mm_rst, mm_clk, reg_dp_block_validate_bsn_at_sync_xst_copi, reg_dp_block_validate_bsn_at_sync_xst_cipo );
-
-    u_mm_file_reg_tr_10GbE_mac        : mm_file generic map(mmf_unb_file_prefix(g_sim_unb_nr, c_sim_node_nr, c_sim_node_type) & "REG_TR_10GBE_MAC")
-                                                port map(mm_rst, mm_clk, reg_tr_10GbE_mac_copi, reg_tr_10GbE_mac_cipo );
-
-    u_mm_file_reg_tr_10GbE_eth10g     : mm_file generic map(mmf_unb_file_prefix(g_sim_unb_nr, c_sim_node_nr, c_sim_node_type) & "REG_TR_10GBE_ETH10G")
-                                                port map(mm_rst, mm_clk, reg_tr_10GbE_eth10g_copi, reg_tr_10GbE_eth10g_cipo );
-
-    u_mm_file_ram_scrap               : mm_file generic map(mmf_unb_file_prefix(g_sim_unb_nr, c_sim_node_nr, c_sim_node_type) & "RAM_SCRAP")
-                                                port map(mm_rst, mm_clk, ram_scrap_copi, ram_scrap_cipo );
+    u_mm_file_reg_unb_system_info : mm_file
+      generic map(mmf_unb_file_prefix(g_sim_unb_nr, c_sim_node_nr, c_sim_node_type) & "PIO_SYSTEM_INFO")
+      port map(mm_rst, mm_clk, reg_unb_system_info_copi, reg_unb_system_info_cipo);
+
+    u_mm_file_rom_unb_system_info : mm_file
+      generic map(mmf_unb_file_prefix(g_sim_unb_nr, c_sim_node_nr, c_sim_node_type) & "ROM_SYSTEM_INFO")
+      port map(mm_rst, mm_clk, rom_unb_system_info_copi, rom_unb_system_info_cipo);
+
+    u_mm_file_reg_wdi : mm_file
+      generic map(mmf_unb_file_prefix(g_sim_unb_nr, c_sim_node_nr, c_sim_node_type) & "REG_WDI")
+      port map(mm_rst, mm_clk, reg_wdi_copi, reg_wdi_cipo);
+
+    u_mm_file_reg_unb_sens : mm_file
+      generic map(mmf_unb_file_prefix(g_sim_unb_nr, c_sim_node_nr, c_sim_node_type) & "REG_UNB_SENS")
+      port map(mm_rst, mm_clk, reg_unb_sens_copi, reg_unb_sens_cipo);
+
+    u_mm_file_reg_unb_pmbus : mm_file
+      generic map(mmf_unb_file_prefix(g_sim_unb_nr, c_sim_node_nr, c_sim_node_type) & "REG_UNB_PMBUS")
+      port map(mm_rst, mm_clk, reg_unb_pmbus_copi, reg_unb_pmbus_cipo);
+
+    u_mm_file_reg_fpga_temp_sens : mm_file
+      generic map(mmf_unb_file_prefix(g_sim_unb_nr, c_sim_node_nr, c_sim_node_type) & "REG_FPGA_TEMP_SENS")
+      port map(mm_rst, mm_clk, reg_fpga_temp_sens_copi, reg_fpga_temp_sens_cipo);
+
+    u_mm_file_reg_fpga_voltage_sens : mm_file
+      generic map(mmf_unb_file_prefix(g_sim_unb_nr, c_sim_node_nr, c_sim_node_type) & "REG_FPGA_VOLTAGE_SENS")
+      port map(mm_rst, mm_clk, reg_fpga_voltage_sens_copi, reg_fpga_voltage_sens_cipo);
+
+    u_mm_file_reg_ppsh : mm_file
+      generic map(mmf_unb_file_prefix(g_sim_unb_nr, c_sim_node_nr, c_sim_node_type) & "PIO_PPS")
+      port map(mm_rst, mm_clk, reg_ppsh_copi, reg_ppsh_cipo);
+
+    -- Note: the eth1g RAM and TSE buses are only required by unb_osy on the NIOS as they provide the
+    -- ethernet <-> MM gateway.
+    u_mm_file_reg_eth : mm_file
+      generic map(mmf_unb_file_prefix(g_sim_unb_nr, c_sim_node_nr, c_sim_node_type) & "AVS_ETH_0_MMS_REG")
+      port map(mm_rst, mm_clk, eth1g_reg_copi, eth1g_reg_cipo);
+
+    -- Must use exact g_mm_rd_latency = 1 instead of default 2, because JESD204B IP forces rddata = 0 after it has
+    -- been read
+    u_mm_file_jesd204b : mm_file
+      generic map(mmf_unb_file_prefix(g_sim_unb_nr, c_sim_node_nr, c_sim_node_type) & "JESD204B", '1', 1)
+      port map(mm_rst, mm_clk, jesd204b_copi, jesd204b_cipo);
+
+    u_mm_file_pio_jesd_ctrl : mm_file
+      generic map(mmf_unb_file_prefix(g_sim_unb_nr, c_sim_node_nr, c_sim_node_type) & "PIO_JESD_CTRL")
+      port map(mm_rst, mm_clk, jesd_ctrl_copi, jesd_ctrl_cipo);
+
+    u_mm_file_reg_dp_shiftram : mm_file
+      generic map(mmf_unb_file_prefix(g_sim_unb_nr, c_sim_node_nr, c_sim_node_type) & "REG_DP_SHIFTRAM")
+      port map(mm_rst, mm_clk, reg_dp_shiftram_copi, reg_dp_shiftram_cipo);
+
+    u_mm_file_reg_bsn_source_v2 : mm_file
+      generic map(mmf_unb_file_prefix(g_sim_unb_nr, c_sim_node_nr, c_sim_node_type) & "REG_BSN_SOURCE_V2")
+      port map(mm_rst, mm_clk, reg_bsn_source_v2_copi, reg_bsn_source_v2_cipo);
+
+    u_mm_file_reg_bsn_scheduler : mm_file
+      generic map(mmf_unb_file_prefix(g_sim_unb_nr, c_sim_node_nr, c_sim_node_type) & "REG_BSN_SCHEDULER")
+      port map(mm_rst, mm_clk, reg_bsn_scheduler_copi, reg_bsn_scheduler_cipo);
+
+    u_mm_file_reg_bsn_monitor_input : mm_file
+      generic map(mmf_unb_file_prefix(g_sim_unb_nr, c_sim_node_nr, c_sim_node_type) & "REG_BSN_MONITOR_INPUT")
+      port map(mm_rst, mm_clk, reg_bsn_monitor_input_copi, reg_bsn_monitor_input_cipo);
+
+    u_mm_file_reg_wg : mm_file
+      generic map(mmf_unb_file_prefix(g_sim_unb_nr, c_sim_node_nr, c_sim_node_type) & "REG_WG")
+      port map(mm_rst, mm_clk, reg_wg_copi, reg_wg_cipo);
+    u_mm_file_ram_wg : mm_file
+      generic map(mmf_unb_file_prefix(g_sim_unb_nr, c_sim_node_nr, c_sim_node_type) & "RAM_WG")
+      port map(mm_rst, mm_clk, ram_wg_copi, ram_wg_cipo);
+
+    u_mm_file_ram_diag_data_buf_bsn : mm_file
+      generic map(mmf_unb_file_prefix(g_sim_unb_nr, c_sim_node_nr, c_sim_node_type) & "RAM_DIAG_DATA_BUFFER_BSN")
+      port map(mm_rst, mm_clk, ram_diag_data_buf_bsn_copi, ram_diag_data_buf_bsn_cipo);
+    u_mm_file_reg_diag_data_buf_bsn : mm_file
+      generic map(mmf_unb_file_prefix(g_sim_unb_nr, c_sim_node_nr, c_sim_node_type) & "REG_DIAG_DATA_BUFFER_BSN")
+      port map(mm_rst, mm_clk, reg_diag_data_buf_bsn_copi, reg_diag_data_buf_bsn_cipo);
+
+    u_mm_file_ram_st_histogram : mm_file
+      generic map(mmf_unb_file_prefix(g_sim_unb_nr, c_sim_node_nr, c_sim_node_type) & "RAM_ST_HISTOGRAM")
+      port map(mm_rst, mm_clk, ram_st_histogram_copi, ram_st_histogram_cipo);
+
+    u_mm_file_reg_aduh_monitor : mm_file
+      generic map(mmf_unb_file_prefix(g_sim_unb_nr, c_sim_node_nr, c_sim_node_type) & "REG_ADUH_MONITOR")
+      port map(mm_rst, mm_clk, reg_aduh_monitor_copi, reg_aduh_monitor_cipo);
+
+    u_mm_file_ram_st_sst : mm_file
+      generic map(mmf_unb_file_prefix(g_sim_unb_nr, c_sim_node_nr, c_sim_node_type) & "RAM_ST_SST")
+      port map(mm_rst, mm_clk, ram_st_sst_copi, ram_st_sst_cipo);
+
+    u_mm_file_ram_fil_coefs : mm_file
+      generic map(mmf_unb_file_prefix(g_sim_unb_nr, c_sim_node_nr, c_sim_node_type) & "RAM_FIL_COEFS")
+      port map(mm_rst, mm_clk, ram_fil_coefs_copi, ram_fil_coefs_cipo);
+
+    u_mm_file_reg_si : mm_file
+      generic map(mmf_unb_file_prefix(g_sim_unb_nr, c_sim_node_nr, c_sim_node_type) & "REG_SI")
+      port map(mm_rst, mm_clk, reg_si_copi, reg_si_cipo);
+
+    u_mm_file_ram_equalizer_gains : mm_file
+      generic map(mmf_unb_file_prefix(g_sim_unb_nr, c_sim_node_nr, c_sim_node_type) & "RAM_EQUALIZER_GAINS")
+      port map(mm_rst, mm_clk, ram_equalizer_gains_copi, ram_equalizer_gains_cipo);
+    u_mm_file_ram_equalizer_gains_cross : mm_file
+      generic map(mmf_unb_file_prefix(g_sim_unb_nr, c_sim_node_nr, c_sim_node_type) & "RAM_EQUALIZER_GAINS_CROSS")
+      port map(mm_rst, mm_clk, ram_equalizer_gains_cross_copi, ram_equalizer_gains_cross_cipo);
+
+    u_mm_file_reg_dp_selector : mm_file
+      generic map(mmf_unb_file_prefix(g_sim_unb_nr, c_sim_node_nr, c_sim_node_type) & "REG_DP_SELECTOR")
+      port map(mm_rst, mm_clk, reg_dp_selector_copi, reg_dp_selector_cipo);
+
+    u_mm_file_reg_sdp_info : mm_file
+      generic map(mmf_unb_file_prefix(g_sim_unb_nr, c_sim_node_nr, c_sim_node_type) & "REG_SDP_INFO")
+      port map(mm_rst, mm_clk, reg_sdp_info_copi, reg_sdp_info_cipo);
+
+    u_mm_file_reg_ring_info : mm_file
+      generic map(mmf_unb_file_prefix(g_sim_unb_nr, c_sim_node_nr, c_sim_node_type) & "REG_RING_INFO")
+      port map(mm_rst, mm_clk, reg_ring_info_copi, reg_ring_info_cipo);
+
+    u_mm_file_ram_ss_ss_wide : mm_file
+      generic map(mmf_unb_file_prefix(g_sim_unb_nr, c_sim_node_nr, c_sim_node_type) & "RAM_SS_SS_WIDE")
+      port map(mm_rst, mm_clk, ram_ss_ss_wide_copi, ram_ss_ss_wide_cipo);
+
+    u_mm_file_ram_bf_weights : mm_file
+      generic map(mmf_unb_file_prefix(g_sim_unb_nr, c_sim_node_nr, c_sim_node_type) & "RAM_BF_WEIGHTS")
+      port map(mm_rst, mm_clk, ram_bf_weights_copi, ram_bf_weights_cipo);
+
+    u_mm_file_reg_bf_scale : mm_file
+      generic map(mmf_unb_file_prefix(g_sim_unb_nr, c_sim_node_nr, c_sim_node_type) & "REG_BF_SCALE")
+      port map(mm_rst, mm_clk, reg_bf_scale_copi, reg_bf_scale_cipo);
+
+    u_mm_file_reg_hdr_dat : mm_file
+      generic map(mmf_unb_file_prefix(g_sim_unb_nr, c_sim_node_nr, c_sim_node_type) & "REG_HDR_DAT")
+      port map(mm_rst, mm_clk, reg_hdr_dat_copi, reg_hdr_dat_cipo);
+
+    u_mm_file_reg_bdo_destinations : mm_file
+      generic map(mmf_unb_file_prefix(g_sim_unb_nr, c_sim_node_nr, c_sim_node_type) & "REG_BDO_DESTINATIONS")
+      port map(mm_rst, mm_clk, reg_bdo_destinations_copi, reg_bdo_destinations_cipo);
+
+    u_mm_file_reg_dp_xonoff : mm_file
+      generic map(mmf_unb_file_prefix(g_sim_unb_nr, c_sim_node_nr, c_sim_node_type) & "REG_DP_XONOFF")
+      port map(mm_rst, mm_clk, reg_dp_xonoff_copi, reg_dp_xonoff_cipo);
+
+    u_mm_file_ram_st_bst : mm_file
+      generic map(mmf_unb_file_prefix(g_sim_unb_nr, c_sim_node_nr, c_sim_node_type) & "RAM_ST_BST")
+      port map(mm_rst, mm_clk, ram_st_bst_copi, ram_st_bst_cipo);
+
+    u_mm_file_reg_stat_enable_sst : mm_file
+      generic map(mmf_unb_file_prefix(g_sim_unb_nr, c_sim_node_nr, c_sim_node_type) & "REG_STAT_ENABLE_SST")
+      port map(mm_rst, mm_clk, reg_stat_enable_sst_copi, reg_stat_enable_sst_cipo);
+
+    u_mm_file_reg_stat_hdr_info_sst : mm_file
+      generic map(mmf_unb_file_prefix(g_sim_unb_nr, c_sim_node_nr, c_sim_node_type) & "REG_STAT_HDR_DAT_SST")
+      port map(mm_rst, mm_clk, reg_stat_hdr_dat_sst_copi, reg_stat_hdr_dat_sst_cipo);
+
+    u_mm_file_reg_stat_enable_xst : mm_file
+      generic map(mmf_unb_file_prefix(g_sim_unb_nr, c_sim_node_nr, c_sim_node_type) & "REG_STAT_ENABLE_XST")
+      port map(mm_rst, mm_clk, reg_stat_enable_xst_copi, reg_stat_enable_xst_cipo);
+
+    u_mm_file_reg_stat_hdr_info_xst : mm_file
+      generic map(mmf_unb_file_prefix(g_sim_unb_nr, c_sim_node_nr, c_sim_node_type) & "REG_STAT_HDR_DAT_XST")
+      port map(mm_rst, mm_clk, reg_stat_hdr_dat_xst_copi, reg_stat_hdr_dat_xst_cipo);
+
+    u_mm_file_reg_stat_enable_bst : mm_file
+      generic map(mmf_unb_file_prefix(g_sim_unb_nr, c_sim_node_nr, c_sim_node_type) & "REG_STAT_ENABLE_BST")
+      port map(mm_rst, mm_clk, reg_stat_enable_bst_copi, reg_stat_enable_bst_cipo);
+
+    u_mm_file_reg_stat_hdr_info_bst : mm_file
+      generic map(mmf_unb_file_prefix(g_sim_unb_nr, c_sim_node_nr, c_sim_node_type) & "REG_STAT_HDR_DAT_BST")
+      port map(mm_rst, mm_clk, reg_stat_hdr_dat_bst_copi, reg_stat_hdr_dat_bst_cipo);
+
+    u_mm_file_reg_crosslets_info : mm_file
+      generic map(mmf_unb_file_prefix(g_sim_unb_nr, c_sim_node_nr, c_sim_node_type) & "REG_CROSSLETS_INFO")
+      port map(mm_rst, mm_clk, reg_crosslets_info_copi, reg_crosslets_info_cipo);
+
+    u_mm_file_reg_nof_crosslets : mm_file
+      generic map(mmf_unb_file_prefix(g_sim_unb_nr, c_sim_node_nr, c_sim_node_type) & "REG_NOF_CROSSLETS")
+      port map(mm_rst, mm_clk, reg_nof_crosslets_copi, reg_nof_crosslets_cipo);
+
+    u_mm_file_reg_bsn_sync_scheduler_xsub : mm_file
+      generic map(mmf_unb_file_prefix(g_sim_unb_nr, c_sim_node_nr, c_sim_node_type) & "REG_BSN_SYNC_SCHEDULER_XSUB")
+      port map(mm_rst, mm_clk, reg_bsn_sync_scheduler_xsub_copi, reg_bsn_sync_scheduler_xsub_cipo);
+
+    u_mm_file_ram_st_xsq : mm_file
+      generic map(mmf_unb_file_prefix(g_sim_unb_nr, c_sim_node_nr, c_sim_node_type) & "RAM_ST_XSQ")
+      port map(mm_rst, mm_clk, ram_st_xsq_copi, ram_st_xsq_cipo);
+
+    u_mm_file_reg_nw_10GbE_mac : mm_file
+      generic map(mmf_unb_file_prefix(g_sim_unb_nr, c_sim_node_nr, c_sim_node_type) & "REG_NW_10GBE_MAC")
+      port map(mm_rst, mm_clk, reg_nw_10GbE_mac_copi, reg_nw_10GbE_mac_cipo);
+
+    u_mm_file_reg_nw_10GbE_eth10g : mm_file
+      generic map(mmf_unb_file_prefix(g_sim_unb_nr, c_sim_node_nr, c_sim_node_type) & "REG_NW_10GBE_ETH10G")
+      port map(mm_rst, mm_clk, reg_nw_10GbE_eth10g_copi, reg_nw_10GbE_eth10g_cipo);
+
+    u_mm_file_reg_bsn_align_v2_bf : mm_file
+      generic map(mmf_unb_file_prefix(g_sim_unb_nr, c_sim_node_nr, c_sim_node_type) & "REG_BSN_ALIGN_V2_BF")
+      port map(mm_rst, mm_clk, reg_bsn_align_v2_bf_copi, reg_bsn_align_v2_bf_cipo);
+
+    u_mm_file_reg_bsn_monitor_v2_rx_align_bf : mm_file
+      generic map(mmf_unb_file_prefix(g_sim_unb_nr, c_sim_node_nr, c_sim_node_type) & "REG_BSN_MONITOR_V2_RX_ALIGN_BF")
+      port map(mm_rst, mm_clk, reg_bsn_monitor_v2_rx_align_bf_copi, reg_bsn_monitor_v2_rx_align_bf_cipo);
+
+    u_mm_file_reg_bsn_monitor_v2_aligned_bf : mm_file
+      generic map(mmf_unb_file_prefix(g_sim_unb_nr, c_sim_node_nr, c_sim_node_type) & "REG_BSN_MONITOR_V2_ALIGNED_BF")
+      port map(mm_rst, mm_clk, reg_bsn_monitor_v2_aligned_bf_copi, reg_bsn_monitor_v2_aligned_bf_cipo);
+
+    u_mm_file_reg_ring_lane_info_bf : mm_file
+      generic map(mmf_unb_file_prefix(g_sim_unb_nr, c_sim_node_nr, c_sim_node_type) & "REG_RING_LANE_INFO_BF")
+      port map(mm_rst, mm_clk, reg_ring_lane_info_bf_copi, reg_ring_lane_info_bf_cipo);
+
+    u_mm_file_reg_bsn_monitor_v2_ring_rx_bf : mm_file
+      generic map(mmf_unb_file_prefix(g_sim_unb_nr, c_sim_node_nr, c_sim_node_type) & "REG_BSN_MONITOR_V2_RING_RX_BF")
+      port map(mm_rst, mm_clk, reg_bsn_monitor_v2_ring_rx_bf_copi, reg_bsn_monitor_v2_ring_rx_bf_cipo);
+
+    u_mm_file_reg_bsn_monitor_v2_ring_tx_bf : mm_file
+      generic map(mmf_unb_file_prefix(g_sim_unb_nr, c_sim_node_nr, c_sim_node_type) & "REG_BSN_MONITOR_V2_RING_TX_BF")
+      port map(mm_rst, mm_clk, reg_bsn_monitor_v2_ring_tx_bf_copi, reg_bsn_monitor_v2_ring_tx_bf_cipo);
+
+    u_mm_file_reg_dp_block_validate_err_bf : mm_file
+      generic map(mmf_unb_file_prefix(g_sim_unb_nr, c_sim_node_nr, c_sim_node_type) & "REG_DP_BLOCK_VALIDATE_ERR_BF")
+      port map(mm_rst, mm_clk, reg_dp_block_validate_err_bf_copi, reg_dp_block_validate_err_bf_cipo);
+
+    u_mm_file_reg_dp_block_validate_bsn_at_sync_bf : mm_file
+      generic map(mmf_unb_file_prefix(g_sim_unb_nr, c_sim_node_nr, c_sim_node_type) &
+                  "REG_DP_BLOCK_VALIDATE_BSN_AT_SYNC_BF")
+      port map(mm_rst, mm_clk, reg_dp_block_validate_bsn_at_sync_bf_copi, reg_dp_block_validate_bsn_at_sync_bf_cipo);
+
+    u_mm_file_reg_bsn_align_v2_xsub : mm_file
+      generic map(mmf_unb_file_prefix(g_sim_unb_nr, c_sim_node_nr, c_sim_node_type) & "REG_BSN_ALIGN_V2_XSUB")
+      port map(mm_rst, mm_clk, reg_bsn_align_v2_xsub_copi, reg_bsn_align_v2_xsub_cipo);
+
+    u_mm_file_reg_bsn_monitor_v2_rx_align_xsub : mm_file
+      generic map(mmf_unb_file_prefix(g_sim_unb_nr, c_sim_node_nr, c_sim_node_type) &
+                  "REG_BSN_MONITOR_V2_RX_ALIGN_XSUB")
+      port map(mm_rst, mm_clk, reg_bsn_monitor_v2_rx_align_xsub_copi, reg_bsn_monitor_v2_rx_align_xsub_cipo);
+
+    u_mm_file_reg_bsn_monitor_v2_aligned_xsub : mm_file
+      generic map(mmf_unb_file_prefix(g_sim_unb_nr, c_sim_node_nr, c_sim_node_type) & "REG_BSN_MONITOR_V2_ALIGNED_XSUB")
+      port map(mm_rst, mm_clk, reg_bsn_monitor_v2_aligned_xsub_copi, reg_bsn_monitor_v2_aligned_xsub_cipo);
+
+    u_mm_file_reg_bsn_monitor_v2_sst_offload : mm_file
+      generic map(mmf_unb_file_prefix(g_sim_unb_nr, c_sim_node_nr, c_sim_node_type) & "REG_BSN_MONITOR_V2_SST_OFFLOAD")
+      port map(mm_rst, mm_clk, reg_bsn_monitor_v2_sst_offload_copi, reg_bsn_monitor_v2_sst_offload_cipo);
+
+    u_mm_file_reg_bsn_monitor_v2_bst_offload : mm_file
+      generic map(mmf_unb_file_prefix(g_sim_unb_nr, c_sim_node_nr, c_sim_node_type) & "REG_BSN_MONITOR_V2_BST_OFFLOAD")
+      port map(mm_rst, mm_clk, reg_bsn_monitor_v2_bst_offload_copi, reg_bsn_monitor_v2_bst_offload_cipo);
+
+    u_mm_file_reg_bsn_monitor_v2_beamlet_output : mm_file
+      generic map(mmf_unb_file_prefix(g_sim_unb_nr, c_sim_node_nr, c_sim_node_type) &
+                  "REG_BSN_MONITOR_V2_BEAMLET_OUTPUT")
+      port map(mm_rst, mm_clk, reg_bsn_monitor_v2_beamlet_output_copi, reg_bsn_monitor_v2_beamlet_output_cipo);
+
+    u_mm_file_reg_bsn_monitor_v2_xst_offload : mm_file
+      generic map(mmf_unb_file_prefix(g_sim_unb_nr, c_sim_node_nr, c_sim_node_type) & "REG_BSN_MONITOR_V2_XST_OFFLOAD")
+      port map(mm_rst, mm_clk, reg_bsn_monitor_v2_xst_offload_copi, reg_bsn_monitor_v2_xst_offload_cipo);
+
+    u_mm_file_reg_ring_lane_info_xst : mm_file
+      generic map(mmf_unb_file_prefix(g_sim_unb_nr, c_sim_node_nr, c_sim_node_type) & "REG_RING_LANE_INFO_XST")
+      port map(mm_rst, mm_clk, reg_ring_lane_info_xst_copi, reg_ring_lane_info_xst_cipo);
+
+    u_mm_file_reg_bsn_monitor_v2_ring_rx_xst : mm_file
+      generic map(mmf_unb_file_prefix(g_sim_unb_nr, c_sim_node_nr, c_sim_node_type) & "REG_BSN_MONITOR_V2_RING_RX_XST")
+      port map(mm_rst, mm_clk, reg_bsn_monitor_v2_ring_rx_xst_copi, reg_bsn_monitor_v2_ring_rx_xst_cipo);
+
+    u_mm_file_reg_bsn_monitor_v2_ring_tx_xst : mm_file
+      generic map(mmf_unb_file_prefix(g_sim_unb_nr, c_sim_node_nr, c_sim_node_type) & "REG_BSN_MONITOR_V2_RING_TX_XST")
+      port map(mm_rst, mm_clk, reg_bsn_monitor_v2_ring_tx_xst_copi, reg_bsn_monitor_v2_ring_tx_xst_cipo);
+
+    u_mm_file_reg_dp_block_validate_err_xst : mm_file
+      generic map(mmf_unb_file_prefix(g_sim_unb_nr, c_sim_node_nr, c_sim_node_type) & "REG_DP_BLOCK_VALIDATE_ERR_XST")
+      port map(mm_rst, mm_clk, reg_dp_block_validate_err_xst_copi, reg_dp_block_validate_err_xst_cipo);
+
+    u_mm_file_reg_dp_block_validate_bsn_at_sync_xst : mm_file
+      generic map(mmf_unb_file_prefix(g_sim_unb_nr, c_sim_node_nr, c_sim_node_type) &
+                  "REG_DP_BLOCK_VALIDATE_BSN_AT_SYNC_XST")
+      port map(mm_rst, mm_clk, reg_dp_block_validate_bsn_at_sync_xst_copi, reg_dp_block_validate_bsn_at_sync_xst_cipo);
+
+    u_mm_file_reg_tr_10GbE_mac : mm_file
+      generic map(mmf_unb_file_prefix(g_sim_unb_nr, c_sim_node_nr, c_sim_node_type) & "REG_TR_10GBE_MAC")
+      port map(mm_rst, mm_clk, reg_tr_10GbE_mac_copi, reg_tr_10GbE_mac_cipo);
+
+    u_mm_file_reg_tr_10GbE_eth10g : mm_file
+      generic map(mmf_unb_file_prefix(g_sim_unb_nr, c_sim_node_nr, c_sim_node_type) & "REG_TR_10GBE_ETH10G")
+      port map(mm_rst, mm_clk, reg_tr_10GbE_eth10g_copi, reg_tr_10GbE_eth10g_cipo);
+
+    u_mm_file_ram_scrap : mm_file
+      generic map(mmf_unb_file_prefix(g_sim_unb_nr, c_sim_node_nr, c_sim_node_type) & "RAM_SCRAP")
+      port map(mm_rst, mm_clk, ram_scrap_copi, ram_scrap_cipo);
     ----------------------------------------------------------------------------
     -- Procedure that polls a sim control file that can be used to e.g. get
     -- the simulation time in ns
@@ -574,214 +655,221 @@ begin
     u_qsys : qsys_lofar2_unb2b_sdp_station
     port map (
 
-      clk_clk                                   => mm_clk,
-      reset_reset_n                             => i_reset_n,
+      clk_clk       => mm_clk,
+      reset_reset_n => i_reset_n,
 
       -- the_pio_wdi: toggled by NIOS II application unb_osy. Connects to WDI via ctrl_unb2b_board.
-      pio_wdi_external_connection_export        => pout_wdi,
-
-      avs_eth_0_reset_export                    => eth1g_mm_rst,
-      avs_eth_0_clk_export                      => OPEN,
-      avs_eth_0_tse_address_export              => eth1g_tse_copi.address(c_unb2b_board_peripherals_mm_reg_default.reg_tse_adr_w - 1 downto 0),
-      avs_eth_0_tse_write_export                => eth1g_tse_copi.wr,
-      avs_eth_0_tse_read_export                 => eth1g_tse_copi.rd,
-      avs_eth_0_tse_writedata_export            => eth1g_tse_copi.wrdata(c_word_w - 1 downto 0),
-      avs_eth_0_tse_readdata_export             => eth1g_tse_cipo.rddata(c_word_w - 1 downto 0),
-      avs_eth_0_tse_waitrequest_export          => eth1g_tse_cipo.waitrequest,
-      avs_eth_0_reg_address_export              => eth1g_reg_copi.address(c_unb2b_board_peripherals_mm_reg_default.reg_eth_adr_w - 1 downto 0),
-      avs_eth_0_reg_write_export                => eth1g_reg_copi.wr,
-      avs_eth_0_reg_read_export                 => eth1g_reg_copi.rd,
-      avs_eth_0_reg_writedata_export            => eth1g_reg_copi.wrdata(c_word_w - 1 downto 0),
-      avs_eth_0_reg_readdata_export             => eth1g_reg_cipo.rddata(c_word_w - 1 downto 0),
-      avs_eth_0_ram_address_export              => eth1g_ram_copi.address(c_unb2b_board_peripherals_mm_reg_default.ram_eth_adr_w - 1 downto 0),
-      avs_eth_0_ram_write_export                => eth1g_ram_copi.wr,
-      avs_eth_0_ram_read_export                 => eth1g_ram_copi.rd,
-      avs_eth_0_ram_writedata_export            => eth1g_ram_copi.wrdata(c_word_w - 1 downto 0),
-      avs_eth_0_ram_readdata_export             => eth1g_ram_cipo.rddata(c_word_w - 1 downto 0),
-      avs_eth_0_irq_export                      => eth1g_reg_interrupt,
-
-      reg_unb_sens_reset_export                 => OPEN,
-      reg_unb_sens_clk_export                   => OPEN,
-      reg_unb_sens_address_export               => reg_unb_sens_copi.address(c_unb2b_board_peripherals_mm_reg_default.reg_unb_sens_adr_w - 1 downto 0),
-      reg_unb_sens_write_export                 => reg_unb_sens_copi.wr,
-      reg_unb_sens_writedata_export             => reg_unb_sens_copi.wrdata(c_word_w - 1 downto 0),
-      reg_unb_sens_read_export                  => reg_unb_sens_copi.rd,
-      reg_unb_sens_readdata_export              => reg_unb_sens_cipo.rddata(c_word_w - 1 downto 0),
-
-      reg_unb_pmbus_reset_export                => OPEN,
-      reg_unb_pmbus_clk_export                  => OPEN,
-      reg_unb_pmbus_address_export              => reg_unb_pmbus_copi.address(c_unb2b_board_peripherals_mm_reg_default.reg_unb_pmbus_adr_w - 1 downto 0),
-      reg_unb_pmbus_write_export                => reg_unb_pmbus_copi.wr,
-      reg_unb_pmbus_writedata_export            => reg_unb_pmbus_copi.wrdata(c_word_w - 1 downto 0),
-      reg_unb_pmbus_read_export                 => reg_unb_pmbus_copi.rd,
-      reg_unb_pmbus_readdata_export             => reg_unb_pmbus_cipo.rddata(c_word_w - 1 downto 0),
-
-      reg_fpga_temp_sens_reset_export           => OPEN,
-      reg_fpga_temp_sens_clk_export             => OPEN,
-      reg_fpga_temp_sens_address_export         => reg_fpga_temp_sens_copi.address(c_unb2b_board_peripherals_mm_reg_default.reg_fpga_temp_sens_adr_w - 1 downto 0),
-      reg_fpga_temp_sens_write_export           => reg_fpga_temp_sens_copi.wr,
-      reg_fpga_temp_sens_writedata_export       => reg_fpga_temp_sens_copi.wrdata(c_word_w - 1 downto 0),
-      reg_fpga_temp_sens_read_export            => reg_fpga_temp_sens_copi.rd,
-      reg_fpga_temp_sens_readdata_export        => reg_fpga_temp_sens_cipo.rddata(c_word_w - 1 downto 0),
-
-      reg_fpga_voltage_sens_reset_export        => OPEN,
-      reg_fpga_voltage_sens_clk_export          => OPEN,
-      reg_fpga_voltage_sens_address_export      => reg_fpga_voltage_sens_copi.address(c_unb2b_board_peripherals_mm_reg_default.reg_fpga_voltage_sens_adr_w - 1 downto 0),
-      reg_fpga_voltage_sens_write_export        => reg_fpga_voltage_sens_copi.wr,
-      reg_fpga_voltage_sens_writedata_export    => reg_fpga_voltage_sens_copi.wrdata(c_word_w - 1 downto 0),
-      reg_fpga_voltage_sens_read_export         => reg_fpga_voltage_sens_copi.rd,
-      reg_fpga_voltage_sens_readdata_export     => reg_fpga_voltage_sens_cipo.rddata(c_word_w - 1 downto 0),
-
-      rom_system_info_reset_export              => OPEN,
-      rom_system_info_clk_export                => OPEN,
+      pio_wdi_external_connection_export => pout_wdi,
+
+      avs_eth_0_reset_export           => eth1g_mm_rst,
+      avs_eth_0_clk_export             => OPEN,
+      avs_eth_0_tse_address_export     => eth1g_tse_copi.address(c_unb2_mm_reg_default.reg_tse_adr_w - 1 downto 0),
+      avs_eth_0_tse_write_export       => eth1g_tse_copi.wr,
+      avs_eth_0_tse_read_export        => eth1g_tse_copi.rd,
+      avs_eth_0_tse_writedata_export   => eth1g_tse_copi.wrdata(c_word_w - 1 downto 0),
+      avs_eth_0_tse_readdata_export    => eth1g_tse_cipo.rddata(c_word_w - 1 downto 0),
+      avs_eth_0_tse_waitrequest_export => eth1g_tse_cipo.waitrequest,
+      avs_eth_0_reg_address_export     => eth1g_reg_copi.address(c_unb2_mm_reg_default.reg_eth_adr_w - 1 downto 0),
+      avs_eth_0_reg_write_export       => eth1g_reg_copi.wr,
+      avs_eth_0_reg_read_export        => eth1g_reg_copi.rd,
+      avs_eth_0_reg_writedata_export   => eth1g_reg_copi.wrdata(c_word_w - 1 downto 0),
+      avs_eth_0_reg_readdata_export    => eth1g_reg_cipo.rddata(c_word_w - 1 downto 0),
+      avs_eth_0_ram_address_export     => eth1g_ram_copi.address(c_unb2_mm_reg_default.ram_eth_adr_w - 1 downto 0),
+      avs_eth_0_ram_write_export       => eth1g_ram_copi.wr,
+      avs_eth_0_ram_read_export        => eth1g_ram_copi.rd,
+      avs_eth_0_ram_writedata_export   => eth1g_ram_copi.wrdata(c_word_w - 1 downto 0),
+      avs_eth_0_ram_readdata_export    => eth1g_ram_cipo.rddata(c_word_w - 1 downto 0),
+      avs_eth_0_irq_export             => eth1g_reg_interrupt,
+
+      reg_unb_sens_reset_export     => OPEN,
+      reg_unb_sens_clk_export       => OPEN,
+      reg_unb_sens_address_export   => reg_unb_sens_copi.address(c_unb2_mm_reg_default.reg_unb_sens_adr_w - 1 downto 0),
+      reg_unb_sens_write_export     => reg_unb_sens_copi.wr,
+      reg_unb_sens_writedata_export => reg_unb_sens_copi.wrdata(c_word_w - 1 downto 0),
+      reg_unb_sens_read_export      => reg_unb_sens_copi.rd,
+      reg_unb_sens_readdata_export  => reg_unb_sens_cipo.rddata(c_word_w - 1 downto 0),
+
+      reg_unb_pmbus_reset_export     => OPEN,
+      reg_unb_pmbus_clk_export       => OPEN,
+      reg_unb_pmbus_address_export   => reg_unb_pmbus_copi.address(
+          c_unb2_mm_reg_default.reg_unb_pmbus_adr_w - 1 downto 0),
+      reg_unb_pmbus_write_export     => reg_unb_pmbus_copi.wr,
+      reg_unb_pmbus_writedata_export => reg_unb_pmbus_copi.wrdata(c_word_w - 1 downto 0),
+      reg_unb_pmbus_read_export      => reg_unb_pmbus_copi.rd,
+      reg_unb_pmbus_readdata_export  => reg_unb_pmbus_cipo.rddata(c_word_w - 1 downto 0),
+
+      reg_fpga_temp_sens_reset_export     => OPEN,
+      reg_fpga_temp_sens_clk_export       => OPEN,
+      reg_fpga_temp_sens_address_export   => reg_fpga_temp_sens_copi.address(
+          c_unb2_mm_reg_default.reg_fpga_temp_sens_adr_w - 1 downto 0),
+      reg_fpga_temp_sens_write_export     => reg_fpga_temp_sens_copi.wr,
+      reg_fpga_temp_sens_writedata_export => reg_fpga_temp_sens_copi.wrdata(c_word_w - 1 downto 0),
+      reg_fpga_temp_sens_read_export      => reg_fpga_temp_sens_copi.rd,
+      reg_fpga_temp_sens_readdata_export  => reg_fpga_temp_sens_cipo.rddata(c_word_w - 1 downto 0),
+
+      reg_fpga_voltage_sens_reset_export     => OPEN,
+      reg_fpga_voltage_sens_clk_export       => OPEN,
+      reg_fpga_voltage_sens_address_export   => reg_fpga_voltage_sens_copi.address(
+          c_unb2_mm_reg_default.reg_fpga_voltage_sens_adr_w - 1 downto 0),
+      reg_fpga_voltage_sens_write_export     => reg_fpga_voltage_sens_copi.wr,
+      reg_fpga_voltage_sens_writedata_export => reg_fpga_voltage_sens_copi.wrdata(c_word_w - 1 downto 0),
+      reg_fpga_voltage_sens_read_export      => reg_fpga_voltage_sens_copi.rd,
+      reg_fpga_voltage_sens_readdata_export  => reg_fpga_voltage_sens_cipo.rddata(c_word_w - 1 downto 0),
+
+      rom_system_info_reset_export     => OPEN,
+      rom_system_info_clk_export       => OPEN,
 --    ToDo: This has changed in the peripherals package
---      rom_system_info_address_export            => rom_unb_system_info_copi.address(9 DOWNTO 0),
-      rom_system_info_address_export            => rom_unb_system_info_copi.address(c_unb2b_board_peripherals_mm_reg_default.rom_unb_system_info_adr_w - 1 downto 0),
-      rom_system_info_write_export              => rom_unb_system_info_copi.wr,
-      rom_system_info_writedata_export          => rom_unb_system_info_copi.wrdata(c_word_w - 1 downto 0),
-      rom_system_info_read_export               => rom_unb_system_info_copi.rd,
-      rom_system_info_readdata_export           => rom_unb_system_info_cipo.rddata(c_word_w - 1 downto 0),
-
-      pio_system_info_reset_export              => OPEN,
-      pio_system_info_clk_export                => OPEN,
-      pio_system_info_address_export            => reg_unb_system_info_copi.address(c_unb2b_board_peripherals_mm_reg_default.reg_unb_system_info_adr_w - 1 downto 0),
-      pio_system_info_write_export              => reg_unb_system_info_copi.wr,
-      pio_system_info_writedata_export          => reg_unb_system_info_copi.wrdata(c_word_w - 1 downto 0),
-      pio_system_info_read_export               => reg_unb_system_info_copi.rd,
-      pio_system_info_readdata_export           => reg_unb_system_info_cipo.rddata(c_word_w - 1 downto 0),
-
-      pio_pps_reset_export                      => OPEN,
-      pio_pps_clk_export                        => OPEN,
-      pio_pps_address_export                    => reg_ppsh_copi.address(c_unb2b_board_peripherals_mm_reg_default.reg_ppsh_adr_w - 1 downto 0),
-      pio_pps_write_export                      => reg_ppsh_copi.wr,
-      pio_pps_writedata_export                  => reg_ppsh_copi.wrdata(c_word_w - 1 downto 0),
-      pio_pps_read_export                       => reg_ppsh_copi.rd,
-      pio_pps_readdata_export                   => reg_ppsh_cipo.rddata(c_word_w - 1 downto 0),
-
-      reg_wdi_reset_export                      => OPEN,
-      reg_wdi_clk_export                        => OPEN,
-      reg_wdi_address_export                    => reg_wdi_copi.address(0 downto 0),
-      reg_wdi_write_export                      => reg_wdi_copi.wr,
-      reg_wdi_writedata_export                  => reg_wdi_copi.wrdata(c_word_w - 1 downto 0),
-      reg_wdi_read_export                       => reg_wdi_copi.rd,
-      reg_wdi_readdata_export                   => reg_wdi_cipo.rddata(c_word_w - 1 downto 0),
-
-      reg_remu_reset_export                     => OPEN,
-      reg_remu_clk_export                       => OPEN,
-      reg_remu_address_export                   => reg_remu_copi.address(c_unb2b_board_peripherals_mm_reg_default.reg_remu_adr_w - 1 downto 0),
-      reg_remu_write_export                     => reg_remu_copi.wr,
-      reg_remu_writedata_export                 => reg_remu_copi.wrdata(c_word_w - 1 downto 0),
-      reg_remu_read_export                      => reg_remu_copi.rd,
-      reg_remu_readdata_export                  => reg_remu_cipo.rddata(c_word_w - 1 downto 0),
-
-      jesd204b_reset_export                     => OPEN,
-      jesd204b_clk_export                       => OPEN,
-      jesd204b_address_export                   => jesd204b_copi.address(c_sdp_jesd204b_addr_w - 1 downto 0),
-      jesd204b_write_export                     => jesd204b_copi.wr,
-      jesd204b_writedata_export                 => jesd204b_copi.wrdata(c_word_w - 1 downto 0),
-      jesd204b_read_export                      => jesd204b_copi.rd,
-      jesd204b_readdata_export                  => jesd204b_cipo.rddata(c_word_w - 1 downto 0),
-
-      pio_jesd_ctrl_reset_export                => OPEN,
-      pio_jesd_ctrl_clk_export                  => OPEN,
-      pio_jesd_ctrl_address_export              => jesd_ctrl_copi.address(c_sdp_jesd_ctrl_addr_w - 1 downto 0),
-      pio_jesd_ctrl_write_export                => jesd_ctrl_copi.wr,
-      pio_jesd_ctrl_writedata_export            => jesd_ctrl_copi.wrdata(c_word_w - 1 downto 0),
-      pio_jesd_ctrl_read_export                 => jesd_ctrl_copi.rd,
-      pio_jesd_ctrl_readdata_export             => jesd_ctrl_cipo.rddata(c_word_w - 1 downto 0),
-
-      reg_bsn_monitor_input_address_export      => reg_bsn_monitor_input_copi.address(c_sdp_reg_bsn_monitor_input_addr_w - 1 downto 0),
-      reg_bsn_monitor_input_clk_export          => OPEN,
-      reg_bsn_monitor_input_read_export         => reg_bsn_monitor_input_copi.rd,
-      reg_bsn_monitor_input_readdata_export     => reg_bsn_monitor_input_cipo.rddata(c_word_w - 1 downto 0),
-      reg_bsn_monitor_input_reset_export        => OPEN,
-      reg_bsn_monitor_input_write_export        => reg_bsn_monitor_input_copi.wr,
-      reg_bsn_monitor_input_writedata_export    => reg_bsn_monitor_input_copi.wrdata(c_word_w - 1 downto 0),
+--      rom_system_info_address_export   => rom_unb_system_info_copi.address(9 DOWNTO 0),
+      rom_system_info_address_export   => rom_unb_system_info_copi.address(
+          c_unb2_mm_reg_default.rom_unb_system_info_adr_w - 1 downto 0),
+      rom_system_info_write_export     => rom_unb_system_info_copi.wr,
+      rom_system_info_writedata_export => rom_unb_system_info_copi.wrdata(c_word_w - 1 downto 0),
+      rom_system_info_read_export      => rom_unb_system_info_copi.rd,
+      rom_system_info_readdata_export  => rom_unb_system_info_cipo.rddata(c_word_w - 1 downto 0),
+
+      pio_system_info_reset_export     => OPEN,
+      pio_system_info_clk_export       => OPEN,
+      pio_system_info_address_export   => reg_unb_system_info_copi.address(
+          c_unb2_mm_reg_default.reg_unb_system_info_adr_w - 1 downto 0),
+      pio_system_info_write_export     => reg_unb_system_info_copi.wr,
+      pio_system_info_writedata_export => reg_unb_system_info_copi.wrdata(c_word_w - 1 downto 0),
+      pio_system_info_read_export      => reg_unb_system_info_copi.rd,
+      pio_system_info_readdata_export  => reg_unb_system_info_cipo.rddata(c_word_w - 1 downto 0),
+
+      pio_pps_reset_export     => OPEN,
+      pio_pps_clk_export       => OPEN,
+      pio_pps_address_export   => reg_ppsh_copi.address(c_unb2_mm_reg_default.reg_ppsh_adr_w - 1 downto 0),
+      pio_pps_write_export     => reg_ppsh_copi.wr,
+      pio_pps_writedata_export => reg_ppsh_copi.wrdata(c_word_w - 1 downto 0),
+      pio_pps_read_export      => reg_ppsh_copi.rd,
+      pio_pps_readdata_export  => reg_ppsh_cipo.rddata(c_word_w - 1 downto 0),
+
+      reg_wdi_reset_export     => OPEN,
+      reg_wdi_clk_export       => OPEN,
+      reg_wdi_address_export   => reg_wdi_copi.address(0 downto 0),
+      reg_wdi_write_export     => reg_wdi_copi.wr,
+      reg_wdi_writedata_export => reg_wdi_copi.wrdata(c_word_w - 1 downto 0),
+      reg_wdi_read_export      => reg_wdi_copi.rd,
+      reg_wdi_readdata_export  => reg_wdi_cipo.rddata(c_word_w - 1 downto 0),
+
+      reg_remu_reset_export     => OPEN,
+      reg_remu_clk_export       => OPEN,
+      reg_remu_address_export   => reg_remu_copi.address(c_unb2_mm_reg_default.reg_remu_adr_w - 1 downto 0),
+      reg_remu_write_export     => reg_remu_copi.wr,
+      reg_remu_writedata_export => reg_remu_copi.wrdata(c_word_w - 1 downto 0),
+      reg_remu_read_export      => reg_remu_copi.rd,
+      reg_remu_readdata_export  => reg_remu_cipo.rddata(c_word_w - 1 downto 0),
+
+      jesd204b_reset_export     => OPEN,
+      jesd204b_clk_export       => OPEN,
+      jesd204b_address_export   => jesd204b_copi.address(c_sdp_jesd204b_addr_w - 1 downto 0),
+      jesd204b_write_export     => jesd204b_copi.wr,
+      jesd204b_writedata_export => jesd204b_copi.wrdata(c_word_w - 1 downto 0),
+      jesd204b_read_export      => jesd204b_copi.rd,
+      jesd204b_readdata_export  => jesd204b_cipo.rddata(c_word_w - 1 downto 0),
+
+      pio_jesd_ctrl_reset_export     => OPEN,
+      pio_jesd_ctrl_clk_export       => OPEN,
+      pio_jesd_ctrl_address_export   => jesd_ctrl_copi.address(c_sdp_jesd_ctrl_addr_w - 1 downto 0),
+      pio_jesd_ctrl_write_export     => jesd_ctrl_copi.wr,
+      pio_jesd_ctrl_writedata_export => jesd_ctrl_copi.wrdata(c_word_w - 1 downto 0),
+      pio_jesd_ctrl_read_export      => jesd_ctrl_copi.rd,
+      pio_jesd_ctrl_readdata_export  => jesd_ctrl_cipo.rddata(c_word_w - 1 downto 0),
+
+      reg_bsn_monitor_input_address_export   => reg_bsn_monitor_input_copi.address(
+          c_sdp_reg_bsn_monitor_input_addr_w - 1 downto 0),
+      reg_bsn_monitor_input_clk_export       => OPEN,
+      reg_bsn_monitor_input_read_export      => reg_bsn_monitor_input_copi.rd,
+      reg_bsn_monitor_input_readdata_export  => reg_bsn_monitor_input_cipo.rddata(c_word_w - 1 downto 0),
+      reg_bsn_monitor_input_reset_export     => OPEN,
+      reg_bsn_monitor_input_write_export     => reg_bsn_monitor_input_copi.wr,
+      reg_bsn_monitor_input_writedata_export => reg_bsn_monitor_input_copi.wrdata(c_word_w - 1 downto 0),
 
       -- waveform generators (multiplexed)
-      reg_wg_clk_export                         => OPEN,
-      reg_wg_reset_export                       => OPEN,
-      reg_wg_address_export                     => reg_wg_copi.address(c_sdp_reg_wg_addr_w - 1 downto 0),
-      reg_wg_read_export                        => reg_wg_copi.rd,
-      reg_wg_readdata_export                    => reg_wg_cipo.rddata(c_word_w - 1 downto 0),
-      reg_wg_write_export                       => reg_wg_copi.wr,
-      reg_wg_writedata_export                   => reg_wg_copi.wrdata(c_word_w - 1 downto 0),
-
-      ram_wg_clk_export                         => OPEN,
-      ram_wg_reset_export                       => OPEN,
-      ram_wg_address_export                     => ram_wg_copi.address(c_sdp_ram_wg_addr_w - 1 downto 0),
-      ram_wg_read_export                        => ram_wg_copi.rd,
-      ram_wg_readdata_export                    => ram_wg_cipo.rddata(c_word_w - 1 downto 0),
-      ram_wg_write_export                       => ram_wg_copi.wr,
-      ram_wg_writedata_export                   => ram_wg_copi.wrdata(c_word_w - 1 downto 0),
-
-      reg_dp_shiftram_clk_export                => OPEN,
-      reg_dp_shiftram_reset_export              => OPEN,
-      reg_dp_shiftram_address_export            => reg_dp_shiftram_copi.address(c_sdp_reg_dp_shiftram_addr_w - 1 downto 0),
-      reg_dp_shiftram_read_export               => reg_dp_shiftram_copi.rd,
-      reg_dp_shiftram_readdata_export           => reg_dp_shiftram_cipo.rddata(c_word_w - 1 downto 0),
-      reg_dp_shiftram_write_export              => reg_dp_shiftram_copi.wr,
-      reg_dp_shiftram_writedata_export          => reg_dp_shiftram_copi.wrdata(c_word_w - 1 downto 0),
-
-      reg_bsn_source_v2_clk_export              => OPEN,
-      reg_bsn_source_v2_reset_export            => OPEN,
-      reg_bsn_source_v2_address_export          => reg_bsn_source_v2_copi.address(c_sdp_reg_bsn_source_v2_addr_w - 1 downto 0),
-      reg_bsn_source_v2_read_export             => reg_bsn_source_v2_copi.rd,
-      reg_bsn_source_v2_readdata_export         => reg_bsn_source_v2_cipo.rddata(c_word_w - 1 downto 0),
-      reg_bsn_source_v2_write_export            => reg_bsn_source_v2_copi.wr,
-      reg_bsn_source_v2_writedata_export        => reg_bsn_source_v2_copi.wrdata(c_word_w - 1 downto 0),
-
-      reg_bsn_scheduler_clk_export              => OPEN,
-      reg_bsn_scheduler_reset_export            => OPEN,
-      reg_bsn_scheduler_address_export          => reg_bsn_scheduler_copi.address(c_sdp_reg_bsn_scheduler_addr_w - 1 downto 0),
-      reg_bsn_scheduler_read_export             => reg_bsn_scheduler_copi.rd,
-      reg_bsn_scheduler_readdata_export         => reg_bsn_scheduler_cipo.rddata(c_word_w - 1 downto 0),
-      reg_bsn_scheduler_write_export            => reg_bsn_scheduler_copi.wr,
-      reg_bsn_scheduler_writedata_export        => reg_bsn_scheduler_copi.wrdata(c_word_w - 1 downto 0),
-
-      reg_epcs_reset_export                     => OPEN,
-      reg_epcs_clk_export                       => OPEN,
-      reg_epcs_address_export                   => reg_epcs_copi.address(c_unb2b_board_peripherals_mm_reg_default.reg_epcs_adr_w - 1 downto 0),
-      reg_epcs_write_export                     => reg_epcs_copi.wr,
-      reg_epcs_writedata_export                 => reg_epcs_copi.wrdata(c_word_w - 1 downto 0),
-      reg_epcs_read_export                      => reg_epcs_copi.rd,
-      reg_epcs_readdata_export                  => reg_epcs_cipo.rddata(c_word_w - 1 downto 0),
-
-      reg_dpmm_ctrl_reset_export                => OPEN,
-      reg_dpmm_ctrl_clk_export                  => OPEN,
-      reg_dpmm_ctrl_address_export              => reg_dpmm_ctrl_copi.address(0 downto 0),
-      reg_dpmm_ctrl_write_export                => reg_dpmm_ctrl_copi.wr,
-      reg_dpmm_ctrl_writedata_export            => reg_dpmm_ctrl_copi.wrdata(c_word_w - 1 downto 0),
-      reg_dpmm_ctrl_read_export                 => reg_dpmm_ctrl_copi.rd,
-      reg_dpmm_ctrl_readdata_export             => reg_dpmm_ctrl_cipo.rddata(c_word_w - 1 downto 0),
-
-      reg_mmdp_data_reset_export                => OPEN,
-      reg_mmdp_data_clk_export                  => OPEN,
-      reg_mmdp_data_address_export              => reg_mmdp_data_copi.address(0 downto 0),
-      reg_mmdp_data_write_export                => reg_mmdp_data_copi.wr,
-      reg_mmdp_data_writedata_export            => reg_mmdp_data_copi.wrdata(c_word_w - 1 downto 0),
-      reg_mmdp_data_read_export                 => reg_mmdp_data_copi.rd,
-      reg_mmdp_data_readdata_export             => reg_mmdp_data_cipo.rddata(c_word_w - 1 downto 0),
-
-      reg_dpmm_data_reset_export                => OPEN,
-      reg_dpmm_data_clk_export                  => OPEN,
-      reg_dpmm_data_address_export              => reg_dpmm_data_copi.address(0 downto 0),
-      reg_dpmm_data_read_export                 => reg_dpmm_data_copi.rd,
-      reg_dpmm_data_readdata_export             => reg_dpmm_data_cipo.rddata(c_word_w - 1 downto 0),
-      reg_dpmm_data_write_export                => reg_dpmm_data_copi.wr,
-      reg_dpmm_data_writedata_export            => reg_dpmm_data_copi.wrdata(c_word_w - 1 downto 0),
-
-      reg_mmdp_ctrl_reset_export                => OPEN,
-      reg_mmdp_ctrl_clk_export                  => OPEN,
-      reg_mmdp_ctrl_address_export              => reg_mmdp_ctrl_copi.address(0 downto 0),
-      reg_mmdp_ctrl_read_export                 => reg_mmdp_ctrl_copi.rd,
-      reg_mmdp_ctrl_readdata_export             => reg_mmdp_ctrl_cipo.rddata(c_word_w - 1 downto 0),
-      reg_mmdp_ctrl_write_export                => reg_mmdp_ctrl_copi.wr,
-      reg_mmdp_ctrl_writedata_export            => reg_mmdp_ctrl_copi.wrdata(c_word_w - 1 downto 0),
+      reg_wg_clk_export       => OPEN,
+      reg_wg_reset_export     => OPEN,
+      reg_wg_address_export   => reg_wg_copi.address(c_sdp_reg_wg_addr_w - 1 downto 0),
+      reg_wg_read_export      => reg_wg_copi.rd,
+      reg_wg_readdata_export  => reg_wg_cipo.rddata(c_word_w - 1 downto 0),
+      reg_wg_write_export     => reg_wg_copi.wr,
+      reg_wg_writedata_export => reg_wg_copi.wrdata(c_word_w - 1 downto 0),
+
+      ram_wg_clk_export       => OPEN,
+      ram_wg_reset_export     => OPEN,
+      ram_wg_address_export   => ram_wg_copi.address(c_sdp_ram_wg_addr_w - 1 downto 0),
+      ram_wg_read_export      => ram_wg_copi.rd,
+      ram_wg_readdata_export  => ram_wg_cipo.rddata(c_word_w - 1 downto 0),
+      ram_wg_write_export     => ram_wg_copi.wr,
+      ram_wg_writedata_export => ram_wg_copi.wrdata(c_word_w - 1 downto 0),
+
+      reg_dp_shiftram_clk_export       => OPEN,
+      reg_dp_shiftram_reset_export     => OPEN,
+      reg_dp_shiftram_address_export   => reg_dp_shiftram_copi.address(c_sdp_reg_dp_shiftram_addr_w - 1 downto 0),
+      reg_dp_shiftram_read_export      => reg_dp_shiftram_copi.rd,
+      reg_dp_shiftram_readdata_export  => reg_dp_shiftram_cipo.rddata(c_word_w - 1 downto 0),
+      reg_dp_shiftram_write_export     => reg_dp_shiftram_copi.wr,
+      reg_dp_shiftram_writedata_export => reg_dp_shiftram_copi.wrdata(c_word_w - 1 downto 0),
+
+      reg_bsn_source_v2_clk_export       => OPEN,
+      reg_bsn_source_v2_reset_export     => OPEN,
+      reg_bsn_source_v2_address_export   => reg_bsn_source_v2_copi.address(c_sdp_reg_bsn_source_v2_addr_w - 1 downto 0),
+      reg_bsn_source_v2_read_export      => reg_bsn_source_v2_copi.rd,
+      reg_bsn_source_v2_readdata_export  => reg_bsn_source_v2_cipo.rddata(c_word_w - 1 downto 0),
+      reg_bsn_source_v2_write_export     => reg_bsn_source_v2_copi.wr,
+      reg_bsn_source_v2_writedata_export => reg_bsn_source_v2_copi.wrdata(c_word_w - 1 downto 0),
+
+      reg_bsn_scheduler_clk_export       => OPEN,
+      reg_bsn_scheduler_reset_export     => OPEN,
+      reg_bsn_scheduler_address_export   => reg_bsn_scheduler_copi.address(c_sdp_reg_bsn_scheduler_addr_w - 1 downto 0),
+      reg_bsn_scheduler_read_export      => reg_bsn_scheduler_copi.rd,
+      reg_bsn_scheduler_readdata_export  => reg_bsn_scheduler_cipo.rddata(c_word_w - 1 downto 0),
+      reg_bsn_scheduler_write_export     => reg_bsn_scheduler_copi.wr,
+      reg_bsn_scheduler_writedata_export => reg_bsn_scheduler_copi.wrdata(c_word_w - 1 downto 0),
+
+      reg_epcs_reset_export     => OPEN,
+      reg_epcs_clk_export       => OPEN,
+      reg_epcs_address_export   => reg_epcs_copi.address(c_unb2_mm_reg_default.reg_epcs_adr_w - 1 downto 0),
+      reg_epcs_write_export     => reg_epcs_copi.wr,
+      reg_epcs_writedata_export => reg_epcs_copi.wrdata(c_word_w - 1 downto 0),
+      reg_epcs_read_export      => reg_epcs_copi.rd,
+      reg_epcs_readdata_export  => reg_epcs_cipo.rddata(c_word_w - 1 downto 0),
+
+      reg_dpmm_ctrl_reset_export     => OPEN,
+      reg_dpmm_ctrl_clk_export       => OPEN,
+      reg_dpmm_ctrl_address_export   => reg_dpmm_ctrl_copi.address(0 downto 0),
+      reg_dpmm_ctrl_write_export     => reg_dpmm_ctrl_copi.wr,
+      reg_dpmm_ctrl_writedata_export => reg_dpmm_ctrl_copi.wrdata(c_word_w - 1 downto 0),
+      reg_dpmm_ctrl_read_export      => reg_dpmm_ctrl_copi.rd,
+      reg_dpmm_ctrl_readdata_export  => reg_dpmm_ctrl_cipo.rddata(c_word_w - 1 downto 0),
+
+      reg_mmdp_data_reset_export     => OPEN,
+      reg_mmdp_data_clk_export       => OPEN,
+      reg_mmdp_data_address_export   => reg_mmdp_data_copi.address(0 downto 0),
+      reg_mmdp_data_write_export     => reg_mmdp_data_copi.wr,
+      reg_mmdp_data_writedata_export => reg_mmdp_data_copi.wrdata(c_word_w - 1 downto 0),
+      reg_mmdp_data_read_export      => reg_mmdp_data_copi.rd,
+      reg_mmdp_data_readdata_export  => reg_mmdp_data_cipo.rddata(c_word_w - 1 downto 0),
+
+      reg_dpmm_data_reset_export     => OPEN,
+      reg_dpmm_data_clk_export       => OPEN,
+      reg_dpmm_data_address_export   => reg_dpmm_data_copi.address(0 downto 0),
+      reg_dpmm_data_read_export      => reg_dpmm_data_copi.rd,
+      reg_dpmm_data_readdata_export  => reg_dpmm_data_cipo.rddata(c_word_w - 1 downto 0),
+      reg_dpmm_data_write_export     => reg_dpmm_data_copi.wr,
+      reg_dpmm_data_writedata_export => reg_dpmm_data_copi.wrdata(c_word_w - 1 downto 0),
+
+      reg_mmdp_ctrl_reset_export     => OPEN,
+      reg_mmdp_ctrl_clk_export       => OPEN,
+      reg_mmdp_ctrl_address_export   => reg_mmdp_ctrl_copi.address(0 downto 0),
+      reg_mmdp_ctrl_read_export      => reg_mmdp_ctrl_copi.rd,
+      reg_mmdp_ctrl_readdata_export  => reg_mmdp_ctrl_cipo.rddata(c_word_w - 1 downto 0),
+      reg_mmdp_ctrl_write_export     => reg_mmdp_ctrl_copi.wr,
+      reg_mmdp_ctrl_writedata_export => reg_mmdp_ctrl_copi.wrdata(c_word_w - 1 downto 0),
 
       ram_diag_data_buffer_bsn_clk_export       => OPEN,
       ram_diag_data_buffer_bsn_reset_export     => OPEN,
-      ram_diag_data_buffer_bsn_address_export   => ram_diag_data_buf_bsn_copi.address(c_sdp_ram_diag_data_buf_bsn_addr_w - 1 downto 0),
+      ram_diag_data_buffer_bsn_address_export   => ram_diag_data_buf_bsn_copi.address(
+          c_sdp_ram_diag_data_buf_bsn_addr_w - 1 downto 0),
       ram_diag_data_buffer_bsn_write_export     => ram_diag_data_buf_bsn_copi.wr,
       ram_diag_data_buffer_bsn_writedata_export => ram_diag_data_buf_bsn_copi.wrdata(c_word_w - 1 downto 0),
       ram_diag_data_buffer_bsn_read_export      => ram_diag_data_buf_bsn_copi.rd,
@@ -789,351 +877,399 @@ begin
 
       reg_diag_data_buffer_bsn_reset_export     => OPEN,
       reg_diag_data_buffer_bsn_clk_export       => OPEN,
-      reg_diag_data_buffer_bsn_address_export   => reg_diag_data_buf_bsn_copi.address(c_sdp_reg_diag_data_buf_bsn_addr_w - 1 downto 0),
+      reg_diag_data_buffer_bsn_address_export   => reg_diag_data_buf_bsn_copi.address(
+          c_sdp_reg_diag_data_buf_bsn_addr_w - 1 downto 0),
       reg_diag_data_buffer_bsn_write_export     => reg_diag_data_buf_bsn_copi.wr,
       reg_diag_data_buffer_bsn_writedata_export => reg_diag_data_buf_bsn_copi.wrdata(c_word_w - 1 downto 0),
       reg_diag_data_buffer_bsn_read_export      => reg_diag_data_buf_bsn_copi.rd,
       reg_diag_data_buffer_bsn_readdata_export  => reg_diag_data_buf_bsn_cipo.rddata(c_word_w - 1 downto 0),
 
-      ram_st_histogram_clk_export               => OPEN,
-      ram_st_histogram_reset_export             => OPEN,
-      ram_st_histogram_address_export           => ram_st_histogram_copi.address(c_sdp_ram_st_histogram_addr_w - 1 downto 0),
-      ram_st_histogram_write_export             => ram_st_histogram_copi.wr,
-      ram_st_histogram_writedata_export         => ram_st_histogram_copi.wrdata(c_word_w - 1 downto 0),
-      ram_st_histogram_read_export              => ram_st_histogram_copi.rd,
-      ram_st_histogram_readdata_export          => ram_st_histogram_cipo.rddata(c_word_w - 1 downto 0),
-
-      reg_aduh_monitor_reset_export             => OPEN,
-      reg_aduh_monitor_clk_export               => OPEN,
-      reg_aduh_monitor_address_export           => reg_aduh_monitor_copi.address(c_sdp_reg_aduh_monitor_addr_w - 1 downto 0),
-      reg_aduh_monitor_write_export             => reg_aduh_monitor_copi.wr,
-      reg_aduh_monitor_writedata_export         => reg_aduh_monitor_copi.wrdata(c_word_w - 1 downto 0),
-      reg_aduh_monitor_read_export              => reg_aduh_monitor_copi.rd,
-      reg_aduh_monitor_readdata_export          => reg_aduh_monitor_cipo.rddata(c_word_w - 1 downto 0),
-
-      ram_fil_coefs_clk_export                  => OPEN,
-      ram_fil_coefs_reset_export                => OPEN,
-      ram_fil_coefs_address_export              => ram_fil_coefs_copi.address(c_sdp_ram_fil_coefs_addr_w - 1 downto 0),
-      ram_fil_coefs_write_export                => ram_fil_coefs_copi.wr,
-      ram_fil_coefs_writedata_export            => ram_fil_coefs_copi.wrdata(c_word_w - 1 downto 0),
-      ram_fil_coefs_read_export                 => ram_fil_coefs_copi.rd,
-      ram_fil_coefs_readdata_export             => ram_fil_coefs_cipo.rddata(c_word_w - 1 downto 0),
-
-      ram_st_sst_clk_export                     => OPEN,
-      ram_st_sst_reset_export                   => OPEN,
-      ram_st_sst_address_export                 => ram_st_sst_copi.address(c_sdp_ram_st_sst_addr_w - 1 downto 0),
-      ram_st_sst_write_export                   => ram_st_sst_copi.wr,
-      ram_st_sst_writedata_export               => ram_st_sst_copi.wrdata(c_word_w - 1 downto 0),
-      ram_st_sst_read_export                    => ram_st_sst_copi.rd,
-      ram_st_sst_readdata_export                => ram_st_sst_cipo.rddata(c_word_w - 1 downto 0),
-
-      reg_si_clk_export                         => OPEN,
-      reg_si_reset_export                       => OPEN,
-      reg_si_address_export                     => reg_si_copi.address(c_sdp_reg_si_addr_w - 1 downto 0),
-      reg_si_write_export                       => reg_si_copi.wr,
-      reg_si_writedata_export                   => reg_si_copi.wrdata(c_word_w - 1 downto 0),
-      reg_si_read_export                        => reg_si_copi.rd,
-      reg_si_readdata_export                    => reg_si_cipo.rddata(c_word_w - 1 downto 0),
-
-      ram_equalizer_gains_clk_export            => OPEN,
-      ram_equalizer_gains_reset_export          => OPEN,
-      ram_equalizer_gains_address_export        => ram_equalizer_gains_copi.address(c_sdp_ram_equalizer_gains_addr_w - 1 downto 0),
-      ram_equalizer_gains_write_export          => ram_equalizer_gains_copi.wr,
-      ram_equalizer_gains_writedata_export      => ram_equalizer_gains_copi.wrdata(c_word_w - 1 downto 0),
-      ram_equalizer_gains_read_export           => ram_equalizer_gains_copi.rd,
-      ram_equalizer_gains_readdata_export       => ram_equalizer_gains_cipo.rddata(c_word_w - 1 downto 0),
+      ram_st_histogram_clk_export       => OPEN,
+      ram_st_histogram_reset_export     => OPEN,
+      ram_st_histogram_address_export   => ram_st_histogram_copi.address(c_sdp_ram_st_histogram_addr_w - 1 downto 0),
+      ram_st_histogram_write_export     => ram_st_histogram_copi.wr,
+      ram_st_histogram_writedata_export => ram_st_histogram_copi.wrdata(c_word_w - 1 downto 0),
+      ram_st_histogram_read_export      => ram_st_histogram_copi.rd,
+      ram_st_histogram_readdata_export  => ram_st_histogram_cipo.rddata(c_word_w - 1 downto 0),
+
+      reg_aduh_monitor_reset_export     => OPEN,
+      reg_aduh_monitor_clk_export       => OPEN,
+      reg_aduh_monitor_address_export   => reg_aduh_monitor_copi.address(c_sdp_reg_aduh_monitor_addr_w - 1 downto 0),
+      reg_aduh_monitor_write_export     => reg_aduh_monitor_copi.wr,
+      reg_aduh_monitor_writedata_export => reg_aduh_monitor_copi.wrdata(c_word_w - 1 downto 0),
+      reg_aduh_monitor_read_export      => reg_aduh_monitor_copi.rd,
+      reg_aduh_monitor_readdata_export  => reg_aduh_monitor_cipo.rddata(c_word_w - 1 downto 0),
+
+      ram_fil_coefs_clk_export       => OPEN,
+      ram_fil_coefs_reset_export     => OPEN,
+      ram_fil_coefs_address_export   => ram_fil_coefs_copi.address(c_sdp_ram_fil_coefs_addr_w - 1 downto 0),
+      ram_fil_coefs_write_export     => ram_fil_coefs_copi.wr,
+      ram_fil_coefs_writedata_export => ram_fil_coefs_copi.wrdata(c_word_w - 1 downto 0),
+      ram_fil_coefs_read_export      => ram_fil_coefs_copi.rd,
+      ram_fil_coefs_readdata_export  => ram_fil_coefs_cipo.rddata(c_word_w - 1 downto 0),
+
+      ram_st_sst_clk_export       => OPEN,
+      ram_st_sst_reset_export     => OPEN,
+      ram_st_sst_address_export   => ram_st_sst_copi.address(c_sdp_ram_st_sst_addr_w - 1 downto 0),
+      ram_st_sst_write_export     => ram_st_sst_copi.wr,
+      ram_st_sst_writedata_export => ram_st_sst_copi.wrdata(c_word_w - 1 downto 0),
+      ram_st_sst_read_export      => ram_st_sst_copi.rd,
+      ram_st_sst_readdata_export  => ram_st_sst_cipo.rddata(c_word_w - 1 downto 0),
+
+      reg_si_clk_export       => OPEN,
+      reg_si_reset_export     => OPEN,
+      reg_si_address_export   => reg_si_copi.address(c_sdp_reg_si_addr_w - 1 downto 0),
+      reg_si_write_export     => reg_si_copi.wr,
+      reg_si_writedata_export => reg_si_copi.wrdata(c_word_w - 1 downto 0),
+      reg_si_read_export      => reg_si_copi.rd,
+      reg_si_readdata_export  => reg_si_cipo.rddata(c_word_w - 1 downto 0),
+
+      ram_equalizer_gains_clk_export       => OPEN,
+      ram_equalizer_gains_reset_export     => OPEN,
+      ram_equalizer_gains_address_export   => ram_equalizer_gains_copi.address(
+          c_sdp_ram_equalizer_gains_addr_w - 1 downto 0),
+      ram_equalizer_gains_write_export     => ram_equalizer_gains_copi.wr,
+      ram_equalizer_gains_writedata_export => ram_equalizer_gains_copi.wrdata(c_word_w - 1 downto 0),
+      ram_equalizer_gains_read_export      => ram_equalizer_gains_copi.rd,
+      ram_equalizer_gains_readdata_export  => ram_equalizer_gains_cipo.rddata(c_word_w - 1 downto 0),
 
       ram_equalizer_gains_cross_clk_export       => OPEN,
       ram_equalizer_gains_cross_reset_export     => OPEN,
-      ram_equalizer_gains_cross_address_export   => ram_equalizer_gains_cross_copi.address(c_sdp_ram_equalizer_gains_addr_w - 1 downto 0),
+      ram_equalizer_gains_cross_address_export   => ram_equalizer_gains_cross_copi.address(
+          c_sdp_ram_equalizer_gains_addr_w - 1 downto 0),
       ram_equalizer_gains_cross_write_export     => ram_equalizer_gains_cross_copi.wr,
       ram_equalizer_gains_cross_writedata_export => ram_equalizer_gains_cross_copi.wrdata(c_word_w - 1 downto 0),
       ram_equalizer_gains_cross_read_export      => ram_equalizer_gains_cross_copi.rd,
       ram_equalizer_gains_cross_readdata_export  => ram_equalizer_gains_cross_cipo.rddata(c_word_w - 1 downto 0),
 
-      reg_dp_selector_clk_export                => OPEN,
-      reg_dp_selector_reset_export              => OPEN,
-      reg_dp_selector_address_export            => reg_dp_selector_copi.address(c_sdp_reg_dp_selector_addr_w - 1 downto 0),
-      reg_dp_selector_write_export              => reg_dp_selector_copi.wr,
-      reg_dp_selector_writedata_export          => reg_dp_selector_copi.wrdata(c_word_w - 1 downto 0),
-      reg_dp_selector_read_export               => reg_dp_selector_copi.rd,
-      reg_dp_selector_readdata_export           => reg_dp_selector_cipo.rddata(c_word_w - 1 downto 0),
-
-      reg_sdp_info_clk_export                   => OPEN,
-      reg_sdp_info_reset_export                 => OPEN,
-      reg_sdp_info_address_export               => reg_sdp_info_copi.address(c_sdp_reg_sdp_info_addr_w - 1 downto 0),
-      reg_sdp_info_write_export                 => reg_sdp_info_copi.wr,
-      reg_sdp_info_writedata_export             => reg_sdp_info_copi.wrdata(c_word_w - 1 downto 0),
-      reg_sdp_info_read_export                  => reg_sdp_info_copi.rd,
-      reg_sdp_info_readdata_export              => reg_sdp_info_cipo.rddata(c_word_w - 1 downto 0),
-
-      reg_ring_info_clk_export                  => OPEN,
-      reg_ring_info_reset_export                => OPEN,
-      reg_ring_info_address_export              => reg_ring_info_copi.address(c_sdp_reg_ring_info_addr_w - 1 downto 0),
-      reg_ring_info_write_export                => reg_ring_info_copi.wr,
-      reg_ring_info_writedata_export            => reg_ring_info_copi.wrdata(c_word_w - 1 downto 0),
-      reg_ring_info_read_export                 => reg_ring_info_copi.rd,
-      reg_ring_info_readdata_export             => reg_ring_info_cipo.rddata(c_word_w - 1 downto 0),
-
-      ram_ss_ss_wide_clk_export                 => OPEN,
-      ram_ss_ss_wide_reset_export               => OPEN,
-      ram_ss_ss_wide_address_export             => ram_ss_ss_wide_copi.address(c_sdp_ram_ss_ss_wide_addr_w - 1 downto 0),
-      ram_ss_ss_wide_write_export               => ram_ss_ss_wide_copi.wr,
-      ram_ss_ss_wide_writedata_export           => ram_ss_ss_wide_copi.wrdata(c_word_w - 1 downto 0),
-      ram_ss_ss_wide_read_export                => ram_ss_ss_wide_copi.rd,
-      ram_ss_ss_wide_readdata_export            => ram_ss_ss_wide_cipo.rddata(c_word_w - 1 downto 0),
-
-      ram_bf_weights_clk_export                 => OPEN,
-      ram_bf_weights_reset_export               => OPEN,
-      ram_bf_weights_address_export             => ram_bf_weights_copi.address(c_sdp_ram_bf_weights_addr_w - 1 downto 0),
-      ram_bf_weights_write_export               => ram_bf_weights_copi.wr,
-      ram_bf_weights_writedata_export           => ram_bf_weights_copi.wrdata(c_word_w - 1 downto 0),
-      ram_bf_weights_read_export                => ram_bf_weights_copi.rd,
-      ram_bf_weights_readdata_export            => ram_bf_weights_cipo.rddata(c_word_w - 1 downto 0),
-
-      reg_bf_scale_clk_export                   => OPEN,
-      reg_bf_scale_reset_export                 => OPEN,
-      reg_bf_scale_address_export               => reg_bf_scale_copi.address(c_sdp_reg_bf_scale_addr_w - 1 downto 0),
-      reg_bf_scale_write_export                 => reg_bf_scale_copi.wr,
-      reg_bf_scale_writedata_export             => reg_bf_scale_copi.wrdata(c_word_w - 1 downto 0),
-      reg_bf_scale_read_export                  => reg_bf_scale_copi.rd,
-      reg_bf_scale_readdata_export              => reg_bf_scale_cipo.rddata(c_word_w - 1 downto 0),
-
-      reg_hdr_dat_clk_export                    => OPEN,
-      reg_hdr_dat_reset_export                  => OPEN,
-      reg_hdr_dat_address_export                => reg_hdr_dat_copi.address(c_sdp_reg_bf_hdr_dat_addr_w - 1 downto 0),
-      reg_hdr_dat_write_export                  => reg_hdr_dat_copi.wr,
-      reg_hdr_dat_writedata_export              => reg_hdr_dat_copi.wrdata(c_word_w - 1 downto 0),
-      reg_hdr_dat_read_export                   => reg_hdr_dat_copi.rd,
-      reg_hdr_dat_readdata_export               => reg_hdr_dat_cipo.rddata(c_word_w - 1 downto 0),
-
-      reg_bdo_destinations_clk_export           => OPEN,
-      reg_bdo_destinations_reset_export         => OPEN,
-      reg_bdo_destinations_address_export       => reg_bdo_destinations_copi.address(c_sdp_reg_bdo_destinations_info_w - 1 downto 0),
-      reg_bdo_destinations_write_export         => reg_bdo_destinations_copi.wr,
-      reg_bdo_destinations_writedata_export     => reg_bdo_destinations_copi.wrdata(c_word_w - 1 downto 0),
-      reg_bdo_destinations_read_export          => reg_bdo_destinations_copi.rd,
-      reg_bdo_destinations_readdata_export      => reg_bdo_destinations_cipo.rddata(c_word_w - 1 downto 0),
-
-      reg_dp_xonoff_clk_export                  => OPEN,
-      reg_dp_xonoff_reset_export                => OPEN,
-      reg_dp_xonoff_address_export              => reg_dp_xonoff_copi.address(c_sdp_reg_dp_xonoff_addr_w - 1 downto 0),
-      reg_dp_xonoff_write_export                => reg_dp_xonoff_copi.wr,
-      reg_dp_xonoff_writedata_export            => reg_dp_xonoff_copi.wrdata(c_word_w - 1 downto 0),
-      reg_dp_xonoff_read_export                 => reg_dp_xonoff_copi.rd,
-      reg_dp_xonoff_readdata_export             => reg_dp_xonoff_cipo.rddata(c_word_w - 1 downto 0),
-
-      ram_st_bst_clk_export                     => OPEN,
-      ram_st_bst_reset_export                   => OPEN,
-      ram_st_bst_address_export                 => ram_st_bst_copi.address(c_sdp_ram_st_bst_addr_w - 1 downto 0),
-      ram_st_bst_write_export                   => ram_st_bst_copi.wr,
-      ram_st_bst_writedata_export               => ram_st_bst_copi.wrdata(c_word_w - 1 downto 0),
-      ram_st_bst_read_export                    => ram_st_bst_copi.rd,
-      ram_st_bst_readdata_export                => ram_st_bst_cipo.rddata(c_word_w - 1 downto 0),
-
-      reg_stat_enable_sst_clk_export            => OPEN,
-      reg_stat_enable_sst_reset_export          => OPEN,
-      reg_stat_enable_sst_address_export        => reg_stat_enable_sst_copi.address(c_sdp_reg_stat_enable_addr_w - 1 downto 0),
-      reg_stat_enable_sst_write_export          => reg_stat_enable_sst_copi.wr,
-      reg_stat_enable_sst_writedata_export      => reg_stat_enable_sst_copi.wrdata(c_word_w - 1 downto 0),
-      reg_stat_enable_sst_read_export           => reg_stat_enable_sst_copi.rd,
-      reg_stat_enable_sst_readdata_export       => reg_stat_enable_sst_cipo.rddata(c_word_w - 1 downto 0),
-
-      reg_stat_hdr_dat_sst_clk_export           => OPEN,
-      reg_stat_hdr_dat_sst_reset_export         => OPEN,
-      reg_stat_hdr_dat_sst_address_export       => reg_stat_hdr_dat_sst_copi.address(c_sdp_reg_stat_hdr_dat_addr_w - 1 downto 0),
-      reg_stat_hdr_dat_sst_write_export         => reg_stat_hdr_dat_sst_copi.wr,
-      reg_stat_hdr_dat_sst_writedata_export     => reg_stat_hdr_dat_sst_copi.wrdata(c_word_w - 1 downto 0),
-      reg_stat_hdr_dat_sst_read_export          => reg_stat_hdr_dat_sst_copi.rd,
-      reg_stat_hdr_dat_sst_readdata_export      => reg_stat_hdr_dat_sst_cipo.rddata(c_word_w - 1 downto 0),
-
-      reg_stat_enable_xst_clk_export            => OPEN,
-      reg_stat_enable_xst_reset_export          => OPEN,
-      reg_stat_enable_xst_address_export        => reg_stat_enable_xst_copi.address(c_sdp_reg_stat_enable_addr_w - 1 downto 0),
-      reg_stat_enable_xst_write_export          => reg_stat_enable_xst_copi.wr,
-      reg_stat_enable_xst_writedata_export      => reg_stat_enable_xst_copi.wrdata(c_word_w - 1 downto 0),
-      reg_stat_enable_xst_read_export           => reg_stat_enable_xst_copi.rd,
-      reg_stat_enable_xst_readdata_export       => reg_stat_enable_xst_cipo.rddata(c_word_w - 1 downto 0),
-
-      reg_stat_hdr_dat_xst_clk_export           => OPEN,
-      reg_stat_hdr_dat_xst_reset_export         => OPEN,
-      reg_stat_hdr_dat_xst_address_export       => reg_stat_hdr_dat_xst_copi.address(c_sdp_reg_stat_hdr_dat_addr_w - 1 downto 0),
-      reg_stat_hdr_dat_xst_write_export         => reg_stat_hdr_dat_xst_copi.wr,
-      reg_stat_hdr_dat_xst_writedata_export     => reg_stat_hdr_dat_xst_copi.wrdata(c_word_w - 1 downto 0),
-      reg_stat_hdr_dat_xst_read_export          => reg_stat_hdr_dat_xst_copi.rd,
-      reg_stat_hdr_dat_xst_readdata_export      => reg_stat_hdr_dat_xst_cipo.rddata(c_word_w - 1 downto 0),
-
-      reg_stat_enable_bst_clk_export            => OPEN,
-      reg_stat_enable_bst_reset_export          => OPEN,
-      reg_stat_enable_bst_address_export        => reg_stat_enable_bst_copi.address(c_sdp_reg_stat_enable_bst_addr_w - 1 downto 0),
-      reg_stat_enable_bst_write_export          => reg_stat_enable_bst_copi.wr,
-      reg_stat_enable_bst_writedata_export      => reg_stat_enable_bst_copi.wrdata(c_word_w - 1 downto 0),
-      reg_stat_enable_bst_read_export           => reg_stat_enable_bst_copi.rd,
-      reg_stat_enable_bst_readdata_export       => reg_stat_enable_bst_cipo.rddata(c_word_w - 1 downto 0),
-
-      reg_stat_hdr_dat_bst_clk_export           => OPEN,
-      reg_stat_hdr_dat_bst_reset_export         => OPEN,
-      reg_stat_hdr_dat_bst_address_export       => reg_stat_hdr_dat_bst_copi.address(c_sdp_reg_stat_hdr_dat_bst_addr_w - 1 downto 0),
-      reg_stat_hdr_dat_bst_write_export         => reg_stat_hdr_dat_bst_copi.wr,
-      reg_stat_hdr_dat_bst_writedata_export     => reg_stat_hdr_dat_bst_copi.wrdata(c_word_w - 1 downto 0),
-      reg_stat_hdr_dat_bst_read_export          => reg_stat_hdr_dat_bst_copi.rd,
-      reg_stat_hdr_dat_bst_readdata_export      => reg_stat_hdr_dat_bst_cipo.rddata(c_word_w - 1 downto 0),
-
-      reg_crosslets_info_clk_export             => OPEN,
-      reg_crosslets_info_reset_export           => OPEN,
-      reg_crosslets_info_address_export         => reg_crosslets_info_copi.address(c_sdp_reg_crosslets_info_addr_w - 1 downto 0),
-      reg_crosslets_info_write_export           => reg_crosslets_info_copi.wr,
-      reg_crosslets_info_writedata_export       => reg_crosslets_info_copi.wrdata(c_word_w - 1 downto 0),
-      reg_crosslets_info_read_export            => reg_crosslets_info_copi.rd,
-      reg_crosslets_info_readdata_export        => reg_crosslets_info_cipo.rddata(c_word_w - 1 downto 0),
-
-      reg_nof_crosslets_clk_export              => OPEN,
-      reg_nof_crosslets_reset_export            => OPEN,
-      reg_nof_crosslets_address_export          => reg_nof_crosslets_copi.address(c_sdp_reg_nof_crosslets_addr_w - 1 downto 0),
-      reg_nof_crosslets_write_export            => reg_nof_crosslets_copi.wr,
-      reg_nof_crosslets_writedata_export        => reg_nof_crosslets_copi.wrdata(c_word_w - 1 downto 0),
-      reg_nof_crosslets_read_export             => reg_nof_crosslets_copi.rd,
-      reg_nof_crosslets_readdata_export         => reg_nof_crosslets_cipo.rddata(c_word_w - 1 downto 0),
-
-      reg_bsn_sync_scheduler_xsub_clk_export         => OPEN,
-      reg_bsn_sync_scheduler_xsub_reset_export       => OPEN,
-      reg_bsn_sync_scheduler_xsub_address_export     => reg_bsn_sync_scheduler_xsub_copi.address(c_sdp_reg_bsn_sync_scheduler_xsub_addr_w - 1 downto 0),
-      reg_bsn_sync_scheduler_xsub_write_export       => reg_bsn_sync_scheduler_xsub_copi.wr,
-      reg_bsn_sync_scheduler_xsub_writedata_export   => reg_bsn_sync_scheduler_xsub_copi.wrdata(c_word_w - 1 downto 0),
-      reg_bsn_sync_scheduler_xsub_read_export        => reg_bsn_sync_scheduler_xsub_copi.rd,
-      reg_bsn_sync_scheduler_xsub_readdata_export    => reg_bsn_sync_scheduler_xsub_cipo.rddata(c_word_w - 1 downto 0),
-
-      ram_st_xsq_clk_export                     => OPEN,
-      ram_st_xsq_reset_export                   => OPEN,
-      ram_st_xsq_address_export                 => ram_st_xsq_copi.address(c_sdp_ram_st_xsq_arr_addr_w - 1 downto 0),
-      ram_st_xsq_write_export                   => ram_st_xsq_copi.wr,
-      ram_st_xsq_writedata_export               => ram_st_xsq_copi.wrdata(c_word_w - 1 downto 0),
-      ram_st_xsq_read_export                    => ram_st_xsq_copi.rd,
-      ram_st_xsq_readdata_export                => ram_st_xsq_cipo.rddata(c_word_w - 1 downto 0),
-
-      reg_nw_10GbE_mac_clk_export               => OPEN,
-      reg_nw_10GbE_mac_reset_export             => OPEN,
-      reg_nw_10GbE_mac_address_export           => reg_nw_10GbE_mac_copi.address(c_sdp_reg_nw_10GbE_mac_addr_w - 1 downto 0),
-      reg_nw_10GbE_mac_write_export             => reg_nw_10GbE_mac_copi.wr,
-      reg_nw_10GbE_mac_writedata_export         => reg_nw_10GbE_mac_copi.wrdata(c_word_w - 1 downto 0),
-      reg_nw_10GbE_mac_read_export              => reg_nw_10GbE_mac_copi.rd,
-      reg_nw_10GbE_mac_readdata_export          => reg_nw_10GbE_mac_cipo.rddata(c_word_w - 1 downto 0),
-
-      reg_nw_10GbE_eth10g_clk_export            => OPEN,
-      reg_nw_10GbE_eth10g_reset_export          => OPEN,
-      reg_nw_10GbE_eth10g_address_export        => reg_nw_10GbE_eth10g_copi.address(c_sdp_reg_nw_10GbE_eth10g_addr_w - 1 downto 0),
-      reg_nw_10GbE_eth10g_write_export          => reg_nw_10GbE_eth10g_copi.wr,
-      reg_nw_10GbE_eth10g_writedata_export      => reg_nw_10GbE_eth10g_copi.wrdata(c_word_w - 1 downto 0),
-      reg_nw_10GbE_eth10g_read_export           => reg_nw_10GbE_eth10g_copi.rd,
-      reg_nw_10GbE_eth10g_readdata_export       => reg_nw_10GbE_eth10g_cipo.rddata(c_word_w - 1 downto 0),
-
-      reg_bsn_align_v2_bf_clk_export          => OPEN,
-      reg_bsn_align_v2_bf_reset_export        => OPEN,
-      reg_bsn_align_v2_bf_address_export      => reg_bsn_align_v2_bf_copi.address(c_sdp_reg_bsn_align_v2_bf_addr_w - 1 downto 0),
-      reg_bsn_align_v2_bf_write_export        => reg_bsn_align_v2_bf_copi.wr,
-      reg_bsn_align_v2_bf_writedata_export    => reg_bsn_align_v2_bf_copi.wrdata(c_word_w - 1 downto 0),
-      reg_bsn_align_v2_bf_read_export         => reg_bsn_align_v2_bf_copi.rd,
-      reg_bsn_align_v2_bf_readdata_export     => reg_bsn_align_v2_bf_cipo.rddata(c_word_w - 1 downto 0),
+      reg_dp_selector_clk_export       => OPEN,
+      reg_dp_selector_reset_export     => OPEN,
+      reg_dp_selector_address_export   => reg_dp_selector_copi.address(c_sdp_reg_dp_selector_addr_w - 1 downto 0),
+      reg_dp_selector_write_export     => reg_dp_selector_copi.wr,
+      reg_dp_selector_writedata_export => reg_dp_selector_copi.wrdata(c_word_w - 1 downto 0),
+      reg_dp_selector_read_export      => reg_dp_selector_copi.rd,
+      reg_dp_selector_readdata_export  => reg_dp_selector_cipo.rddata(c_word_w - 1 downto 0),
+
+      reg_sdp_info_clk_export       => OPEN,
+      reg_sdp_info_reset_export     => OPEN,
+      reg_sdp_info_address_export   => reg_sdp_info_copi.address(c_sdp_reg_sdp_info_addr_w - 1 downto 0),
+      reg_sdp_info_write_export     => reg_sdp_info_copi.wr,
+      reg_sdp_info_writedata_export => reg_sdp_info_copi.wrdata(c_word_w - 1 downto 0),
+      reg_sdp_info_read_export      => reg_sdp_info_copi.rd,
+      reg_sdp_info_readdata_export  => reg_sdp_info_cipo.rddata(c_word_w - 1 downto 0),
+
+      reg_ring_info_clk_export       => OPEN,
+      reg_ring_info_reset_export     => OPEN,
+      reg_ring_info_address_export   => reg_ring_info_copi.address(c_sdp_reg_ring_info_addr_w - 1 downto 0),
+      reg_ring_info_write_export     => reg_ring_info_copi.wr,
+      reg_ring_info_writedata_export => reg_ring_info_copi.wrdata(c_word_w - 1 downto 0),
+      reg_ring_info_read_export      => reg_ring_info_copi.rd,
+      reg_ring_info_readdata_export  => reg_ring_info_cipo.rddata(c_word_w - 1 downto 0),
+
+      ram_ss_ss_wide_clk_export       => OPEN,
+      ram_ss_ss_wide_reset_export     => OPEN,
+      ram_ss_ss_wide_address_export   => ram_ss_ss_wide_copi.address(c_sdp_ram_ss_ss_wide_addr_w - 1 downto 0),
+      ram_ss_ss_wide_write_export     => ram_ss_ss_wide_copi.wr,
+      ram_ss_ss_wide_writedata_export => ram_ss_ss_wide_copi.wrdata(c_word_w - 1 downto 0),
+      ram_ss_ss_wide_read_export      => ram_ss_ss_wide_copi.rd,
+      ram_ss_ss_wide_readdata_export  => ram_ss_ss_wide_cipo.rddata(c_word_w - 1 downto 0),
+
+      ram_bf_weights_clk_export       => OPEN,
+      ram_bf_weights_reset_export     => OPEN,
+      ram_bf_weights_address_export   => ram_bf_weights_copi.address(c_sdp_ram_bf_weights_addr_w - 1 downto 0),
+      ram_bf_weights_write_export     => ram_bf_weights_copi.wr,
+      ram_bf_weights_writedata_export => ram_bf_weights_copi.wrdata(c_word_w - 1 downto 0),
+      ram_bf_weights_read_export      => ram_bf_weights_copi.rd,
+      ram_bf_weights_readdata_export  => ram_bf_weights_cipo.rddata(c_word_w - 1 downto 0),
+
+      reg_bf_scale_clk_export       => OPEN,
+      reg_bf_scale_reset_export     => OPEN,
+      reg_bf_scale_address_export   => reg_bf_scale_copi.address(c_sdp_reg_bf_scale_addr_w - 1 downto 0),
+      reg_bf_scale_write_export     => reg_bf_scale_copi.wr,
+      reg_bf_scale_writedata_export => reg_bf_scale_copi.wrdata(c_word_w - 1 downto 0),
+      reg_bf_scale_read_export      => reg_bf_scale_copi.rd,
+      reg_bf_scale_readdata_export  => reg_bf_scale_cipo.rddata(c_word_w - 1 downto 0),
+
+      reg_hdr_dat_clk_export       => OPEN,
+      reg_hdr_dat_reset_export     => OPEN,
+      reg_hdr_dat_address_export   => reg_hdr_dat_copi.address(c_sdp_reg_bf_hdr_dat_addr_w - 1 downto 0),
+      reg_hdr_dat_write_export     => reg_hdr_dat_copi.wr,
+      reg_hdr_dat_writedata_export => reg_hdr_dat_copi.wrdata(c_word_w - 1 downto 0),
+      reg_hdr_dat_read_export      => reg_hdr_dat_copi.rd,
+      reg_hdr_dat_readdata_export  => reg_hdr_dat_cipo.rddata(c_word_w - 1 downto 0),
+
+      reg_bdo_destinations_clk_export       => OPEN,
+      reg_bdo_destinations_reset_export     => OPEN,
+      reg_bdo_destinations_address_export   => reg_bdo_destinations_copi.address(
+          c_sdp_reg_bdo_destinations_info_w - 1 downto 0),
+      reg_bdo_destinations_write_export     => reg_bdo_destinations_copi.wr,
+      reg_bdo_destinations_writedata_export => reg_bdo_destinations_copi.wrdata(c_word_w - 1 downto 0),
+      reg_bdo_destinations_read_export      => reg_bdo_destinations_copi.rd,
+      reg_bdo_destinations_readdata_export  => reg_bdo_destinations_cipo.rddata(c_word_w - 1 downto 0),
+
+      reg_dp_xonoff_clk_export       => OPEN,
+      reg_dp_xonoff_reset_export     => OPEN,
+      reg_dp_xonoff_address_export   => reg_dp_xonoff_copi.address(c_sdp_reg_dp_xonoff_addr_w - 1 downto 0),
+      reg_dp_xonoff_write_export     => reg_dp_xonoff_copi.wr,
+      reg_dp_xonoff_writedata_export => reg_dp_xonoff_copi.wrdata(c_word_w - 1 downto 0),
+      reg_dp_xonoff_read_export      => reg_dp_xonoff_copi.rd,
+      reg_dp_xonoff_readdata_export  => reg_dp_xonoff_cipo.rddata(c_word_w - 1 downto 0),
+
+      ram_st_bst_clk_export       => OPEN,
+      ram_st_bst_reset_export     => OPEN,
+      ram_st_bst_address_export   => ram_st_bst_copi.address(c_sdp_ram_st_bst_addr_w - 1 downto 0),
+      ram_st_bst_write_export     => ram_st_bst_copi.wr,
+      ram_st_bst_writedata_export => ram_st_bst_copi.wrdata(c_word_w - 1 downto 0),
+      ram_st_bst_read_export      => ram_st_bst_copi.rd,
+      ram_st_bst_readdata_export  => ram_st_bst_cipo.rddata(c_word_w - 1 downto 0),
+
+      reg_stat_enable_sst_clk_export       => OPEN,
+      reg_stat_enable_sst_reset_export     => OPEN,
+      reg_stat_enable_sst_address_export   => reg_stat_enable_sst_copi.address(
+          c_sdp_reg_stat_enable_addr_w - 1 downto 0),
+      reg_stat_enable_sst_write_export     => reg_stat_enable_sst_copi.wr,
+      reg_stat_enable_sst_writedata_export => reg_stat_enable_sst_copi.wrdata(c_word_w - 1 downto 0),
+      reg_stat_enable_sst_read_export      => reg_stat_enable_sst_copi.rd,
+      reg_stat_enable_sst_readdata_export  => reg_stat_enable_sst_cipo.rddata(c_word_w - 1 downto 0),
+
+      reg_stat_hdr_dat_sst_clk_export       => OPEN,
+      reg_stat_hdr_dat_sst_reset_export     => OPEN,
+      reg_stat_hdr_dat_sst_address_export   => reg_stat_hdr_dat_sst_copi.address(
+          c_sdp_reg_stat_hdr_dat_addr_w - 1 downto 0),
+      reg_stat_hdr_dat_sst_write_export     => reg_stat_hdr_dat_sst_copi.wr,
+      reg_stat_hdr_dat_sst_writedata_export => reg_stat_hdr_dat_sst_copi.wrdata(c_word_w - 1 downto 0),
+      reg_stat_hdr_dat_sst_read_export      => reg_stat_hdr_dat_sst_copi.rd,
+      reg_stat_hdr_dat_sst_readdata_export  => reg_stat_hdr_dat_sst_cipo.rddata(c_word_w - 1 downto 0),
+
+      reg_stat_enable_xst_clk_export       => OPEN,
+      reg_stat_enable_xst_reset_export     => OPEN,
+      reg_stat_enable_xst_address_export   => reg_stat_enable_xst_copi.address(
+          c_sdp_reg_stat_enable_addr_w - 1 downto 0),
+      reg_stat_enable_xst_write_export     => reg_stat_enable_xst_copi.wr,
+      reg_stat_enable_xst_writedata_export => reg_stat_enable_xst_copi.wrdata(c_word_w - 1 downto 0),
+      reg_stat_enable_xst_read_export      => reg_stat_enable_xst_copi.rd,
+      reg_stat_enable_xst_readdata_export  => reg_stat_enable_xst_cipo.rddata(c_word_w - 1 downto 0),
+
+      reg_stat_hdr_dat_xst_clk_export       => OPEN,
+      reg_stat_hdr_dat_xst_reset_export     => OPEN,
+      reg_stat_hdr_dat_xst_address_export   => reg_stat_hdr_dat_xst_copi.address(
+          c_sdp_reg_stat_hdr_dat_addr_w - 1 downto 0),
+      reg_stat_hdr_dat_xst_write_export     => reg_stat_hdr_dat_xst_copi.wr,
+      reg_stat_hdr_dat_xst_writedata_export => reg_stat_hdr_dat_xst_copi.wrdata(c_word_w - 1 downto 0),
+      reg_stat_hdr_dat_xst_read_export      => reg_stat_hdr_dat_xst_copi.rd,
+      reg_stat_hdr_dat_xst_readdata_export  => reg_stat_hdr_dat_xst_cipo.rddata(c_word_w - 1 downto 0),
+
+      reg_stat_enable_bst_clk_export       => OPEN,
+      reg_stat_enable_bst_reset_export     => OPEN,
+      reg_stat_enable_bst_address_export   => reg_stat_enable_bst_copi.address(
+          c_sdp_reg_stat_enable_bst_addr_w - 1 downto 0),
+      reg_stat_enable_bst_write_export     => reg_stat_enable_bst_copi.wr,
+      reg_stat_enable_bst_writedata_export => reg_stat_enable_bst_copi.wrdata(c_word_w - 1 downto 0),
+      reg_stat_enable_bst_read_export      => reg_stat_enable_bst_copi.rd,
+      reg_stat_enable_bst_readdata_export  => reg_stat_enable_bst_cipo.rddata(c_word_w - 1 downto 0),
+
+      reg_stat_hdr_dat_bst_clk_export       => OPEN,
+      reg_stat_hdr_dat_bst_reset_export     => OPEN,
+      reg_stat_hdr_dat_bst_address_export   => reg_stat_hdr_dat_bst_copi.address(
+          c_sdp_reg_stat_hdr_dat_bst_addr_w - 1 downto 0),
+      reg_stat_hdr_dat_bst_write_export     => reg_stat_hdr_dat_bst_copi.wr,
+      reg_stat_hdr_dat_bst_writedata_export => reg_stat_hdr_dat_bst_copi.wrdata(c_word_w - 1 downto 0),
+      reg_stat_hdr_dat_bst_read_export      => reg_stat_hdr_dat_bst_copi.rd,
+      reg_stat_hdr_dat_bst_readdata_export  => reg_stat_hdr_dat_bst_cipo.rddata(c_word_w - 1 downto 0),
+
+      reg_crosslets_info_clk_export       => OPEN,
+      reg_crosslets_info_reset_export     => OPEN,
+      reg_crosslets_info_address_export   => reg_crosslets_info_copi.address(
+          c_sdp_reg_crosslets_info_addr_w - 1 downto 0),
+      reg_crosslets_info_write_export     => reg_crosslets_info_copi.wr,
+      reg_crosslets_info_writedata_export => reg_crosslets_info_copi.wrdata(c_word_w - 1 downto 0),
+      reg_crosslets_info_read_export      => reg_crosslets_info_copi.rd,
+      reg_crosslets_info_readdata_export  => reg_crosslets_info_cipo.rddata(c_word_w - 1 downto 0),
+
+      reg_nof_crosslets_clk_export       => OPEN,
+      reg_nof_crosslets_reset_export     => OPEN,
+      reg_nof_crosslets_address_export   => reg_nof_crosslets_copi.address(
+          c_sdp_reg_nof_crosslets_addr_w - 1 downto 0),
+      reg_nof_crosslets_write_export     => reg_nof_crosslets_copi.wr,
+      reg_nof_crosslets_writedata_export => reg_nof_crosslets_copi.wrdata(c_word_w - 1 downto 0),
+      reg_nof_crosslets_read_export      => reg_nof_crosslets_copi.rd,
+      reg_nof_crosslets_readdata_export  => reg_nof_crosslets_cipo.rddata(c_word_w - 1 downto 0),
+
+      reg_bsn_sync_scheduler_xsub_clk_export       => OPEN,
+      reg_bsn_sync_scheduler_xsub_reset_export     => OPEN,
+      reg_bsn_sync_scheduler_xsub_address_export   => reg_bsn_sync_scheduler_xsub_copi.address(
+          c_sdp_reg_bsn_sync_scheduler_xsub_addr_w - 1 downto 0),
+      reg_bsn_sync_scheduler_xsub_write_export     => reg_bsn_sync_scheduler_xsub_copi.wr,
+      reg_bsn_sync_scheduler_xsub_writedata_export => reg_bsn_sync_scheduler_xsub_copi.wrdata(c_word_w - 1 downto 0),
+      reg_bsn_sync_scheduler_xsub_read_export      => reg_bsn_sync_scheduler_xsub_copi.rd,
+      reg_bsn_sync_scheduler_xsub_readdata_export  => reg_bsn_sync_scheduler_xsub_cipo.rddata(c_word_w - 1 downto 0),
+
+      ram_st_xsq_clk_export       => OPEN,
+      ram_st_xsq_reset_export     => OPEN,
+      ram_st_xsq_address_export   => ram_st_xsq_copi.address(c_sdp_ram_st_xsq_arr_addr_w - 1 downto 0),
+      ram_st_xsq_write_export     => ram_st_xsq_copi.wr,
+      ram_st_xsq_writedata_export => ram_st_xsq_copi.wrdata(c_word_w - 1 downto 0),
+      ram_st_xsq_read_export      => ram_st_xsq_copi.rd,
+      ram_st_xsq_readdata_export  => ram_st_xsq_cipo.rddata(c_word_w - 1 downto 0),
+
+      reg_nw_10GbE_mac_clk_export       => OPEN,
+      reg_nw_10GbE_mac_reset_export     => OPEN,
+      reg_nw_10GbE_mac_address_export   => reg_nw_10GbE_mac_copi.address(c_sdp_reg_nw_10GbE_mac_addr_w - 1 downto 0),
+      reg_nw_10GbE_mac_write_export     => reg_nw_10GbE_mac_copi.wr,
+      reg_nw_10GbE_mac_writedata_export => reg_nw_10GbE_mac_copi.wrdata(c_word_w - 1 downto 0),
+      reg_nw_10GbE_mac_read_export      => reg_nw_10GbE_mac_copi.rd,
+      reg_nw_10GbE_mac_readdata_export  => reg_nw_10GbE_mac_cipo.rddata(c_word_w - 1 downto 0),
+
+      reg_nw_10GbE_eth10g_clk_export       => OPEN,
+      reg_nw_10GbE_eth10g_reset_export     => OPEN,
+      reg_nw_10GbE_eth10g_address_export   => reg_nw_10GbE_eth10g_copi.address(
+          c_sdp_reg_nw_10GbE_eth10g_addr_w - 1 downto 0),
+      reg_nw_10GbE_eth10g_write_export     => reg_nw_10GbE_eth10g_copi.wr,
+      reg_nw_10GbE_eth10g_writedata_export => reg_nw_10GbE_eth10g_copi.wrdata(c_word_w - 1 downto 0),
+      reg_nw_10GbE_eth10g_read_export      => reg_nw_10GbE_eth10g_copi.rd,
+      reg_nw_10GbE_eth10g_readdata_export  => reg_nw_10GbE_eth10g_cipo.rddata(c_word_w - 1 downto 0),
+
+      reg_bsn_align_v2_bf_clk_export       => OPEN,
+      reg_bsn_align_v2_bf_reset_export     => OPEN,
+      reg_bsn_align_v2_bf_address_export   => reg_bsn_align_v2_bf_copi.address(
+          c_sdp_reg_bsn_align_v2_bf_addr_w - 1 downto 0),
+      reg_bsn_align_v2_bf_write_export     => reg_bsn_align_v2_bf_copi.wr,
+      reg_bsn_align_v2_bf_writedata_export => reg_bsn_align_v2_bf_copi.wrdata(c_word_w - 1 downto 0),
+      reg_bsn_align_v2_bf_read_export      => reg_bsn_align_v2_bf_copi.rd,
+      reg_bsn_align_v2_bf_readdata_export  => reg_bsn_align_v2_bf_cipo.rddata(c_word_w - 1 downto 0),
 
       reg_bsn_monitor_v2_rx_align_bf_clk_export       => OPEN,
       reg_bsn_monitor_v2_rx_align_bf_reset_export     => OPEN,
-      reg_bsn_monitor_v2_rx_align_bf_address_export   => reg_bsn_monitor_v2_rx_align_bf_copi.address(c_sdp_reg_bsn_monitor_v2_rx_align_bf_addr_w - 1 downto 0),
+      reg_bsn_monitor_v2_rx_align_bf_address_export   => reg_bsn_monitor_v2_rx_align_bf_copi.address(
+          c_sdp_reg_bsn_monitor_v2_rx_align_bf_addr_w - 1 downto 0),
       reg_bsn_monitor_v2_rx_align_bf_write_export     => reg_bsn_monitor_v2_rx_align_bf_copi.wr,
-      reg_bsn_monitor_v2_rx_align_bf_writedata_export => reg_bsn_monitor_v2_rx_align_bf_copi.wrdata(c_word_w - 1 downto 0),
+      reg_bsn_monitor_v2_rx_align_bf_writedata_export => reg_bsn_monitor_v2_rx_align_bf_copi.wrdata(
+          c_word_w - 1 downto 0),
       reg_bsn_monitor_v2_rx_align_bf_read_export      => reg_bsn_monitor_v2_rx_align_bf_copi.rd,
-      reg_bsn_monitor_v2_rx_align_bf_readdata_export  => reg_bsn_monitor_v2_rx_align_bf_cipo.rddata(c_word_w - 1 downto 0),
+      reg_bsn_monitor_v2_rx_align_bf_readdata_export  => reg_bsn_monitor_v2_rx_align_bf_cipo.rddata(
+          c_word_w - 1 downto 0),
 
       reg_bsn_monitor_v2_aligned_bf_clk_export       => OPEN,
       reg_bsn_monitor_v2_aligned_bf_reset_export     => OPEN,
-      reg_bsn_monitor_v2_aligned_bf_address_export   => reg_bsn_monitor_v2_aligned_bf_copi.address(c_sdp_reg_bsn_monitor_v2_aligned_bf_addr_w - 1 downto 0),
+      reg_bsn_monitor_v2_aligned_bf_address_export   => reg_bsn_monitor_v2_aligned_bf_copi.address(
+          c_sdp_reg_bsn_monitor_v2_aligned_bf_addr_w - 1 downto 0),
       reg_bsn_monitor_v2_aligned_bf_write_export     => reg_bsn_monitor_v2_aligned_bf_copi.wr,
-      reg_bsn_monitor_v2_aligned_bf_writedata_export => reg_bsn_monitor_v2_aligned_bf_copi.wrdata(c_word_w - 1 downto 0),
+      reg_bsn_monitor_v2_aligned_bf_writedata_export => reg_bsn_monitor_v2_aligned_bf_copi.wrdata(
+          c_word_w - 1 downto 0),
       reg_bsn_monitor_v2_aligned_bf_read_export      => reg_bsn_monitor_v2_aligned_bf_copi.rd,
-      reg_bsn_monitor_v2_aligned_bf_readdata_export  => reg_bsn_monitor_v2_aligned_bf_cipo.rddata(c_word_w - 1 downto 0),
-
-      reg_bsn_align_v2_xsub_clk_export          => OPEN,
-      reg_bsn_align_v2_xsub_reset_export        => OPEN,
-      reg_bsn_align_v2_xsub_address_export      => reg_bsn_align_v2_xsub_copi.address(c_sdp_reg_bsn_align_v2_xsub_addr_w - 1 downto 0),
-      reg_bsn_align_v2_xsub_write_export        => reg_bsn_align_v2_xsub_copi.wr,
-      reg_bsn_align_v2_xsub_writedata_export    => reg_bsn_align_v2_xsub_copi.wrdata(c_word_w - 1 downto 0),
-      reg_bsn_align_v2_xsub_read_export         => reg_bsn_align_v2_xsub_copi.rd,
-      reg_bsn_align_v2_xsub_readdata_export     => reg_bsn_align_v2_xsub_cipo.rddata(c_word_w - 1 downto 0),
+      reg_bsn_monitor_v2_aligned_bf_readdata_export  => reg_bsn_monitor_v2_aligned_bf_cipo.rddata(
+          c_word_w - 1 downto 0),
+
+      reg_bsn_align_v2_xsub_clk_export       => OPEN,
+      reg_bsn_align_v2_xsub_reset_export     => OPEN,
+      reg_bsn_align_v2_xsub_address_export   => reg_bsn_align_v2_xsub_copi.address(
+          c_sdp_reg_bsn_align_v2_xsub_addr_w - 1 downto 0),
+      reg_bsn_align_v2_xsub_write_export     => reg_bsn_align_v2_xsub_copi.wr,
+      reg_bsn_align_v2_xsub_writedata_export => reg_bsn_align_v2_xsub_copi.wrdata(c_word_w - 1 downto 0),
+      reg_bsn_align_v2_xsub_read_export      => reg_bsn_align_v2_xsub_copi.rd,
+      reg_bsn_align_v2_xsub_readdata_export  => reg_bsn_align_v2_xsub_cipo.rddata(c_word_w - 1 downto 0),
 
       reg_bsn_monitor_v2_rx_align_xsub_clk_export       => OPEN,
       reg_bsn_monitor_v2_rx_align_xsub_reset_export     => OPEN,
-      reg_bsn_monitor_v2_rx_align_xsub_address_export   => reg_bsn_monitor_v2_rx_align_xsub_copi.address(c_sdp_reg_bsn_monitor_v2_rx_align_xsub_addr_w - 1 downto 0),
+      reg_bsn_monitor_v2_rx_align_xsub_address_export   => reg_bsn_monitor_v2_rx_align_xsub_copi.address(
+          c_sdp_reg_bsn_monitor_v2_rx_align_xsub_addr_w - 1 downto 0),
       reg_bsn_monitor_v2_rx_align_xsub_write_export     => reg_bsn_monitor_v2_rx_align_xsub_copi.wr,
-      reg_bsn_monitor_v2_rx_align_xsub_writedata_export => reg_bsn_monitor_v2_rx_align_xsub_copi.wrdata(c_word_w - 1 downto 0),
+      reg_bsn_monitor_v2_rx_align_xsub_writedata_export => reg_bsn_monitor_v2_rx_align_xsub_copi.wrdata(
+          c_word_w - 1 downto 0),
       reg_bsn_monitor_v2_rx_align_xsub_read_export      => reg_bsn_monitor_v2_rx_align_xsub_copi.rd,
-      reg_bsn_monitor_v2_rx_align_xsub_readdata_export  => reg_bsn_monitor_v2_rx_align_xsub_cipo.rddata(c_word_w - 1 downto 0),
+      reg_bsn_monitor_v2_rx_align_xsub_readdata_export  => reg_bsn_monitor_v2_rx_align_xsub_cipo.rddata(
+          c_word_w - 1 downto 0),
 
       reg_bsn_monitor_v2_aligned_xsub_clk_export       => OPEN,
       reg_bsn_monitor_v2_aligned_xsub_reset_export     => OPEN,
-      reg_bsn_monitor_v2_aligned_xsub_address_export   => reg_bsn_monitor_v2_aligned_xsub_copi.address(c_sdp_reg_bsn_monitor_v2_aligned_xsub_addr_w - 1 downto 0),
+      reg_bsn_monitor_v2_aligned_xsub_address_export   => reg_bsn_monitor_v2_aligned_xsub_copi.address(
+          c_sdp_reg_bsn_monitor_v2_aligned_xsub_addr_w - 1 downto 0),
       reg_bsn_monitor_v2_aligned_xsub_write_export     => reg_bsn_monitor_v2_aligned_xsub_copi.wr,
-      reg_bsn_monitor_v2_aligned_xsub_writedata_export => reg_bsn_monitor_v2_aligned_xsub_copi.wrdata(c_word_w - 1 downto 0),
+      reg_bsn_monitor_v2_aligned_xsub_writedata_export => reg_bsn_monitor_v2_aligned_xsub_copi.wrdata(
+          c_word_w - 1 downto 0),
       reg_bsn_monitor_v2_aligned_xsub_read_export      => reg_bsn_monitor_v2_aligned_xsub_copi.rd,
-      reg_bsn_monitor_v2_aligned_xsub_readdata_export  => reg_bsn_monitor_v2_aligned_xsub_cipo.rddata(c_word_w - 1 downto 0),
-
-      reg_bsn_monitor_v2_sst_offload_clk_export            => OPEN,
-      reg_bsn_monitor_v2_sst_offload_reset_export          => OPEN,
-      reg_bsn_monitor_v2_sst_offload_address_export        => reg_bsn_monitor_v2_sst_offload_copi.address(c_sdp_reg_bsn_monitor_v2_sst_offload_addr_w - 1 downto 0),
-      reg_bsn_monitor_v2_sst_offload_write_export          => reg_bsn_monitor_v2_sst_offload_copi.wr,
-      reg_bsn_monitor_v2_sst_offload_writedata_export      => reg_bsn_monitor_v2_sst_offload_copi.wrdata(c_word_w - 1 downto 0),
-      reg_bsn_monitor_v2_sst_offload_read_export           => reg_bsn_monitor_v2_sst_offload_copi.rd,
-      reg_bsn_monitor_v2_sst_offload_readdata_export       => reg_bsn_monitor_v2_sst_offload_cipo.rddata(c_word_w - 1 downto 0),
-
-      reg_bsn_monitor_v2_bst_offload_clk_export            => OPEN,
-      reg_bsn_monitor_v2_bst_offload_reset_export          => OPEN,
-      reg_bsn_monitor_v2_bst_offload_address_export        => reg_bsn_monitor_v2_bst_offload_copi.address(c_sdp_reg_bsn_monitor_v2_bst_offload_addr_w - 1 downto 0),
-      reg_bsn_monitor_v2_bst_offload_write_export          => reg_bsn_monitor_v2_bst_offload_copi.wr,
-      reg_bsn_monitor_v2_bst_offload_writedata_export      => reg_bsn_monitor_v2_bst_offload_copi.wrdata(c_word_w - 1 downto 0),
-      reg_bsn_monitor_v2_bst_offload_read_export           => reg_bsn_monitor_v2_bst_offload_copi.rd,
-      reg_bsn_monitor_v2_bst_offload_readdata_export       => reg_bsn_monitor_v2_bst_offload_cipo.rddata(c_word_w - 1 downto 0),
-
-      reg_bsn_monitor_v2_beamlet_output_clk_export         => OPEN,
-      reg_bsn_monitor_v2_beamlet_output_reset_export       => OPEN,
-      reg_bsn_monitor_v2_beamlet_output_address_export     => reg_bsn_monitor_v2_beamlet_output_copi.address(c_sdp_reg_bsn_monitor_v2_beamlet_output_addr_w - 1 downto 0),
-      reg_bsn_monitor_v2_beamlet_output_write_export       => reg_bsn_monitor_v2_beamlet_output_copi.wr,
-      reg_bsn_monitor_v2_beamlet_output_writedata_export   => reg_bsn_monitor_v2_beamlet_output_copi.wrdata(c_word_w - 1 downto 0),
-      reg_bsn_monitor_v2_beamlet_output_read_export        => reg_bsn_monitor_v2_beamlet_output_copi.rd,
-      reg_bsn_monitor_v2_beamlet_output_readdata_export    => reg_bsn_monitor_v2_beamlet_output_cipo.rddata(c_word_w - 1 downto 0),
-
-      reg_bsn_monitor_v2_xst_offload_clk_export            => OPEN,
-      reg_bsn_monitor_v2_xst_offload_reset_export          => OPEN,
-      reg_bsn_monitor_v2_xst_offload_address_export        => reg_bsn_monitor_v2_xst_offload_copi.address(c_sdp_reg_bsn_monitor_v2_xst_offload_addr_w - 1 downto 0),
-      reg_bsn_monitor_v2_xst_offload_write_export          => reg_bsn_monitor_v2_xst_offload_copi.wr,
-      reg_bsn_monitor_v2_xst_offload_writedata_export      => reg_bsn_monitor_v2_xst_offload_copi.wrdata(c_word_w - 1 downto 0),
-      reg_bsn_monitor_v2_xst_offload_read_export           => reg_bsn_monitor_v2_xst_offload_copi.rd,
-      reg_bsn_monitor_v2_xst_offload_readdata_export       => reg_bsn_monitor_v2_xst_offload_cipo.rddata(c_word_w - 1 downto 0),
-
-      reg_ring_lane_info_bf_clk_export               => OPEN,
-      reg_ring_lane_info_bf_reset_export             => OPEN,
-      reg_ring_lane_info_bf_address_export           => reg_ring_lane_info_bf_copi.address(c_sdp_reg_ring_lane_info_bf_addr_w - 1 downto 0),
-      reg_ring_lane_info_bf_write_export             => reg_ring_lane_info_bf_copi.wr,
-      reg_ring_lane_info_bf_writedata_export         => reg_ring_lane_info_bf_copi.wrdata(c_word_w - 1 downto 0),
-      reg_ring_lane_info_bf_read_export              => reg_ring_lane_info_bf_copi.rd,
-      reg_ring_lane_info_bf_readdata_export          => reg_ring_lane_info_bf_cipo.rddata(c_word_w - 1 downto 0),
+      reg_bsn_monitor_v2_aligned_xsub_readdata_export  => reg_bsn_monitor_v2_aligned_xsub_cipo.rddata(
+          c_word_w - 1 downto 0),
+
+      reg_bsn_monitor_v2_sst_offload_clk_export       => OPEN,
+      reg_bsn_monitor_v2_sst_offload_reset_export     => OPEN,
+      reg_bsn_monitor_v2_sst_offload_address_export   => reg_bsn_monitor_v2_sst_offload_copi.address(
+          c_sdp_reg_bsn_monitor_v2_sst_offload_addr_w - 1 downto 0),
+      reg_bsn_monitor_v2_sst_offload_write_export     => reg_bsn_monitor_v2_sst_offload_copi.wr,
+      reg_bsn_monitor_v2_sst_offload_writedata_export => reg_bsn_monitor_v2_sst_offload_copi.wrdata(
+          c_word_w - 1 downto 0),
+      reg_bsn_monitor_v2_sst_offload_read_export      => reg_bsn_monitor_v2_sst_offload_copi.rd,
+      reg_bsn_monitor_v2_sst_offload_readdata_export  => reg_bsn_monitor_v2_sst_offload_cipo.rddata(
+          c_word_w - 1 downto 0),
+
+      reg_bsn_monitor_v2_bst_offload_clk_export       => OPEN,
+      reg_bsn_monitor_v2_bst_offload_reset_export     => OPEN,
+      reg_bsn_monitor_v2_bst_offload_address_export   => reg_bsn_monitor_v2_bst_offload_copi.address(
+          c_sdp_reg_bsn_monitor_v2_bst_offload_addr_w - 1 downto 0),
+      reg_bsn_monitor_v2_bst_offload_write_export     => reg_bsn_monitor_v2_bst_offload_copi.wr,
+      reg_bsn_monitor_v2_bst_offload_writedata_export => reg_bsn_monitor_v2_bst_offload_copi.wrdata(
+          c_word_w - 1 downto 0),
+      reg_bsn_monitor_v2_bst_offload_read_export      => reg_bsn_monitor_v2_bst_offload_copi.rd,
+      reg_bsn_monitor_v2_bst_offload_readdata_export  => reg_bsn_monitor_v2_bst_offload_cipo.rddata(
+          c_word_w - 1 downto 0),
+
+      reg_bsn_monitor_v2_beamlet_output_clk_export       => OPEN,
+      reg_bsn_monitor_v2_beamlet_output_reset_export     => OPEN,
+      reg_bsn_monitor_v2_beamlet_output_address_export   => reg_bsn_monitor_v2_beamlet_output_copi.address(
+          c_sdp_reg_bsn_monitor_v2_beamlet_output_addr_w - 1 downto 0),
+      reg_bsn_monitor_v2_beamlet_output_write_export     => reg_bsn_monitor_v2_beamlet_output_copi.wr,
+      reg_bsn_monitor_v2_beamlet_output_writedata_export => reg_bsn_monitor_v2_beamlet_output_copi.wrdata(
+          c_word_w - 1 downto 0),
+      reg_bsn_monitor_v2_beamlet_output_read_export      => reg_bsn_monitor_v2_beamlet_output_copi.rd,
+      reg_bsn_monitor_v2_beamlet_output_readdata_export  => reg_bsn_monitor_v2_beamlet_output_cipo.rddata(
+          c_word_w - 1 downto 0),
+
+      reg_bsn_monitor_v2_xst_offload_clk_export       => OPEN,
+      reg_bsn_monitor_v2_xst_offload_reset_export     => OPEN,
+      reg_bsn_monitor_v2_xst_offload_address_export   => reg_bsn_monitor_v2_xst_offload_copi.address(
+          c_sdp_reg_bsn_monitor_v2_xst_offload_addr_w - 1 downto 0),
+      reg_bsn_monitor_v2_xst_offload_write_export     => reg_bsn_monitor_v2_xst_offload_copi.wr,
+      reg_bsn_monitor_v2_xst_offload_writedata_export => reg_bsn_monitor_v2_xst_offload_copi.wrdata(
+          c_word_w - 1 downto 0),
+      reg_bsn_monitor_v2_xst_offload_read_export      => reg_bsn_monitor_v2_xst_offload_copi.rd,
+      reg_bsn_monitor_v2_xst_offload_readdata_export  => reg_bsn_monitor_v2_xst_offload_cipo.rddata(
+          c_word_w - 1 downto 0),
+
+      reg_ring_lane_info_bf_clk_export       => OPEN,
+      reg_ring_lane_info_bf_reset_export     => OPEN,
+      reg_ring_lane_info_bf_address_export   => reg_ring_lane_info_bf_copi.address(
+          c_sdp_reg_ring_lane_info_bf_addr_w - 1 downto 0),
+      reg_ring_lane_info_bf_write_export     => reg_ring_lane_info_bf_copi.wr,
+      reg_ring_lane_info_bf_writedata_export => reg_ring_lane_info_bf_copi.wrdata(c_word_w - 1 downto 0),
+      reg_ring_lane_info_bf_read_export      => reg_ring_lane_info_bf_copi.rd,
+      reg_ring_lane_info_bf_readdata_export  => reg_ring_lane_info_bf_cipo.rddata(c_word_w - 1 downto 0),
 
       reg_bsn_monitor_v2_ring_rx_bf_clk_export       => OPEN,
       reg_bsn_monitor_v2_ring_rx_bf_reset_export     => OPEN,
-      reg_bsn_monitor_v2_ring_rx_bf_address_export   => reg_bsn_monitor_v2_ring_rx_bf_copi.address(c_sdp_reg_bsn_monitor_v2_ring_rx_bf_addr_w - 1 downto 0),
+      reg_bsn_monitor_v2_ring_rx_bf_address_export   => reg_bsn_monitor_v2_ring_rx_bf_copi.address(
+          c_sdp_reg_bsn_monitor_v2_ring_rx_bf_addr_w - 1 downto 0),
       reg_bsn_monitor_v2_ring_rx_bf_write_export     => reg_bsn_monitor_v2_ring_rx_bf_copi.wr,
-      reg_bsn_monitor_v2_ring_rx_bf_writedata_export => reg_bsn_monitor_v2_ring_rx_bf_copi.wrdata(c_word_w - 1 downto 0),
+      reg_bsn_monitor_v2_ring_rx_bf_writedata_export => reg_bsn_monitor_v2_ring_rx_bf_copi.wrdata(
+          c_word_w - 1 downto 0),
       reg_bsn_monitor_v2_ring_rx_bf_read_export      => reg_bsn_monitor_v2_ring_rx_bf_copi.rd,
-      reg_bsn_monitor_v2_ring_rx_bf_readdata_export  => reg_bsn_monitor_v2_ring_rx_bf_cipo.rddata(c_word_w - 1 downto 0),
+      reg_bsn_monitor_v2_ring_rx_bf_readdata_export  => reg_bsn_monitor_v2_ring_rx_bf_cipo.rddata(
+          c_word_w - 1 downto 0),
 
       reg_bsn_monitor_v2_ring_tx_bf_clk_export       => OPEN,
       reg_bsn_monitor_v2_ring_tx_bf_reset_export     => OPEN,
-      reg_bsn_monitor_v2_ring_tx_bf_address_export   => reg_bsn_monitor_v2_ring_tx_bf_copi.address(c_sdp_reg_bsn_monitor_v2_ring_tx_bf_addr_w - 1 downto 0),
+      reg_bsn_monitor_v2_ring_tx_bf_address_export   => reg_bsn_monitor_v2_ring_tx_bf_copi.address(
+          c_sdp_reg_bsn_monitor_v2_ring_tx_bf_addr_w - 1 downto 0),
       reg_bsn_monitor_v2_ring_tx_bf_write_export     => reg_bsn_monitor_v2_ring_tx_bf_copi.wr,
-      reg_bsn_monitor_v2_ring_tx_bf_writedata_export => reg_bsn_monitor_v2_ring_tx_bf_copi.wrdata(c_word_w - 1 downto 0),
+      reg_bsn_monitor_v2_ring_tx_bf_writedata_export => reg_bsn_monitor_v2_ring_tx_bf_copi.wrdata(
+          c_word_w - 1 downto 0),
       reg_bsn_monitor_v2_ring_tx_bf_read_export      => reg_bsn_monitor_v2_ring_tx_bf_copi.rd,
-      reg_bsn_monitor_v2_ring_tx_bf_readdata_export  => reg_bsn_monitor_v2_ring_tx_bf_cipo.rddata(c_word_w - 1 downto 0),
+      reg_bsn_monitor_v2_ring_tx_bf_readdata_export  => reg_bsn_monitor_v2_ring_tx_bf_cipo.rddata(
+          c_word_w - 1 downto 0),
 
       reg_dp_block_validate_err_bf_clk_export       => OPEN,
       reg_dp_block_validate_err_bf_reset_export     => OPEN,
-      reg_dp_block_validate_err_bf_address_export   => reg_dp_block_validate_err_bf_copi.address(c_sdp_reg_dp_block_validate_err_bf_addr_w - 1 downto 0),
+      reg_dp_block_validate_err_bf_address_export   => reg_dp_block_validate_err_bf_copi.address(
+          c_sdp_reg_dp_block_validate_err_bf_addr_w - 1 downto 0),
       reg_dp_block_validate_err_bf_write_export     => reg_dp_block_validate_err_bf_copi.wr,
       reg_dp_block_validate_err_bf_writedata_export => reg_dp_block_validate_err_bf_copi.wrdata(c_word_w - 1 downto 0),
       reg_dp_block_validate_err_bf_read_export      => reg_dp_block_validate_err_bf_copi.rd,
@@ -1141,75 +1277,92 @@ begin
 
       reg_dp_block_validate_bsn_at_sync_bf_clk_export       => OPEN,
       reg_dp_block_validate_bsn_at_sync_bf_reset_export     => OPEN,
-      reg_dp_block_validate_bsn_at_sync_bf_address_export   => reg_dp_block_validate_bsn_at_sync_bf_copi.address(c_sdp_reg_dp_block_validate_bsn_at_sync_bf_addr_w - 1 downto 0),
+      reg_dp_block_validate_bsn_at_sync_bf_address_export   => reg_dp_block_validate_bsn_at_sync_bf_copi.address(
+          c_sdp_reg_dp_block_validate_bsn_at_sync_bf_addr_w - 1 downto 0),
       reg_dp_block_validate_bsn_at_sync_bf_write_export     => reg_dp_block_validate_bsn_at_sync_bf_copi.wr,
-      reg_dp_block_validate_bsn_at_sync_bf_writedata_export => reg_dp_block_validate_bsn_at_sync_bf_copi.wrdata(c_word_w - 1 downto 0),
+      reg_dp_block_validate_bsn_at_sync_bf_writedata_export => reg_dp_block_validate_bsn_at_sync_bf_copi.wrdata(
+          c_word_w - 1 downto 0),
       reg_dp_block_validate_bsn_at_sync_bf_read_export      => reg_dp_block_validate_bsn_at_sync_bf_copi.rd,
-      reg_dp_block_validate_bsn_at_sync_bf_readdata_export  => reg_dp_block_validate_bsn_at_sync_bf_cipo.rddata(c_word_w - 1 downto 0),
-
-      reg_ring_lane_info_xst_clk_export         => OPEN,
-      reg_ring_lane_info_xst_reset_export       => OPEN,
-      reg_ring_lane_info_xst_address_export     => reg_ring_lane_info_xst_copi.address(c_sdp_reg_ring_lane_info_xst_addr_w - 1 downto 0),
-      reg_ring_lane_info_xst_write_export       => reg_ring_lane_info_xst_copi.wr,
-      reg_ring_lane_info_xst_writedata_export   => reg_ring_lane_info_xst_copi.wrdata(c_word_w - 1 downto 0),
-      reg_ring_lane_info_xst_read_export        => reg_ring_lane_info_xst_copi.rd,
-      reg_ring_lane_info_xst_readdata_export    => reg_ring_lane_info_xst_cipo.rddata(c_word_w - 1 downto 0),
+      reg_dp_block_validate_bsn_at_sync_bf_readdata_export  => reg_dp_block_validate_bsn_at_sync_bf_cipo.rddata(
+          c_word_w - 1 downto 0),
+
+      reg_ring_lane_info_xst_clk_export       => OPEN,
+      reg_ring_lane_info_xst_reset_export     => OPEN,
+      reg_ring_lane_info_xst_address_export   => reg_ring_lane_info_xst_copi.address(
+          c_sdp_reg_ring_lane_info_xst_addr_w - 1 downto 0),
+      reg_ring_lane_info_xst_write_export     => reg_ring_lane_info_xst_copi.wr,
+      reg_ring_lane_info_xst_writedata_export => reg_ring_lane_info_xst_copi.wrdata(c_word_w - 1 downto 0),
+      reg_ring_lane_info_xst_read_export      => reg_ring_lane_info_xst_copi.rd,
+      reg_ring_lane_info_xst_readdata_export  => reg_ring_lane_info_xst_cipo.rddata(c_word_w - 1 downto 0),
 
       reg_bsn_monitor_v2_ring_rx_xst_clk_export       => OPEN,
       reg_bsn_monitor_v2_ring_rx_xst_reset_export     => OPEN,
-      reg_bsn_monitor_v2_ring_rx_xst_address_export   => reg_bsn_monitor_v2_ring_rx_xst_copi.address(c_sdp_reg_bsn_monitor_v2_ring_rx_xst_addr_w - 1 downto 0),
+      reg_bsn_monitor_v2_ring_rx_xst_address_export   => reg_bsn_monitor_v2_ring_rx_xst_copi.address(
+          c_sdp_reg_bsn_monitor_v2_ring_rx_xst_addr_w - 1 downto 0),
       reg_bsn_monitor_v2_ring_rx_xst_write_export     => reg_bsn_monitor_v2_ring_rx_xst_copi.wr,
-      reg_bsn_monitor_v2_ring_rx_xst_writedata_export => reg_bsn_monitor_v2_ring_rx_xst_copi.wrdata(c_word_w - 1 downto 0),
+      reg_bsn_monitor_v2_ring_rx_xst_writedata_export => reg_bsn_monitor_v2_ring_rx_xst_copi.wrdata(
+          c_word_w - 1 downto 0),
       reg_bsn_monitor_v2_ring_rx_xst_read_export      => reg_bsn_monitor_v2_ring_rx_xst_copi.rd,
-      reg_bsn_monitor_v2_ring_rx_xst_readdata_export  => reg_bsn_monitor_v2_ring_rx_xst_cipo.rddata(c_word_w - 1 downto 0),
+      reg_bsn_monitor_v2_ring_rx_xst_readdata_export  => reg_bsn_monitor_v2_ring_rx_xst_cipo.rddata(
+          c_word_w - 1 downto 0),
 
       reg_bsn_monitor_v2_ring_tx_xst_clk_export       => OPEN,
       reg_bsn_monitor_v2_ring_tx_xst_reset_export     => OPEN,
-      reg_bsn_monitor_v2_ring_tx_xst_address_export   => reg_bsn_monitor_v2_ring_tx_xst_copi.address(c_sdp_reg_bsn_monitor_v2_ring_tx_xst_addr_w - 1 downto 0),
+      reg_bsn_monitor_v2_ring_tx_xst_address_export   => reg_bsn_monitor_v2_ring_tx_xst_copi.address(
+          c_sdp_reg_bsn_monitor_v2_ring_tx_xst_addr_w - 1 downto 0),
       reg_bsn_monitor_v2_ring_tx_xst_write_export     => reg_bsn_monitor_v2_ring_tx_xst_copi.wr,
-      reg_bsn_monitor_v2_ring_tx_xst_writedata_export => reg_bsn_monitor_v2_ring_tx_xst_copi.wrdata(c_word_w - 1 downto 0),
+      reg_bsn_monitor_v2_ring_tx_xst_writedata_export => reg_bsn_monitor_v2_ring_tx_xst_copi.wrdata(
+          c_word_w - 1 downto 0),
       reg_bsn_monitor_v2_ring_tx_xst_read_export      => reg_bsn_monitor_v2_ring_tx_xst_copi.rd,
-      reg_bsn_monitor_v2_ring_tx_xst_readdata_export  => reg_bsn_monitor_v2_ring_tx_xst_cipo.rddata(c_word_w - 1 downto 0),
+      reg_bsn_monitor_v2_ring_tx_xst_readdata_export  => reg_bsn_monitor_v2_ring_tx_xst_cipo.rddata(
+          c_word_w - 1 downto 0),
 
       reg_dp_block_validate_err_xst_clk_export       => OPEN,
       reg_dp_block_validate_err_xst_reset_export     => OPEN,
-      reg_dp_block_validate_err_xst_address_export   => reg_dp_block_validate_err_xst_copi.address(c_sdp_reg_dp_block_validate_err_xst_addr_w - 1 downto 0),
+      reg_dp_block_validate_err_xst_address_export   => reg_dp_block_validate_err_xst_copi.address(
+          c_sdp_reg_dp_block_validate_err_xst_addr_w - 1 downto 0),
       reg_dp_block_validate_err_xst_write_export     => reg_dp_block_validate_err_xst_copi.wr,
-      reg_dp_block_validate_err_xst_writedata_export => reg_dp_block_validate_err_xst_copi.wrdata(c_word_w - 1 downto 0),
+      reg_dp_block_validate_err_xst_writedata_export => reg_dp_block_validate_err_xst_copi.wrdata(
+          c_word_w - 1 downto 0),
       reg_dp_block_validate_err_xst_read_export      => reg_dp_block_validate_err_xst_copi.rd,
-      reg_dp_block_validate_err_xst_readdata_export  => reg_dp_block_validate_err_xst_cipo.rddata(c_word_w - 1 downto 0),
+      reg_dp_block_validate_err_xst_readdata_export  => reg_dp_block_validate_err_xst_cipo.rddata(
+          c_word_w - 1 downto 0),
 
       reg_dp_block_validate_bsn_at_sync_xst_clk_export       => OPEN,
       reg_dp_block_validate_bsn_at_sync_xst_reset_export     => OPEN,
-      reg_dp_block_validate_bsn_at_sync_xst_address_export   => reg_dp_block_validate_bsn_at_sync_xst_copi.address(c_sdp_reg_dp_block_validate_bsn_at_sync_xst_addr_w - 1 downto 0),
+      reg_dp_block_validate_bsn_at_sync_xst_address_export   => reg_dp_block_validate_bsn_at_sync_xst_copi.address(
+          c_sdp_reg_dp_block_validate_bsn_at_sync_xst_addr_w - 1 downto 0),
       reg_dp_block_validate_bsn_at_sync_xst_write_export     => reg_dp_block_validate_bsn_at_sync_xst_copi.wr,
-      reg_dp_block_validate_bsn_at_sync_xst_writedata_export => reg_dp_block_validate_bsn_at_sync_xst_copi.wrdata(c_word_w - 1 downto 0),
+      reg_dp_block_validate_bsn_at_sync_xst_writedata_export => reg_dp_block_validate_bsn_at_sync_xst_copi.wrdata(
+          c_word_w - 1 downto 0),
       reg_dp_block_validate_bsn_at_sync_xst_read_export      => reg_dp_block_validate_bsn_at_sync_xst_copi.rd,
-      reg_dp_block_validate_bsn_at_sync_xst_readdata_export  => reg_dp_block_validate_bsn_at_sync_xst_cipo.rddata(c_word_w - 1 downto 0),
-
-      reg_tr_10GbE_mac_clk_export               => OPEN,
-      reg_tr_10GbE_mac_reset_export             => OPEN,
-      reg_tr_10GbE_mac_address_export           => reg_tr_10GbE_mac_copi.address(c_sdp_reg_tr_10GbE_mac_addr_w - 1 downto 0),
-      reg_tr_10GbE_mac_write_export             => reg_tr_10GbE_mac_copi.wr,
-      reg_tr_10GbE_mac_writedata_export         => reg_tr_10GbE_mac_copi.wrdata(c_word_w - 1 downto 0),
-      reg_tr_10GbE_mac_read_export              => reg_tr_10GbE_mac_copi.rd,
-      reg_tr_10GbE_mac_readdata_export          => reg_tr_10GbE_mac_cipo.rddata(c_word_w - 1 downto 0),
-
-      reg_tr_10GbE_eth10g_clk_export            => OPEN,
-      reg_tr_10GbE_eth10g_reset_export          => OPEN,
-      reg_tr_10GbE_eth10g_address_export        => reg_tr_10GbE_eth10g_copi.address(c_sdp_reg_tr_10GbE_eth10g_addr_w - 1 downto 0),
-      reg_tr_10GbE_eth10g_write_export          => reg_tr_10GbE_eth10g_copi.wr,
-      reg_tr_10GbE_eth10g_writedata_export      => reg_tr_10GbE_eth10g_copi.wrdata(c_word_w - 1 downto 0),
-      reg_tr_10GbE_eth10g_read_export           => reg_tr_10GbE_eth10g_copi.rd,
-      reg_tr_10GbE_eth10g_readdata_export       => reg_tr_10GbE_eth10g_cipo.rddata(c_word_w - 1 downto 0),
-
-      ram_scrap_clk_export                      => OPEN,
-      ram_scrap_reset_export                    => OPEN,
-      ram_scrap_address_export                  => ram_scrap_copi.address(9 - 1 downto 0),
-      ram_scrap_write_export                    => ram_scrap_copi.wr,
-      ram_scrap_writedata_export                => ram_scrap_copi.wrdata(c_word_w - 1 downto 0),
-      ram_scrap_read_export                     => ram_scrap_copi.rd,
-      ram_scrap_readdata_export                 => ram_scrap_cipo.rddata(c_word_w - 1 downto 0)
-    );
+      reg_dp_block_validate_bsn_at_sync_xst_readdata_export  => reg_dp_block_validate_bsn_at_sync_xst_cipo.rddata(
+          c_word_w - 1 downto 0),
+
+      reg_tr_10GbE_mac_clk_export       => OPEN,
+      reg_tr_10GbE_mac_reset_export     => OPEN,
+      reg_tr_10GbE_mac_address_export   => reg_tr_10GbE_mac_copi.address(c_sdp_reg_tr_10GbE_mac_addr_w - 1 downto 0),
+      reg_tr_10GbE_mac_write_export     => reg_tr_10GbE_mac_copi.wr,
+      reg_tr_10GbE_mac_writedata_export => reg_tr_10GbE_mac_copi.wrdata(c_word_w - 1 downto 0),
+      reg_tr_10GbE_mac_read_export      => reg_tr_10GbE_mac_copi.rd,
+      reg_tr_10GbE_mac_readdata_export  => reg_tr_10GbE_mac_cipo.rddata(c_word_w - 1 downto 0),
+
+      reg_tr_10GbE_eth10g_clk_export       => OPEN,
+      reg_tr_10GbE_eth10g_reset_export     => OPEN,
+      reg_tr_10GbE_eth10g_address_export   => reg_tr_10GbE_eth10g_copi.address(
+          c_sdp_reg_tr_10GbE_eth10g_addr_w - 1 downto 0),
+      reg_tr_10GbE_eth10g_write_export     => reg_tr_10GbE_eth10g_copi.wr,
+      reg_tr_10GbE_eth10g_writedata_export => reg_tr_10GbE_eth10g_copi.wrdata(c_word_w - 1 downto 0),
+      reg_tr_10GbE_eth10g_read_export      => reg_tr_10GbE_eth10g_copi.rd,
+      reg_tr_10GbE_eth10g_readdata_export  => reg_tr_10GbE_eth10g_cipo.rddata(c_word_w - 1 downto 0),
+
+      ram_scrap_clk_export       => OPEN,
+      ram_scrap_reset_export     => OPEN,
+      ram_scrap_address_export   => ram_scrap_copi.address(9 - 1 downto 0),
+      ram_scrap_write_export     => ram_scrap_copi.wr,
+      ram_scrap_writedata_export => ram_scrap_copi.wrdata(c_word_w - 1 downto 0),
+      ram_scrap_read_export      => ram_scrap_copi.rd,
+      ram_scrap_readdata_export  => ram_scrap_cipo.rddata(c_word_w - 1 downto 0)
+   );
   end generate;
 end str;
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 769c5df7b63a5bcadb45a6c8e4584dd5d7701e19..74814f40e2093cc4363c9967e94f408473e129aa 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
@@ -31,20 +31,20 @@
 --   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;
-use IEEE.numeric_std.all;
-use IEEE.math_real.all;
-use common_lib.common_pkg.all;
-use unb2b_board_lib.unb2b_board_pkg.all;
-use common_lib.tb_common_pkg.all;
-use common_lib.common_str_pkg.all;
-use mm_lib.mm_file_pkg.all;
-use dp_lib.dp_stream_pkg.all;
-use mm_lib.mm_file_unb_pkg.all;
-use diag_lib.diag_pkg.all;
-use wpfb_lib.wpfb_pkg.all;
-use lofar2_sdp_lib.sdp_pkg.all;
-use eth_lib.eth_pkg.all;
+  use IEEE.std_logic_1164.all;
+  use IEEE.numeric_std.all;
+  use IEEE.math_real.all;
+  use common_lib.common_pkg.all;
+  use common_lib.tb_common_pkg.all;
+  use common_lib.common_str_pkg.all;
+  use dp_lib.dp_stream_pkg.all;
+  use mm_lib.mm_file_pkg.all;
+  use mm_lib.mm_file_unb_pkg.all;
+  use diag_lib.diag_pkg.all;
+  use unb2b_board_lib.unb2b_board_pkg.all;
+  use wpfb_lib.wpfb_pkg.all;
+  use eth_lib.eth_pkg.all;
+  use lofar2_sdp_lib.sdp_pkg.all;
 
 entity tb_lofar2_unb2b_sdp_station is
 end tb_lofar2_unb2b_sdp_station;
@@ -65,12 +65,15 @@ architecture tb of tb_lofar2_unb2b_sdp_station is
   constant c_nof_block_per_sync           : natural := 16;
   constant c_nof_clk_per_sync             : natural := c_nof_block_per_sync * c_sdp_N_fft;
   constant c_pps_period                   : natural := c_nof_clk_per_sync;
-  constant c_wpfb_sim                     : t_wpfb := func_wpfb_set_nof_block_per_sync(c_sdp_wpfb_subbands, c_nof_block_per_sync);
+  constant c_wpfb_sim                     : t_wpfb := func_wpfb_set_nof_block_per_sync(c_sdp_wpfb_subbands,
+                                                                                       c_nof_block_per_sync);
 
   -- WG
-  constant c_bsn_start_wg                 : natural := 2;  -- start WG at this BSN to instead of some BSN, to avoid mismatches in exact expected data values
+  constant c_bsn_start_wg                 : natural := 2;  -- start WG at this BSN to instead of some BSN, to avoid
+                                                           -- mismatches in exact expected data values
   constant c_ampl_sp_0                    : natural := c_sdp_FS_adc / 2;  -- = 0.5 * FS, so in number of lsb
-  constant c_subband_sp_0                 : real := 102.0;  -- Select subband at index 102 = 102/1024 * 200MHz = 19.921875 MHz
+  constant c_subband_sp_0                 : real := 102.0;  -- Select subband at index 102 = 102/1024 * 200MHz =
+                                                            -- 19.921875 MHz
 
 -- . 1GbE output
   constant c_eth_check_nof_packets        : natural := 1;
@@ -212,10 +215,10 @@ begin
     --   1 : phase[15:0]
     --   2 : freq[30:0]
     --   3 : ampl[16:0]
-    mmf_mm_bus_wr(c_mm_file_reg_diag_wg, 0,                                     1024 * 2**16 + 1, tb_clk);  -- nof_samples, mode calc
-    mmf_mm_bus_wr(c_mm_file_reg_diag_wg, 1,                integer(  0.0 * c_diag_wg_phase_unit), tb_clk);  -- phase offset in degrees
+    mmf_mm_bus_wr(c_mm_file_reg_diag_wg, 0, 1024 * 2**16 + 1, tb_clk);  -- nof_samples, mode calc
+    mmf_mm_bus_wr(c_mm_file_reg_diag_wg, 1, integer(0.0 * c_diag_wg_phase_unit), tb_clk);  -- phase offset in degrees
     mmf_mm_bus_wr(c_mm_file_reg_diag_wg, 2, integer(c_subband_sp_0 * c_sdp_wg_subband_freq_unit), tb_clk);  -- freq
-    mmf_mm_bus_wr(c_mm_file_reg_diag_wg, 3,       integer(real(c_ampl_sp_0) * c_sdp_wg_ampl_lsb), tb_clk);  -- ampl
+    mmf_mm_bus_wr(c_mm_file_reg_diag_wg, 3, integer(real(c_ampl_sp_0) * c_sdp_wg_ampl_lsb), tb_clk);  -- ampl
 
     -- Read current BSN
     mmf_mm_bus_rd(c_mm_file_reg_bsn_scheduler_wg, 0, current_bsn_wg(31 downto  0), tb_clk);
diff --git a/applications/lofar2/designs/lofar2_unb2c_sdp_station/revisions/lofar2_unb2c_sdp_station_adc/tb_lofar2_unb2c_sdp_station_adc_jesd.vhd b/applications/lofar2/designs/lofar2_unb2c_sdp_station/revisions/lofar2_unb2c_sdp_station_adc/tb_lofar2_unb2c_sdp_station_adc_jesd.vhd
index 8ae5191ce5b07c3bc0fb212d7470cc534cee51cf..5367e3a3da24e81e816adcf27a102176afce8f92 100644
--- a/applications/lofar2/designs/lofar2_unb2c_sdp_station/revisions/lofar2_unb2c_sdp_station_adc/tb_lofar2_unb2c_sdp_station_adc_jesd.vhd
+++ b/applications/lofar2/designs/lofar2_unb2c_sdp_station/revisions/lofar2_unb2c_sdp_station_adc/tb_lofar2_unb2c_sdp_station_adc_jesd.vhd
@@ -355,7 +355,7 @@ begin
   bonding_clock_2 <= not bonding_clock_2 after 500 ps;
   bonding_clock_0 <= not bonding_clock_0 after 2500 ps;
 
-  bonding_clock_1_process : process
+  p_bonding_clock_1 : process
   begin
     bonding_clock_1 <= '0';
     wait for 4000 ps;
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 f637461c321b7f1416fadff1251f8bba7facf813..6d2c9e714e72893661967e7472bfb68760a11967 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
@@ -26,13 +26,13 @@
 --   Contains complete AIT input stage with 12 ADC streams, FSUB, XSUB, BF and RING
 
 library IEEE, common_lib, unb2c_board_lib, diag_lib, dp_lib, tech_jesd204b_lib, lofar2_unb2c_sdp_station_lib;
-use IEEE.std_logic_1164.all;
-use IEEE.numeric_std.all;
-use common_lib.common_pkg.all;
-use common_lib.common_mem_pkg.all;
-use unb2c_board_lib.unb2c_board_pkg.all;
-use diag_lib.diag_pkg.all;
-use dp_lib.dp_stream_pkg.all;
+  use IEEE.std_logic_1164.all;
+  use IEEE.numeric_std.all;
+  use common_lib.common_pkg.all;
+  use common_lib.common_mem_pkg.all;
+  use unb2c_board_lib.unb2c_board_pkg.all;
+  use diag_lib.diag_pkg.all;
+  use dp_lib.dp_stream_pkg.all;
 
 entity lofar2_unb2c_sdp_station_full is
   generic (
@@ -77,30 +77,35 @@ entity lofar2_unb2c_sdp_station_full is
     QSFP_LED     : out   std_logic_vector(c_unb2c_board_tr_qsfp_nof_leds - 1 downto 0);
 
     -- ring transceivers
-    RING_0_RX    : in    std_logic_vector(c_unb2c_board_tr_qsfp.bus_w - 1 downto 0) := (others => '0');  -- Using qsfp bus width also for ring interfaces
+    -- . Using qsfp bus width also for ring interfaces
+    RING_0_RX    : in    std_logic_vector(c_unb2c_board_tr_qsfp.bus_w - 1 downto 0) := (others => '0');
     RING_0_TX    : out   std_logic_vector(c_unb2c_board_tr_qsfp.bus_w - 1 downto 0);
     RING_1_RX    : in    std_logic_vector(c_unb2c_board_tr_qsfp.bus_w - 1 downto 0) := (others => '0');
     RING_1_TX    : out   std_logic_vector(c_unb2c_board_tr_qsfp.bus_w - 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);  -- c_unb2c_board_nof_tr_jesd204b = c_sdp_S_pn = 12
+     -- . c_unb2c_board_nof_tr_jesd204b = c_sdp_S_pn = 12
+    BCK_RX       : in    std_logic_vector(c_unb2c_board_nof_tr_jesd204b - 1 downto 0);
     BCK_REF_CLK  : in    std_logic;  -- Use as JESD204B_REFCLK
 
     -- jesd204b syncronization signals (4 syncs)
+    -- . c_unb2c_board_nof_sync_jesd204b = c_sdp_N_sync_jesd = 4
     JESD204B_SYSREF : in    std_logic;
-    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
+    JESD204B_SYNC_N : out   std_logic_vector(c_unb2c_board_nof_sync_jesd204b - 1 downto 0)
   );
 end lofar2_unb2c_sdp_station_full;
 
 architecture str of lofar2_unb2c_sdp_station_full is
-  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_sync_n_arr        : std_logic_vector(c_unb2c_board_nof_sync_jesd204b - 1 downto 0);
-  signal JESD204B_REFCLK            : std_logic;
+  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_sync_n_arr  : std_logic_vector(c_unb2c_board_nof_sync_jesd204b - 1 downto 0);
+  signal JESD204B_REFCLK      : std_logic;
 begin
   -- Mapping between JESD signal names and UNB2B pin/schematic names
   JESD204B_REFCLK      <= BCK_REF_CLK;
   JESD204B_SERIAL_DATA <= BCK_RX;
-  JESD204B_SYNC_N(c_unb2c_board_nof_sync_jesd204b - 1 downto 0) <= jesd204b_sync_n_arr(c_unb2c_board_nof_sync_jesd204b - 1 downto 0);
+  JESD204B_SYNC_N(c_unb2c_board_nof_sync_jesd204b - 1 downto 0) <=
+                                                      jesd204b_sync_n_arr(c_unb2c_board_nof_sync_jesd204b - 1 downto 0);
 
   u_revision : entity lofar2_unb2c_sdp_station_lib.lofar2_unb2c_sdp_station
   generic map (
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 18a8782ce0d6a3d9e0ebd512aefa68d9bdf7e76a..5e171f4be0268d9107d8d20aa61f3c043d789fcc 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
@@ -26,21 +26,23 @@
 --   Unb2c version for lab testing, using generic sdp_station.vhd for LOFAR2 SDP application.
 -------------------------------------------------------------------------------
 
-library IEEE, common_lib, unb2c_board_lib, diag_lib, dp_lib, tech_jesd204b_lib, wpfb_lib, lofar2_sdp_lib, tech_pll_lib, nw_10gbe_lib, eth_lib;
-use IEEE.std_logic_1164.all;
-use IEEE.numeric_std.all;
-use common_lib.common_pkg.all;
-use common_lib.common_mem_pkg.all;
-use common_lib.common_network_layers_pkg.all;
-use common_lib.common_field_pkg.all;
-use unb2c_board_lib.unb2c_board_pkg.all;
-use unb2c_board_lib.unb2c_board_peripherals_pkg.all;
-use diag_lib.diag_pkg.all;
-use dp_lib.dp_stream_pkg.all;
-use wpfb_lib.wpfb_pkg.all;
-use lofar2_sdp_lib.sdp_pkg.all;
-use work.lofar2_unb2c_sdp_station_pkg.all;
-use eth_lib.eth_pkg.all;
+library IEEE, common_lib, diag_lib, dp_lib;
+library unb2c_board_lib, tech_pll_lib, tech_jesd204b_lib;
+library wpfb_lib, nw_10gbe_lib, eth_lib, lofar2_sdp_lib;
+  use IEEE.std_logic_1164.all;
+  use IEEE.numeric_std.all;
+  use common_lib.common_pkg.all;
+  use common_lib.common_mem_pkg.all;
+  use common_lib.common_network_layers_pkg.all;
+  use common_lib.common_field_pkg.all;
+  use unb2c_board_lib.unb2c_board_pkg.all;
+  use unb2c_board_lib.unb2c_board_peripherals_pkg.all;
+  use diag_lib.diag_pkg.all;
+  use dp_lib.dp_stream_pkg.all;
+  use wpfb_lib.wpfb_pkg.all;
+  use eth_lib.eth_pkg.all;
+  use lofar2_sdp_lib.sdp_pkg.all;
+  use work.lofar2_unb2c_sdp_station_pkg.all;
 
 entity lofar2_unb2c_sdp_station is
   generic (
@@ -88,7 +90,8 @@ entity lofar2_unb2c_sdp_station is
     QSFP_1_TX     : out   std_logic_vector(c_unb2c_board_tr_qsfp.bus_w - 1 downto 0);
 
     -- ring transceivers
-    RING_0_RX    : in    std_logic_vector(c_unb2c_board_tr_qsfp.bus_w - 1 downto 0) := (others => '0');  -- Using qsfp bus width also for ring interfaces
+    -- . Using qsfp bus width also for ring interfaces
+    RING_0_RX    : in    std_logic_vector(c_unb2c_board_tr_qsfp.bus_w - 1 downto 0) := (others => '0');
     RING_0_TX    : out   std_logic_vector(c_unb2c_board_tr_qsfp.bus_w - 1 downto 0);
     RING_1_RX    : in    std_logic_vector(c_unb2c_board_tr_qsfp.bus_w - 1 downto 0) := (others => '0');
     RING_1_TX    : out   std_logic_vector(c_unb2c_board_tr_qsfp.bus_w - 1 downto 0);
@@ -97,13 +100,15 @@ 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) := (others => '0');  -- c_unb2c_board_nof_tr_jesd204b = c_sdp_S_pn = 12
+    JESD204B_SERIAL_DATA       : in    std_logic_vector(c_sdp_S_pn - 1 downto 0) := (others => '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 := '0';  -- Connect to BCK_REF_CLK pin in the top level wrapper
 
     -- jesd204b syncronization signals
     JESD204B_SYSREF            : in    std_logic := '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
+    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;
 
@@ -451,8 +456,10 @@ architecture str of lofar2_unb2c_sdp_station is
   signal reg_nw_10GbE_eth10g_cipo   : t_mem_cipo := c_mem_cipo_rst;
 
   -- 10GbE
-  signal i_QSFP_TX                         : t_unb2c_board_qsfp_bus_2arr(c_unb2c_board_tr_qsfp.nof_bus - 1 downto 0) := (others => (others => '0'));
-  signal i_QSFP_RX                         : t_unb2c_board_qsfp_bus_2arr(c_unb2c_board_tr_qsfp.nof_bus - 1 downto 0) := (others => (others => '0'));
+  signal i_QSFP_TX : t_unb2c_board_qsfp_bus_2arr(c_unb2c_board_tr_qsfp.nof_bus - 1 downto 0) :=
+                                                                                            (others => (others => '0'));
+  signal i_QSFP_RX : t_unb2c_board_qsfp_bus_2arr(c_unb2c_board_tr_qsfp.nof_bus - 1 downto 0) :=
+                                                                                            (others => (others => '0'));
 
   signal unb2_board_front_io_serial_tx_arr : std_logic_vector(c_nof_streams_qsfp - 1 downto 0) := (others => '0');
   signal unb2_board_front_io_serial_rx_arr : std_logic_vector(c_nof_streams_qsfp - 1 downto 0) := (others => '0');
diff --git a/applications/lofar2/designs/lofar2_unb2c_sdp_station/src/vhdl/mmm_lofar2_unb2c_sdp_station.vhd b/applications/lofar2/designs/lofar2_unb2c_sdp_station/src/vhdl/mmm_lofar2_unb2c_sdp_station.vhd
index e7071c6a168d77c91dc93177246f5a8974e43bb2..b777d7428bfff14c1f5620f0febdabe8b0751f1b 100644
--- a/applications/lofar2/designs/lofar2_unb2c_sdp_station/src/vhdl/mmm_lofar2_unb2c_sdp_station.vhd
+++ b/applications/lofar2/designs/lofar2_unb2c_sdp_station/src/vhdl/mmm_lofar2_unb2c_sdp_station.vhd
@@ -19,23 +19,23 @@
 -------------------------------------------------------------------------------
 
 library IEEE, common_lib, unb2c_board_lib, mm_lib, lofar2_sdp_lib;
-use IEEE.std_logic_1164.all;
-use IEEE.numeric_std.all;
-use common_lib.common_pkg.all;
-use common_lib.common_mem_pkg.all;
-use unb2c_board_lib.unb2c_board_pkg.all;
-use unb2c_board_lib.unb2c_board_peripherals_pkg.all;
-use mm_lib.mm_file_pkg.all;
-use mm_lib.mm_file_unb_pkg.all;
-use work.qsys_lofar2_unb2c_sdp_station_pkg.all;
-use lofar2_sdp_lib.sdp_pkg.all;
+  use IEEE.std_logic_1164.all;
+  use IEEE.numeric_std.all;
+  use common_lib.common_pkg.all;
+  use common_lib.common_mem_pkg.all;
+  use unb2c_board_lib.unb2c_board_pkg.all;
+  use unb2c_board_lib.unb2c_board_peripherals_pkg.all;
+  use mm_lib.mm_file_pkg.all;
+  use mm_lib.mm_file_unb_pkg.all;
+  use work.qsys_lofar2_unb2c_sdp_station_pkg.all;
+  use lofar2_sdp_lib.sdp_pkg.all;
 
 entity mmm_lofar2_unb2c_sdp_station is
   generic (
     g_sim         : boolean := false;  -- FALSE: use QSYS; TRUE: use mm_file I/O
     g_sim_unb_nr  : natural := 0;
     g_sim_node_nr : natural := 0
-  );
+ );
   port (
     mm_rst                   : in  std_logic;
     mm_clk                   : in  std_logic;
@@ -328,224 +328,303 @@ entity mmm_lofar2_unb2c_sdp_station is
    -- Jesd reset control
    jesd_ctrl_copi                 : out t_mem_copi;
    jesd_ctrl_cipo                 : in  t_mem_cipo
-  );
+ );
 end mmm_lofar2_unb2c_sdp_station;
 
 architecture str of mmm_lofar2_unb2c_sdp_station is
   constant c_sim_node_nr   : natural := g_sim_node_nr;
   constant c_sim_node_type : string(1 to 2) := "FN";
 
+  -- Use shorter alias name for c_unb2b_board_peripherals_mm_reg_default to easier fit line length, and without b, c
+  -- to make mmm file for unb2b and unb2c more equal.
+  constant c_unb2_mm_reg_default : t_c_unb2c_board_peripherals_mm_reg := c_unb2c_board_peripherals_mm_reg_default;
+
   signal i_reset_n         : std_logic;
 begin
   ----------------------------------------------------------------------------
   -- MM <-> file I/O for simulation. The files are created in $UPE/sim.
   ----------------------------------------------------------------------------
   gen_mm_file_io : if g_sim = true generate
-    u_mm_file_reg_unb_system_info     : mm_file generic map(mmf_unb_file_prefix(g_sim_unb_nr, c_sim_node_nr, c_sim_node_type) & "PIO_SYSTEM_INFO")
-                                                port map(mm_rst, mm_clk, reg_unb_system_info_copi, reg_unb_system_info_cipo );
-
-    u_mm_file_rom_unb_system_info     : mm_file generic map(mmf_unb_file_prefix(g_sim_unb_nr, c_sim_node_nr, c_sim_node_type) & "ROM_SYSTEM_INFO")
-                                                port map(mm_rst, mm_clk, rom_unb_system_info_copi, rom_unb_system_info_cipo );
-
-    u_mm_file_reg_wdi                 : mm_file generic map(mmf_unb_file_prefix(g_sim_unb_nr, c_sim_node_nr, c_sim_node_type) & "REG_WDI")
-                                                port map(mm_rst, mm_clk, reg_wdi_copi, reg_wdi_cipo );
-
-    u_mm_file_reg_fpga_temp_sens      : mm_file generic map(mmf_unb_file_prefix(g_sim_unb_nr, c_sim_node_nr, c_sim_node_type) & "REG_FPGA_TEMP_SENS")
-                                                port map(mm_rst, mm_clk, reg_fpga_temp_sens_copi, reg_fpga_temp_sens_cipo );
-
-    u_mm_file_reg_fpga_voltage_sens   :  mm_file generic map(mmf_unb_file_prefix(g_sim_unb_nr, c_sim_node_nr, c_sim_node_type) & "REG_FPGA_VOLTAGE_SENS")
-                                                port map(mm_rst, mm_clk, reg_fpga_voltage_sens_copi, reg_fpga_voltage_sens_cipo );
-
-    u_mm_file_reg_ppsh                : mm_file generic map(mmf_unb_file_prefix(g_sim_unb_nr, c_sim_node_nr, c_sim_node_type) & "PIO_PPS")
-                                                port map(mm_rst, mm_clk, reg_ppsh_copi, reg_ppsh_cipo );
-
-    -- Note: the eth1g RAM and TSE buses are only required by unb_osy on the NIOS as they provide the ethernet<->MM gateway.
-    u_mm_file_reg_eth                 : mm_file generic map(mmf_unb_file_prefix(g_sim_unb_nr, c_sim_node_nr, c_sim_node_type) & "AVS_ETH_0_MMS_REG")
-                                                port map(mm_rst, mm_clk, eth1g_reg_copi, eth1g_reg_cipo );
-
-    -- Must use exact g_mm_rd_latency = 1 instead of default 2, because JESD204B IP forces rddata = 0 after it has been read
-    u_mm_file_jesd204b                : mm_file generic map(mmf_unb_file_prefix(g_sim_unb_nr, c_sim_node_nr, c_sim_node_type) & "JESD204B", '1', 1)
-                                                 port map(mm_rst, mm_clk, jesd204b_copi, jesd204b_cipo );
-
-    u_mm_file_pio_jesd_ctrl           : mm_file generic map(mmf_unb_file_prefix(g_sim_unb_nr, c_sim_node_nr, c_sim_node_type) & "PIO_JESD_CTRL")
-                                                 port map(mm_rst, mm_clk, jesd_ctrl_copi, jesd_ctrl_cipo );
-
-    u_mm_file_reg_dp_shiftram         : mm_file generic map(mmf_unb_file_prefix(g_sim_unb_nr, c_sim_node_nr, c_sim_node_type) & "REG_DP_SHIFTRAM")
-                                                 port map(mm_rst, mm_clk, reg_dp_shiftram_copi, reg_dp_shiftram_cipo );
-
-    u_mm_file_reg_bsn_source_v2       : mm_file generic map(mmf_unb_file_prefix(g_sim_unb_nr, c_sim_node_nr, c_sim_node_type) & "REG_BSN_SOURCE_V2")
-                                                 port map(mm_rst, mm_clk, reg_bsn_source_v2_copi, reg_bsn_source_v2_cipo );
-
-    u_mm_file_reg_bsn_scheduler       : mm_file generic map(mmf_unb_file_prefix(g_sim_unb_nr, c_sim_node_nr, c_sim_node_type) & "REG_BSN_SCHEDULER")
-                                                 port map(mm_rst, mm_clk, reg_bsn_scheduler_copi, reg_bsn_scheduler_cipo );
-
-    u_mm_file_reg_bsn_monitor_input   : mm_file generic map(mmf_unb_file_prefix(g_sim_unb_nr, c_sim_node_nr, c_sim_node_type) & "REG_BSN_MONITOR_INPUT")
-                                                 port map(mm_rst, mm_clk, reg_bsn_monitor_input_copi, reg_bsn_monitor_input_cipo );
-
-    u_mm_file_reg_wg                  : mm_file generic map(mmf_unb_file_prefix(g_sim_unb_nr, c_sim_node_nr, c_sim_node_type) & "REG_WG")
-                                                 port map(mm_rst, mm_clk, reg_wg_copi, reg_wg_cipo );
-    u_mm_file_ram_wg                  : mm_file generic map(mmf_unb_file_prefix(g_sim_unb_nr, c_sim_node_nr, c_sim_node_type) & "RAM_WG")
-                                                port map(mm_rst, mm_clk, ram_wg_copi, ram_wg_cipo );
-
-    u_mm_file_ram_diag_data_buf_bsn   : mm_file generic map(mmf_unb_file_prefix(g_sim_unb_nr, c_sim_node_nr, c_sim_node_type) & "RAM_DIAG_DATA_BUFFER_BSN")
-                                                port map(mm_rst, mm_clk, ram_diag_data_buf_bsn_copi, ram_diag_data_buf_bsn_cipo );
-    u_mm_file_reg_diag_data_buf_bsn   : mm_file generic map(mmf_unb_file_prefix(g_sim_unb_nr, c_sim_node_nr, c_sim_node_type) & "REG_DIAG_DATA_BUFFER_BSN")
-                                                port map(mm_rst, mm_clk, reg_diag_data_buf_bsn_copi, reg_diag_data_buf_bsn_cipo );
-
-    u_mm_file_ram_st_histogram        : mm_file generic map(mmf_unb_file_prefix(g_sim_unb_nr, c_sim_node_nr, c_sim_node_type) & "RAM_ST_HISTOGRAM")
-                                                port map(mm_rst, mm_clk, ram_st_histogram_copi, ram_st_histogram_cipo );
-
-    u_mm_file_reg_aduh_monitor        : mm_file generic map(mmf_unb_file_prefix(g_sim_unb_nr, c_sim_node_nr, c_sim_node_type) & "REG_ADUH_MONITOR")
-                                                port map(mm_rst, mm_clk, reg_aduh_monitor_copi, reg_aduh_monitor_cipo );
-
-    u_mm_file_ram_st_sst              : mm_file generic map(mmf_unb_file_prefix(g_sim_unb_nr, c_sim_node_nr, c_sim_node_type) & "RAM_ST_SST")
-                                                port map(mm_rst, mm_clk, ram_st_sst_copi, ram_st_sst_cipo );
-
-    u_mm_file_ram_fil_coefs           : mm_file generic map(mmf_unb_file_prefix(g_sim_unb_nr, c_sim_node_nr, c_sim_node_type) & "RAM_FIL_COEFS")
-                                                port map(mm_rst, mm_clk, ram_fil_coefs_copi, ram_fil_coefs_cipo );
-
-    u_mm_file_reg_si                  : mm_file generic map(mmf_unb_file_prefix(g_sim_unb_nr, c_sim_node_nr, c_sim_node_type) & "REG_SI")
-                                               port map(mm_rst, mm_clk, reg_si_copi, reg_si_cipo );
-
-    u_mm_file_ram_equalizer_gains     : mm_file generic map(mmf_unb_file_prefix(g_sim_unb_nr, c_sim_node_nr, c_sim_node_type) & "RAM_EQUALIZER_GAINS")
-                                                port map(mm_rst, mm_clk, ram_equalizer_gains_copi, ram_equalizer_gains_cipo );
-    u_mm_file_ram_equalizer_gains_cross : mm_file generic map(mmf_unb_file_prefix(g_sim_unb_nr, c_sim_node_nr, c_sim_node_type) & "RAM_EQUALIZER_GAINS_CROSS")
-                                                  port map(mm_rst, mm_clk, ram_equalizer_gains_cross_copi, ram_equalizer_gains_cross_cipo );
-
-    u_mm_file_reg_dp_selector         : mm_file generic map(mmf_unb_file_prefix(g_sim_unb_nr, c_sim_node_nr, c_sim_node_type) & "REG_DP_SELECTOR")
-                                               port map(mm_rst, mm_clk, reg_dp_selector_copi, reg_dp_selector_cipo );
-
-    u_mm_file_reg_sdp_info            : mm_file generic map(mmf_unb_file_prefix(g_sim_unb_nr, c_sim_node_nr, c_sim_node_type) & "REG_SDP_INFO")
-                                               port map(mm_rst, mm_clk, reg_sdp_info_copi, reg_sdp_info_cipo );
-
-    u_mm_file_reg_ring_info           : mm_file generic map(mmf_unb_file_prefix(g_sim_unb_nr, c_sim_node_nr, c_sim_node_type) & "REG_RING_INFO")
-                                               port map(mm_rst, mm_clk, reg_ring_info_copi, reg_ring_info_cipo );
-
-    u_mm_file_ram_ss_ss_wide          : mm_file generic map(mmf_unb_file_prefix(g_sim_unb_nr, c_sim_node_nr, c_sim_node_type) & "RAM_SS_SS_WIDE")
-                                               port map(mm_rst, mm_clk, ram_ss_ss_wide_copi, ram_ss_ss_wide_cipo );
-
-    u_mm_file_ram_bf_weights          : mm_file generic map(mmf_unb_file_prefix(g_sim_unb_nr, c_sim_node_nr, c_sim_node_type) & "RAM_BF_WEIGHTS")
-                                               port map(mm_rst, mm_clk, ram_bf_weights_copi, ram_bf_weights_cipo );
-
-    u_mm_file_reg_bf_scale            : mm_file generic map(mmf_unb_file_prefix(g_sim_unb_nr, c_sim_node_nr, c_sim_node_type) & "REG_BF_SCALE")
-                                               port map(mm_rst, mm_clk, reg_bf_scale_copi, reg_bf_scale_cipo );
-
-    u_mm_file_reg_hdr_dat             : mm_file generic map(mmf_unb_file_prefix(g_sim_unb_nr, c_sim_node_nr, c_sim_node_type) & "REG_HDR_DAT")
-                                               port map(mm_rst, mm_clk, reg_hdr_dat_copi, reg_hdr_dat_cipo );
-
-    u_mm_file_reg_bdo_destinations    : mm_file generic map(mmf_unb_file_prefix(g_sim_unb_nr, c_sim_node_nr, c_sim_node_type) & "REG_BDO_DESTINATIONS")
-                                               port map(mm_rst, mm_clk, reg_bdo_destinations_copi, reg_bdo_destinations_cipo );
-
-    u_mm_file_reg_dp_xonoff           : mm_file generic map(mmf_unb_file_prefix(g_sim_unb_nr, c_sim_node_nr, c_sim_node_type) & "REG_DP_XONOFF")
-                                               port map(mm_rst, mm_clk, reg_dp_xonoff_copi, reg_dp_xonoff_cipo );
-
-    u_mm_file_ram_st_bst              : mm_file generic map(mmf_unb_file_prefix(g_sim_unb_nr, c_sim_node_nr, c_sim_node_type) & "RAM_ST_BST")
-                                               port map(mm_rst, mm_clk, ram_st_bst_copi, ram_st_bst_cipo );
-
-    u_mm_file_reg_stat_enable_sst     : mm_file generic map(mmf_unb_file_prefix(g_sim_unb_nr, c_sim_node_nr, c_sim_node_type) & "REG_STAT_ENABLE_SST")
-                                                port map(mm_rst, mm_clk, reg_stat_enable_sst_copi, reg_stat_enable_sst_cipo );
-
-    u_mm_file_reg_stat_hdr_info_sst   : mm_file generic map(mmf_unb_file_prefix(g_sim_unb_nr, c_sim_node_nr, c_sim_node_type) & "REG_STAT_HDR_DAT_SST")
-                                                port map(mm_rst, mm_clk, reg_stat_hdr_dat_sst_copi, reg_stat_hdr_dat_sst_cipo);
-
-    u_mm_file_reg_stat_enable_xst     : mm_file generic map(mmf_unb_file_prefix(g_sim_unb_nr, c_sim_node_nr, c_sim_node_type) & "REG_STAT_ENABLE_XST")
-                                                port map(mm_rst, mm_clk, reg_stat_enable_xst_copi, reg_stat_enable_xst_cipo );
-
-    u_mm_file_reg_stat_hdr_info_xst   : mm_file generic map(mmf_unb_file_prefix(g_sim_unb_nr, c_sim_node_nr, c_sim_node_type) & "REG_STAT_HDR_DAT_XST")
-                                                port map(mm_rst, mm_clk, reg_stat_hdr_dat_xst_copi, reg_stat_hdr_dat_xst_cipo);
-
-    u_mm_file_reg_stat_enable_bst     : mm_file generic map(mmf_unb_file_prefix(g_sim_unb_nr, c_sim_node_nr, c_sim_node_type) & "REG_STAT_ENABLE_BST")
-                                                port map(mm_rst, mm_clk, reg_stat_enable_bst_copi, reg_stat_enable_bst_cipo );
-
-    u_mm_file_reg_stat_hdr_info_bst   : mm_file generic map(mmf_unb_file_prefix(g_sim_unb_nr, c_sim_node_nr, c_sim_node_type) & "REG_STAT_HDR_DAT_BST")
-                                                port map(mm_rst, mm_clk, reg_stat_hdr_dat_bst_copi, reg_stat_hdr_dat_bst_cipo);
-
-    u_mm_file_reg_crosslets_info      : mm_file generic map(mmf_unb_file_prefix(g_sim_unb_nr, c_sim_node_nr, c_sim_node_type) & "REG_CROSSLETS_INFO")
-                                                port map(mm_rst, mm_clk, reg_crosslets_info_copi, reg_crosslets_info_cipo);
-
-    u_mm_file_reg_nof_crosslets       : mm_file generic map(mmf_unb_file_prefix(g_sim_unb_nr, c_sim_node_nr, c_sim_node_type) & "REG_NOF_CROSSLETS")
-                                                port map(mm_rst, mm_clk, reg_nof_crosslets_copi, reg_nof_crosslets_cipo);
-
-    u_mm_file_reg_bsn_sync_scheduler_xsub  : mm_file generic map(mmf_unb_file_prefix(g_sim_unb_nr, c_sim_node_nr, c_sim_node_type) & "REG_BSN_SYNC_SCHEDULER_XSUB")
-                                                     port map(mm_rst, mm_clk, reg_bsn_sync_scheduler_xsub_copi, reg_bsn_sync_scheduler_xsub_cipo);
-
-    u_mm_file_ram_st_xsq              : mm_file generic map(mmf_unb_file_prefix(g_sim_unb_nr, c_sim_node_nr, c_sim_node_type) & "RAM_ST_XSQ")
-                                                port map(mm_rst, mm_clk, ram_st_xsq_copi, ram_st_xsq_cipo);
-
-    u_mm_file_reg_nw_10GbE_mac        : mm_file generic map(mmf_unb_file_prefix(g_sim_unb_nr, c_sim_node_nr, c_sim_node_type) & "REG_NW_10GBE_MAC")
-                                                port map(mm_rst, mm_clk, reg_nw_10GbE_mac_copi, reg_nw_10GbE_mac_cipo );
-
-    u_mm_file_reg_nw_10GbE_eth10g     : mm_file generic map(mmf_unb_file_prefix(g_sim_unb_nr, c_sim_node_nr, c_sim_node_type) & "REG_NW_10GBE_ETH10G")
-                                                port map(mm_rst, mm_clk, reg_nw_10GbE_eth10g_copi, reg_nw_10GbE_eth10g_cipo );
-
-    u_mm_file_reg_bsn_align_v2_bf     : mm_file generic map(mmf_unb_file_prefix(g_sim_unb_nr, c_sim_node_nr, c_sim_node_type) & "REG_BSN_ALIGN_V2_BF")
-                                                port map(mm_rst, mm_clk, reg_bsn_align_v2_bf_copi, reg_bsn_align_v2_bf_cipo );
-
-    u_mm_file_reg_bsn_monitor_v2_rx_align_bf : mm_file generic map(mmf_unb_file_prefix(g_sim_unb_nr, c_sim_node_nr, c_sim_node_type) & "REG_BSN_MONITOR_V2_RX_ALIGN_BF")
-                                                       port map(mm_rst, mm_clk, reg_bsn_monitor_v2_rx_align_bf_copi, reg_bsn_monitor_v2_rx_align_bf_cipo );
-
-    u_mm_file_reg_bsn_monitor_v2_aligned_bf  : mm_file generic map(mmf_unb_file_prefix(g_sim_unb_nr, c_sim_node_nr, c_sim_node_type) & "REG_BSN_MONITOR_V2_ALIGNED_BF")
-                                                       port map(mm_rst, mm_clk, reg_bsn_monitor_v2_aligned_bf_copi, reg_bsn_monitor_v2_aligned_bf_cipo );
-
-    u_mm_file_reg_ring_lane_info_bf          : mm_file generic map(mmf_unb_file_prefix(g_sim_unb_nr, c_sim_node_nr, c_sim_node_type) & "REG_RING_LANE_INFO_BF")
-                                                       port map(mm_rst, mm_clk, reg_ring_lane_info_bf_copi, reg_ring_lane_info_bf_cipo );
-
-    u_mm_file_reg_bsn_monitor_v2_ring_rx_bf         : mm_file generic map(mmf_unb_file_prefix(g_sim_unb_nr, c_sim_node_nr, c_sim_node_type) & "REG_BSN_MONITOR_V2_RING_RX_BF")
-                                                              port map(mm_rst, mm_clk, reg_bsn_monitor_v2_ring_rx_bf_copi, reg_bsn_monitor_v2_ring_rx_bf_cipo );
-
-    u_mm_file_reg_bsn_monitor_v2_ring_tx_bf         : mm_file generic map(mmf_unb_file_prefix(g_sim_unb_nr, c_sim_node_nr, c_sim_node_type) & "REG_BSN_MONITOR_V2_RING_TX_BF")
-                                                              port map(mm_rst, mm_clk, reg_bsn_monitor_v2_ring_tx_bf_copi, reg_bsn_monitor_v2_ring_tx_bf_cipo );
-
-    u_mm_file_reg_dp_block_validate_err_bf          : mm_file generic map(mmf_unb_file_prefix(g_sim_unb_nr, c_sim_node_nr, c_sim_node_type) & "REG_DP_BLOCK_VALIDATE_ERR_BF")
-                                                              port map(mm_rst, mm_clk, reg_dp_block_validate_err_bf_copi, reg_dp_block_validate_err_bf_cipo );
-
-    u_mm_file_reg_dp_block_validate_bsn_at_sync_bf  : mm_file generic map(mmf_unb_file_prefix(g_sim_unb_nr, c_sim_node_nr, c_sim_node_type) & "REG_DP_BLOCK_VALIDATE_BSN_AT_SYNC_BF")
-                                                              port map(mm_rst, mm_clk, reg_dp_block_validate_bsn_at_sync_bf_copi, reg_dp_block_validate_bsn_at_sync_bf_cipo );
-
-    u_mm_file_reg_bsn_align_v2_xsub                 : mm_file generic map(mmf_unb_file_prefix(g_sim_unb_nr, c_sim_node_nr, c_sim_node_type) & "REG_BSN_ALIGN_V2_XSUB")
-                                                              port map(mm_rst, mm_clk, reg_bsn_align_v2_xsub_copi, reg_bsn_align_v2_xsub_cipo );
-
-    u_mm_file_reg_bsn_monitor_v2_rx_align_xsub      : mm_file generic map(mmf_unb_file_prefix(g_sim_unb_nr, c_sim_node_nr, c_sim_node_type) & "REG_BSN_MONITOR_V2_RX_ALIGN_XSUB")
-                                                              port map(mm_rst, mm_clk, reg_bsn_monitor_v2_rx_align_xsub_copi, reg_bsn_monitor_v2_rx_align_xsub_cipo );
-
-    u_mm_file_reg_bsn_monitor_v2_aligned_xsub       : mm_file generic map(mmf_unb_file_prefix(g_sim_unb_nr, c_sim_node_nr, c_sim_node_type) & "REG_BSN_MONITOR_V2_ALIGNED_XSUB")
-                                                          port map(mm_rst, mm_clk, reg_bsn_monitor_v2_aligned_xsub_copi, reg_bsn_monitor_v2_aligned_xsub_cipo );
-
-    u_mm_file_reg_bsn_monitor_v2_sst_offload        : mm_file generic map(mmf_unb_file_prefix(g_sim_unb_nr, c_sim_node_nr, c_sim_node_type) & "REG_BSN_MONITOR_V2_SST_OFFLOAD")
-                                                              port map(mm_rst, mm_clk, reg_bsn_monitor_v2_sst_offload_copi, reg_bsn_monitor_v2_sst_offload_cipo );
-
-    u_mm_file_reg_bsn_monitor_v2_bst_offload        : mm_file generic map(mmf_unb_file_prefix(g_sim_unb_nr, c_sim_node_nr, c_sim_node_type) & "REG_BSN_MONITOR_V2_BST_OFFLOAD")
-                                                              port map(mm_rst, mm_clk, reg_bsn_monitor_v2_bst_offload_copi, reg_bsn_monitor_v2_bst_offload_cipo );
-
-    u_mm_file_reg_bsn_monitor_v2_beamlet_output     : mm_file generic map(mmf_unb_file_prefix(g_sim_unb_nr, c_sim_node_nr, c_sim_node_type) & "REG_BSN_MONITOR_V2_BEAMLET_OUTPUT")
-                                                              port map(mm_rst, mm_clk, reg_bsn_monitor_v2_beamlet_output_copi, reg_bsn_monitor_v2_beamlet_output_cipo );
-
-    u_mm_file_reg_bsn_monitor_v2_xst_offload        : mm_file generic map(mmf_unb_file_prefix(g_sim_unb_nr, c_sim_node_nr, c_sim_node_type) & "REG_BSN_MONITOR_V2_XST_OFFLOAD")
-                                                              port map(mm_rst, mm_clk, reg_bsn_monitor_v2_xst_offload_copi, reg_bsn_monitor_v2_xst_offload_cipo );
-
-    u_mm_file_reg_ring_lane_info_xst                : mm_file generic map(mmf_unb_file_prefix(g_sim_unb_nr, c_sim_node_nr, c_sim_node_type) & "REG_RING_LANE_INFO_XST")
-                                                              port map(mm_rst, mm_clk, reg_ring_lane_info_xst_copi, reg_ring_lane_info_xst_cipo );
-
-    u_mm_file_reg_bsn_monitor_v2_ring_rx_xst        : mm_file generic map(mmf_unb_file_prefix(g_sim_unb_nr, c_sim_node_nr, c_sim_node_type) & "REG_BSN_MONITOR_V2_RING_RX_XST")
-                                                              port map(mm_rst, mm_clk, reg_bsn_monitor_v2_ring_rx_xst_copi, reg_bsn_monitor_v2_ring_rx_xst_cipo );
-
-    u_mm_file_reg_bsn_monitor_v2_ring_tx_xst        : mm_file generic map(mmf_unb_file_prefix(g_sim_unb_nr, c_sim_node_nr, c_sim_node_type) & "REG_BSN_MONITOR_V2_RING_TX_XST")
-                                                              port map(mm_rst, mm_clk, reg_bsn_monitor_v2_ring_tx_xst_copi, reg_bsn_monitor_v2_ring_tx_xst_cipo );
-
-    u_mm_file_reg_dp_block_validate_err_xst         : mm_file generic map(mmf_unb_file_prefix(g_sim_unb_nr, c_sim_node_nr, c_sim_node_type) & "REG_DP_BLOCK_VALIDATE_ERR_XST")
-                                                              port map(mm_rst, mm_clk, reg_dp_block_validate_err_xst_copi, reg_dp_block_validate_err_xst_cipo );
-
-    u_mm_file_reg_dp_block_validate_bsn_at_sync_xst : mm_file generic map(mmf_unb_file_prefix(g_sim_unb_nr, c_sim_node_nr, c_sim_node_type) & "REG_DP_BLOCK_VALIDATE_BSN_AT_SYNC_XST")
-                                                              port map(mm_rst, mm_clk, reg_dp_block_validate_bsn_at_sync_xst_copi, reg_dp_block_validate_bsn_at_sync_xst_cipo );
-
-    u_mm_file_reg_tr_10GbE_mac        : mm_file generic map(mmf_unb_file_prefix(g_sim_unb_nr, c_sim_node_nr, c_sim_node_type) & "REG_TR_10GBE_MAC")
-                                                port map(mm_rst, mm_clk, reg_tr_10GbE_mac_copi, reg_tr_10GbE_mac_cipo );
-
-    u_mm_file_reg_tr_10GbE_eth10g     : mm_file generic map(mmf_unb_file_prefix(g_sim_unb_nr, c_sim_node_nr, c_sim_node_type) & "REG_TR_10GBE_ETH10G")
-                                                port map(mm_rst, mm_clk, reg_tr_10GbE_eth10g_copi, reg_tr_10GbE_eth10g_cipo );
-
-    u_mm_file_ram_scrap               : mm_file generic map(mmf_unb_file_prefix(g_sim_unb_nr, c_sim_node_nr, c_sim_node_type) & "RAM_SCRAP")
-                                                port map(mm_rst, mm_clk, ram_scrap_copi, ram_scrap_cipo );
+    u_mm_file_reg_unb_system_info : mm_file
+      generic map(mmf_unb_file_prefix(g_sim_unb_nr, c_sim_node_nr, c_sim_node_type) & "PIO_SYSTEM_INFO")
+      port map(mm_rst, mm_clk, reg_unb_system_info_copi, reg_unb_system_info_cipo);
+
+    u_mm_file_rom_unb_system_info : mm_file
+      generic map(mmf_unb_file_prefix(g_sim_unb_nr, c_sim_node_nr, c_sim_node_type) & "ROM_SYSTEM_INFO")
+      port map(mm_rst, mm_clk, rom_unb_system_info_copi, rom_unb_system_info_cipo);
+
+    u_mm_file_reg_wdi : mm_file
+      generic map(mmf_unb_file_prefix(g_sim_unb_nr, c_sim_node_nr, c_sim_node_type) & "REG_WDI")
+      port map(mm_rst, mm_clk, reg_wdi_copi, reg_wdi_cipo);
+
+    u_mm_file_reg_fpga_temp_sens : mm_file
+      generic map(mmf_unb_file_prefix(g_sim_unb_nr, c_sim_node_nr, c_sim_node_type) & "REG_FPGA_TEMP_SENS")
+      port map(mm_rst, mm_clk, reg_fpga_temp_sens_copi, reg_fpga_temp_sens_cipo);
+
+    u_mm_file_reg_fpga_voltage_sens : mm_file
+      generic map(mmf_unb_file_prefix(g_sim_unb_nr, c_sim_node_nr, c_sim_node_type) & "REG_FPGA_VOLTAGE_SENS")
+      port map(mm_rst, mm_clk, reg_fpga_voltage_sens_copi, reg_fpga_voltage_sens_cipo);
+
+    u_mm_file_reg_ppsh : mm_file
+      generic map(mmf_unb_file_prefix(g_sim_unb_nr, c_sim_node_nr, c_sim_node_type) & "PIO_PPS")
+      port map(mm_rst, mm_clk, reg_ppsh_copi, reg_ppsh_cipo);
+
+    -- Note: the eth1g RAM and TSE buses are only required by unb_osy on the NIOS as they provide the
+    -- ethernet <-> MM gateway.
+    u_mm_file_reg_eth : mm_file
+      generic map(mmf_unb_file_prefix(g_sim_unb_nr, c_sim_node_nr, c_sim_node_type) & "AVS_ETH_0_MMS_REG")
+      port map(mm_rst, mm_clk, eth1g_reg_copi, eth1g_reg_cipo);
+
+    -- Must use exact g_mm_rd_latency = 1 instead of default 2, because JESD204B IP forces rddata = 0 after it has
+    -- been read
+    u_mm_file_jesd204b : mm_file
+      generic map(mmf_unb_file_prefix(g_sim_unb_nr, c_sim_node_nr, c_sim_node_type) & "JESD204B", '1', 1)
+      port map(mm_rst, mm_clk, jesd204b_copi, jesd204b_cipo);
+
+    u_mm_file_pio_jesd_ctrl : mm_file
+      generic map(mmf_unb_file_prefix(g_sim_unb_nr, c_sim_node_nr, c_sim_node_type) & "PIO_JESD_CTRL")
+      port map(mm_rst, mm_clk, jesd_ctrl_copi, jesd_ctrl_cipo);
+
+    u_mm_file_reg_dp_shiftram : mm_file
+      generic map(mmf_unb_file_prefix(g_sim_unb_nr, c_sim_node_nr, c_sim_node_type) & "REG_DP_SHIFTRAM")
+      port map(mm_rst, mm_clk, reg_dp_shiftram_copi, reg_dp_shiftram_cipo);
+
+    u_mm_file_reg_bsn_source_v2 : mm_file
+      generic map(mmf_unb_file_prefix(g_sim_unb_nr, c_sim_node_nr, c_sim_node_type) & "REG_BSN_SOURCE_V2")
+      port map(mm_rst, mm_clk, reg_bsn_source_v2_copi, reg_bsn_source_v2_cipo);
+
+    u_mm_file_reg_bsn_scheduler : mm_file
+      generic map(mmf_unb_file_prefix(g_sim_unb_nr, c_sim_node_nr, c_sim_node_type) & "REG_BSN_SCHEDULER")
+      port map(mm_rst, mm_clk, reg_bsn_scheduler_copi, reg_bsn_scheduler_cipo);
+
+    u_mm_file_reg_bsn_monitor_input : mm_file
+      generic map(mmf_unb_file_prefix(g_sim_unb_nr, c_sim_node_nr, c_sim_node_type) & "REG_BSN_MONITOR_INPUT")
+      port map(mm_rst, mm_clk, reg_bsn_monitor_input_copi, reg_bsn_monitor_input_cipo);
+
+    u_mm_file_reg_wg : mm_file
+      generic map(mmf_unb_file_prefix(g_sim_unb_nr, c_sim_node_nr, c_sim_node_type) & "REG_WG")
+      port map(mm_rst, mm_clk, reg_wg_copi, reg_wg_cipo);
+    u_mm_file_ram_wg : mm_file
+      generic map(mmf_unb_file_prefix(g_sim_unb_nr, c_sim_node_nr, c_sim_node_type) & "RAM_WG")
+      port map(mm_rst, mm_clk, ram_wg_copi, ram_wg_cipo);
+
+    u_mm_file_ram_diag_data_buf_bsn : mm_file
+      generic map(mmf_unb_file_prefix(g_sim_unb_nr, c_sim_node_nr, c_sim_node_type) & "RAM_DIAG_DATA_BUFFER_BSN")
+      port map(mm_rst, mm_clk, ram_diag_data_buf_bsn_copi, ram_diag_data_buf_bsn_cipo);
+    u_mm_file_reg_diag_data_buf_bsn : mm_file
+      generic map(mmf_unb_file_prefix(g_sim_unb_nr, c_sim_node_nr, c_sim_node_type) & "REG_DIAG_DATA_BUFFER_BSN")
+      port map(mm_rst, mm_clk, reg_diag_data_buf_bsn_copi, reg_diag_data_buf_bsn_cipo);
+
+    u_mm_file_ram_st_histogram : mm_file
+      generic map(mmf_unb_file_prefix(g_sim_unb_nr, c_sim_node_nr, c_sim_node_type) & "RAM_ST_HISTOGRAM")
+      port map(mm_rst, mm_clk, ram_st_histogram_copi, ram_st_histogram_cipo);
+
+    u_mm_file_reg_aduh_monitor : mm_file
+      generic map(mmf_unb_file_prefix(g_sim_unb_nr, c_sim_node_nr, c_sim_node_type) & "REG_ADUH_MONITOR")
+      port map(mm_rst, mm_clk, reg_aduh_monitor_copi, reg_aduh_monitor_cipo);
+
+    u_mm_file_ram_st_sst : mm_file
+      generic map(mmf_unb_file_prefix(g_sim_unb_nr, c_sim_node_nr, c_sim_node_type) & "RAM_ST_SST")
+      port map(mm_rst, mm_clk, ram_st_sst_copi, ram_st_sst_cipo);
+
+    u_mm_file_ram_fil_coefs : mm_file
+      generic map(mmf_unb_file_prefix(g_sim_unb_nr, c_sim_node_nr, c_sim_node_type) & "RAM_FIL_COEFS")
+      port map(mm_rst, mm_clk, ram_fil_coefs_copi, ram_fil_coefs_cipo);
+
+    u_mm_file_reg_si : mm_file
+      generic map(mmf_unb_file_prefix(g_sim_unb_nr, c_sim_node_nr, c_sim_node_type) & "REG_SI")
+      port map(mm_rst, mm_clk, reg_si_copi, reg_si_cipo);
+
+    u_mm_file_ram_equalizer_gains : mm_file
+      generic map(mmf_unb_file_prefix(g_sim_unb_nr, c_sim_node_nr, c_sim_node_type) & "RAM_EQUALIZER_GAINS")
+      port map(mm_rst, mm_clk, ram_equalizer_gains_copi, ram_equalizer_gains_cipo);
+    u_mm_file_ram_equalizer_gains_cross : mm_file
+      generic map(mmf_unb_file_prefix(g_sim_unb_nr, c_sim_node_nr, c_sim_node_type) & "RAM_EQUALIZER_GAINS_CROSS")
+      port map(mm_rst, mm_clk, ram_equalizer_gains_cross_copi, ram_equalizer_gains_cross_cipo);
+
+    u_mm_file_reg_dp_selector : mm_file
+      generic map(mmf_unb_file_prefix(g_sim_unb_nr, c_sim_node_nr, c_sim_node_type) & "REG_DP_SELECTOR")
+      port map(mm_rst, mm_clk, reg_dp_selector_copi, reg_dp_selector_cipo);
+
+    u_mm_file_reg_sdp_info : mm_file
+      generic map(mmf_unb_file_prefix(g_sim_unb_nr, c_sim_node_nr, c_sim_node_type) & "REG_SDP_INFO")
+      port map(mm_rst, mm_clk, reg_sdp_info_copi, reg_sdp_info_cipo);
+
+    u_mm_file_reg_ring_info : mm_file
+      generic map(mmf_unb_file_prefix(g_sim_unb_nr, c_sim_node_nr, c_sim_node_type) & "REG_RING_INFO")
+      port map(mm_rst, mm_clk, reg_ring_info_copi, reg_ring_info_cipo);
+
+    u_mm_file_ram_ss_ss_wide : mm_file
+      generic map(mmf_unb_file_prefix(g_sim_unb_nr, c_sim_node_nr, c_sim_node_type) & "RAM_SS_SS_WIDE")
+      port map(mm_rst, mm_clk, ram_ss_ss_wide_copi, ram_ss_ss_wide_cipo);
+
+    u_mm_file_ram_bf_weights : mm_file
+      generic map(mmf_unb_file_prefix(g_sim_unb_nr, c_sim_node_nr, c_sim_node_type) & "RAM_BF_WEIGHTS")
+      port map(mm_rst, mm_clk, ram_bf_weights_copi, ram_bf_weights_cipo);
+
+    u_mm_file_reg_bf_scale : mm_file
+      generic map(mmf_unb_file_prefix(g_sim_unb_nr, c_sim_node_nr, c_sim_node_type) & "REG_BF_SCALE")
+      port map(mm_rst, mm_clk, reg_bf_scale_copi, reg_bf_scale_cipo);
+
+    u_mm_file_reg_hdr_dat : mm_file
+      generic map(mmf_unb_file_prefix(g_sim_unb_nr, c_sim_node_nr, c_sim_node_type) & "REG_HDR_DAT")
+      port map(mm_rst, mm_clk, reg_hdr_dat_copi, reg_hdr_dat_cipo);
+
+    u_mm_file_reg_bdo_destinations : mm_file
+      generic map(mmf_unb_file_prefix(g_sim_unb_nr, c_sim_node_nr, c_sim_node_type) & "REG_BDO_DESTINATIONS")
+      port map(mm_rst, mm_clk, reg_bdo_destinations_copi, reg_bdo_destinations_cipo);
+
+    u_mm_file_reg_dp_xonoff : mm_file
+      generic map(mmf_unb_file_prefix(g_sim_unb_nr, c_sim_node_nr, c_sim_node_type) & "REG_DP_XONOFF")
+      port map(mm_rst, mm_clk, reg_dp_xonoff_copi, reg_dp_xonoff_cipo);
+
+    u_mm_file_ram_st_bst : mm_file
+      generic map(mmf_unb_file_prefix(g_sim_unb_nr, c_sim_node_nr, c_sim_node_type) & "RAM_ST_BST")
+      port map(mm_rst, mm_clk, ram_st_bst_copi, ram_st_bst_cipo);
+
+    u_mm_file_reg_stat_enable_sst : mm_file
+      generic map(mmf_unb_file_prefix(g_sim_unb_nr, c_sim_node_nr, c_sim_node_type) & "REG_STAT_ENABLE_SST")
+      port map(mm_rst, mm_clk, reg_stat_enable_sst_copi, reg_stat_enable_sst_cipo);
+
+    u_mm_file_reg_stat_hdr_info_sst : mm_file
+      generic map(mmf_unb_file_prefix(g_sim_unb_nr, c_sim_node_nr, c_sim_node_type) & "REG_STAT_HDR_DAT_SST")
+      port map(mm_rst, mm_clk, reg_stat_hdr_dat_sst_copi, reg_stat_hdr_dat_sst_cipo);
+
+    u_mm_file_reg_stat_enable_xst : mm_file
+      generic map(mmf_unb_file_prefix(g_sim_unb_nr, c_sim_node_nr, c_sim_node_type) & "REG_STAT_ENABLE_XST")
+      port map(mm_rst, mm_clk, reg_stat_enable_xst_copi, reg_stat_enable_xst_cipo);
+
+    u_mm_file_reg_stat_hdr_info_xst : mm_file
+      generic map(mmf_unb_file_prefix(g_sim_unb_nr, c_sim_node_nr, c_sim_node_type) & "REG_STAT_HDR_DAT_XST")
+      port map(mm_rst, mm_clk, reg_stat_hdr_dat_xst_copi, reg_stat_hdr_dat_xst_cipo);
+
+    u_mm_file_reg_stat_enable_bst : mm_file
+      generic map(mmf_unb_file_prefix(g_sim_unb_nr, c_sim_node_nr, c_sim_node_type) & "REG_STAT_ENABLE_BST")
+      port map(mm_rst, mm_clk, reg_stat_enable_bst_copi, reg_stat_enable_bst_cipo);
+
+    u_mm_file_reg_stat_hdr_info_bst : mm_file
+      generic map(mmf_unb_file_prefix(g_sim_unb_nr, c_sim_node_nr, c_sim_node_type) & "REG_STAT_HDR_DAT_BST")
+      port map(mm_rst, mm_clk, reg_stat_hdr_dat_bst_copi, reg_stat_hdr_dat_bst_cipo);
+
+    u_mm_file_reg_crosslets_info : mm_file
+      generic map(mmf_unb_file_prefix(g_sim_unb_nr, c_sim_node_nr, c_sim_node_type) & "REG_CROSSLETS_INFO")
+      port map(mm_rst, mm_clk, reg_crosslets_info_copi, reg_crosslets_info_cipo);
+
+    u_mm_file_reg_nof_crosslets : mm_file
+      generic map(mmf_unb_file_prefix(g_sim_unb_nr, c_sim_node_nr, c_sim_node_type) & "REG_NOF_CROSSLETS")
+      port map(mm_rst, mm_clk, reg_nof_crosslets_copi, reg_nof_crosslets_cipo);
+
+    u_mm_file_reg_bsn_sync_scheduler_xsub : mm_file
+      generic map(mmf_unb_file_prefix(g_sim_unb_nr, c_sim_node_nr, c_sim_node_type) & "REG_BSN_SYNC_SCHEDULER_XSUB")
+      port map(mm_rst, mm_clk, reg_bsn_sync_scheduler_xsub_copi, reg_bsn_sync_scheduler_xsub_cipo);
+
+    u_mm_file_ram_st_xsq : mm_file
+      generic map(mmf_unb_file_prefix(g_sim_unb_nr, c_sim_node_nr, c_sim_node_type) & "RAM_ST_XSQ")
+      port map(mm_rst, mm_clk, ram_st_xsq_copi, ram_st_xsq_cipo);
+
+    u_mm_file_reg_nw_10GbE_mac : mm_file
+      generic map(mmf_unb_file_prefix(g_sim_unb_nr, c_sim_node_nr, c_sim_node_type) & "REG_NW_10GBE_MAC")
+      port map(mm_rst, mm_clk, reg_nw_10GbE_mac_copi, reg_nw_10GbE_mac_cipo);
+
+    u_mm_file_reg_nw_10GbE_eth10g : mm_file
+      generic map(mmf_unb_file_prefix(g_sim_unb_nr, c_sim_node_nr, c_sim_node_type) & "REG_NW_10GBE_ETH10G")
+      port map(mm_rst, mm_clk, reg_nw_10GbE_eth10g_copi, reg_nw_10GbE_eth10g_cipo);
+
+    u_mm_file_reg_bsn_align_v2_bf : mm_file
+      generic map(mmf_unb_file_prefix(g_sim_unb_nr, c_sim_node_nr, c_sim_node_type) & "REG_BSN_ALIGN_V2_BF")
+      port map(mm_rst, mm_clk, reg_bsn_align_v2_bf_copi, reg_bsn_align_v2_bf_cipo);
+
+    u_mm_file_reg_bsn_monitor_v2_rx_align_bf : mm_file
+      generic map(mmf_unb_file_prefix(g_sim_unb_nr, c_sim_node_nr, c_sim_node_type) & "REG_BSN_MONITOR_V2_RX_ALIGN_BF")
+      port map(mm_rst, mm_clk, reg_bsn_monitor_v2_rx_align_bf_copi, reg_bsn_monitor_v2_rx_align_bf_cipo);
+
+    u_mm_file_reg_bsn_monitor_v2_aligned_bf : mm_file
+      generic map(mmf_unb_file_prefix(g_sim_unb_nr, c_sim_node_nr, c_sim_node_type) & "REG_BSN_MONITOR_V2_ALIGNED_BF")
+      port map(mm_rst, mm_clk, reg_bsn_monitor_v2_aligned_bf_copi, reg_bsn_monitor_v2_aligned_bf_cipo);
+
+    u_mm_file_reg_ring_lane_info_bf : mm_file
+      generic map(mmf_unb_file_prefix(g_sim_unb_nr, c_sim_node_nr, c_sim_node_type) & "REG_RING_LANE_INFO_BF")
+      port map(mm_rst, mm_clk, reg_ring_lane_info_bf_copi, reg_ring_lane_info_bf_cipo);
+
+    u_mm_file_reg_bsn_monitor_v2_ring_rx_bf : mm_file
+      generic map(mmf_unb_file_prefix(g_sim_unb_nr, c_sim_node_nr, c_sim_node_type) & "REG_BSN_MONITOR_V2_RING_RX_BF")
+      port map(mm_rst, mm_clk, reg_bsn_monitor_v2_ring_rx_bf_copi, reg_bsn_monitor_v2_ring_rx_bf_cipo);
+
+    u_mm_file_reg_bsn_monitor_v2_ring_tx_bf : mm_file
+      generic map(mmf_unb_file_prefix(g_sim_unb_nr, c_sim_node_nr, c_sim_node_type) & "REG_BSN_MONITOR_V2_RING_TX_BF")
+      port map(mm_rst, mm_clk, reg_bsn_monitor_v2_ring_tx_bf_copi, reg_bsn_monitor_v2_ring_tx_bf_cipo);
+
+    u_mm_file_reg_dp_block_validate_err_bf : mm_file
+      generic map(mmf_unb_file_prefix(g_sim_unb_nr, c_sim_node_nr, c_sim_node_type) & "REG_DP_BLOCK_VALIDATE_ERR_BF")
+      port map(mm_rst, mm_clk, reg_dp_block_validate_err_bf_copi, reg_dp_block_validate_err_bf_cipo);
+
+    u_mm_file_reg_dp_block_validate_bsn_at_sync_bf : mm_file
+      generic map(mmf_unb_file_prefix(g_sim_unb_nr, c_sim_node_nr, c_sim_node_type) &
+                  "REG_DP_BLOCK_VALIDATE_BSN_AT_SYNC_BF")
+      port map(mm_rst, mm_clk, reg_dp_block_validate_bsn_at_sync_bf_copi, reg_dp_block_validate_bsn_at_sync_bf_cipo);
+
+    u_mm_file_reg_bsn_align_v2_xsub : mm_file
+      generic map(mmf_unb_file_prefix(g_sim_unb_nr, c_sim_node_nr, c_sim_node_type) & "REG_BSN_ALIGN_V2_XSUB")
+      port map(mm_rst, mm_clk, reg_bsn_align_v2_xsub_copi, reg_bsn_align_v2_xsub_cipo);
+
+    u_mm_file_reg_bsn_monitor_v2_rx_align_xsub : mm_file
+      generic map(mmf_unb_file_prefix(g_sim_unb_nr, c_sim_node_nr, c_sim_node_type) &
+                  "REG_BSN_MONITOR_V2_RX_ALIGN_XSUB")
+      port map(mm_rst, mm_clk, reg_bsn_monitor_v2_rx_align_xsub_copi, reg_bsn_monitor_v2_rx_align_xsub_cipo);
+
+    u_mm_file_reg_bsn_monitor_v2_aligned_xsub : mm_file
+      generic map(mmf_unb_file_prefix(g_sim_unb_nr, c_sim_node_nr, c_sim_node_type) & "REG_BSN_MONITOR_V2_ALIGNED_XSUB")
+      port map(mm_rst, mm_clk, reg_bsn_monitor_v2_aligned_xsub_copi, reg_bsn_monitor_v2_aligned_xsub_cipo);
+
+    u_mm_file_reg_bsn_monitor_v2_sst_offload : mm_file
+      generic map(mmf_unb_file_prefix(g_sim_unb_nr, c_sim_node_nr, c_sim_node_type) & "REG_BSN_MONITOR_V2_SST_OFFLOAD")
+      port map(mm_rst, mm_clk, reg_bsn_monitor_v2_sst_offload_copi, reg_bsn_monitor_v2_sst_offload_cipo);
+
+    u_mm_file_reg_bsn_monitor_v2_bst_offload : mm_file
+      generic map(mmf_unb_file_prefix(g_sim_unb_nr, c_sim_node_nr, c_sim_node_type) & "REG_BSN_MONITOR_V2_BST_OFFLOAD")
+      port map(mm_rst, mm_clk, reg_bsn_monitor_v2_bst_offload_copi, reg_bsn_monitor_v2_bst_offload_cipo);
+
+    u_mm_file_reg_bsn_monitor_v2_beamlet_output : mm_file
+      generic map(mmf_unb_file_prefix(g_sim_unb_nr, c_sim_node_nr, c_sim_node_type) &
+                  "REG_BSN_MONITOR_V2_BEAMLET_OUTPUT")
+      port map(mm_rst, mm_clk, reg_bsn_monitor_v2_beamlet_output_copi, reg_bsn_monitor_v2_beamlet_output_cipo);
+
+    u_mm_file_reg_bsn_monitor_v2_xst_offload : mm_file
+      generic map(mmf_unb_file_prefix(g_sim_unb_nr, c_sim_node_nr, c_sim_node_type) & "REG_BSN_MONITOR_V2_XST_OFFLOAD")
+      port map(mm_rst, mm_clk, reg_bsn_monitor_v2_xst_offload_copi, reg_bsn_monitor_v2_xst_offload_cipo);
+
+    u_mm_file_reg_ring_lane_info_xst : mm_file
+      generic map(mmf_unb_file_prefix(g_sim_unb_nr, c_sim_node_nr, c_sim_node_type) & "REG_RING_LANE_INFO_XST")
+      port map(mm_rst, mm_clk, reg_ring_lane_info_xst_copi, reg_ring_lane_info_xst_cipo);
+
+    u_mm_file_reg_bsn_monitor_v2_ring_rx_xst : mm_file
+      generic map(mmf_unb_file_prefix(g_sim_unb_nr, c_sim_node_nr, c_sim_node_type) & "REG_BSN_MONITOR_V2_RING_RX_XST")
+      port map(mm_rst, mm_clk, reg_bsn_monitor_v2_ring_rx_xst_copi, reg_bsn_monitor_v2_ring_rx_xst_cipo);
+
+    u_mm_file_reg_bsn_monitor_v2_ring_tx_xst : mm_file
+      generic map(mmf_unb_file_prefix(g_sim_unb_nr, c_sim_node_nr, c_sim_node_type) & "REG_BSN_MONITOR_V2_RING_TX_XST")
+      port map(mm_rst, mm_clk, reg_bsn_monitor_v2_ring_tx_xst_copi, reg_bsn_monitor_v2_ring_tx_xst_cipo);
+
+    u_mm_file_reg_dp_block_validate_err_xst : mm_file
+      generic map(mmf_unb_file_prefix(g_sim_unb_nr, c_sim_node_nr, c_sim_node_type) & "REG_DP_BLOCK_VALIDATE_ERR_XST")
+      port map(mm_rst, mm_clk, reg_dp_block_validate_err_xst_copi, reg_dp_block_validate_err_xst_cipo);
+
+    u_mm_file_reg_dp_block_validate_bsn_at_sync_xst : mm_file
+      generic map(mmf_unb_file_prefix(g_sim_unb_nr, c_sim_node_nr, c_sim_node_type) &
+                  "REG_DP_BLOCK_VALIDATE_BSN_AT_SYNC_XST")
+      port map(mm_rst, mm_clk, reg_dp_block_validate_bsn_at_sync_xst_copi, reg_dp_block_validate_bsn_at_sync_xst_cipo);
+
+    u_mm_file_reg_tr_10GbE_mac : mm_file
+      generic map(mmf_unb_file_prefix(g_sim_unb_nr, c_sim_node_nr, c_sim_node_type) & "REG_TR_10GBE_MAC")
+      port map(mm_rst, mm_clk, reg_tr_10GbE_mac_copi, reg_tr_10GbE_mac_cipo);
+
+    u_mm_file_reg_tr_10GbE_eth10g : mm_file
+      generic map(mmf_unb_file_prefix(g_sim_unb_nr, c_sim_node_nr, c_sim_node_type) & "REG_TR_10GBE_ETH10G")
+      port map(mm_rst, mm_clk, reg_tr_10GbE_eth10g_copi, reg_tr_10GbE_eth10g_cipo);
+
+    u_mm_file_ram_scrap : mm_file
+      generic map(mmf_unb_file_prefix(g_sim_unb_nr, c_sim_node_nr, c_sim_node_type) & "RAM_SCRAP")
+      port map(mm_rst, mm_clk, ram_scrap_copi, ram_scrap_cipo);
     ----------------------------------------------------------------------------
     -- Procedure that polls a sim control file that can be used to e.g. get
     -- the simulation time in ns
@@ -561,198 +640,204 @@ begin
     u_qsys : qsys_lofar2_unb2c_sdp_station
     port map (
 
-      clk_clk                                   => mm_clk,
-      reset_reset_n                             => i_reset_n,
+      clk_clk       => mm_clk,
+      reset_reset_n => i_reset_n,
 
       -- the_pio_wdi: toggled by NIOS II application unb_osy. Connects to WDI via ctrl_unb2c_board.
-      pio_wdi_external_connection_export        => pout_wdi,
-
-      avs_eth_0_reset_export                    => eth1g_mm_rst,
-      avs_eth_0_clk_export                      => OPEN,
-      avs_eth_0_tse_address_export              => eth1g_tse_copi.address(c_unb2c_board_peripherals_mm_reg_default.reg_tse_adr_w - 1 downto 0),
-      avs_eth_0_tse_write_export                => eth1g_tse_copi.wr,
-      avs_eth_0_tse_read_export                 => eth1g_tse_copi.rd,
-      avs_eth_0_tse_writedata_export            => eth1g_tse_copi.wrdata(c_word_w - 1 downto 0),
-      avs_eth_0_tse_readdata_export             => eth1g_tse_cipo.rddata(c_word_w - 1 downto 0),
-      avs_eth_0_tse_waitrequest_export          => eth1g_tse_cipo.waitrequest,
-      avs_eth_0_reg_address_export              => eth1g_reg_copi.address(c_unb2c_board_peripherals_mm_reg_default.reg_eth_adr_w - 1 downto 0),
-      avs_eth_0_reg_write_export                => eth1g_reg_copi.wr,
-      avs_eth_0_reg_read_export                 => eth1g_reg_copi.rd,
-      avs_eth_0_reg_writedata_export            => eth1g_reg_copi.wrdata(c_word_w - 1 downto 0),
-      avs_eth_0_reg_readdata_export             => eth1g_reg_cipo.rddata(c_word_w - 1 downto 0),
-      avs_eth_0_ram_address_export              => eth1g_ram_copi.address(c_unb2c_board_peripherals_mm_reg_default.ram_eth_adr_w - 1 downto 0),
-      avs_eth_0_ram_write_export                => eth1g_ram_copi.wr,
-      avs_eth_0_ram_read_export                 => eth1g_ram_copi.rd,
-      avs_eth_0_ram_writedata_export            => eth1g_ram_copi.wrdata(c_word_w - 1 downto 0),
-      avs_eth_0_ram_readdata_export             => eth1g_ram_cipo.rddata(c_word_w - 1 downto 0),
-      avs_eth_0_irq_export                      => eth1g_reg_interrupt,
-
-      reg_fpga_temp_sens_reset_export           => OPEN,
-      reg_fpga_temp_sens_clk_export             => OPEN,
-      reg_fpga_temp_sens_address_export         => reg_fpga_temp_sens_copi.address(c_unb2c_board_peripherals_mm_reg_default.reg_fpga_temp_sens_adr_w - 1 downto 0),
-      reg_fpga_temp_sens_write_export           => reg_fpga_temp_sens_copi.wr,
-      reg_fpga_temp_sens_writedata_export       => reg_fpga_temp_sens_copi.wrdata(c_word_w - 1 downto 0),
-      reg_fpga_temp_sens_read_export            => reg_fpga_temp_sens_copi.rd,
-      reg_fpga_temp_sens_readdata_export        => reg_fpga_temp_sens_cipo.rddata(c_word_w - 1 downto 0),
-
-      reg_fpga_voltage_sens_reset_export        => OPEN,
-      reg_fpga_voltage_sens_clk_export          => OPEN,
-      reg_fpga_voltage_sens_address_export      => reg_fpga_voltage_sens_copi.address(c_unb2c_board_peripherals_mm_reg_default.reg_fpga_voltage_sens_adr_w - 1 downto 0),
-      reg_fpga_voltage_sens_write_export        => reg_fpga_voltage_sens_copi.wr,
-      reg_fpga_voltage_sens_writedata_export    => reg_fpga_voltage_sens_copi.wrdata(c_word_w - 1 downto 0),
-      reg_fpga_voltage_sens_read_export         => reg_fpga_voltage_sens_copi.rd,
-      reg_fpga_voltage_sens_readdata_export     => reg_fpga_voltage_sens_cipo.rddata(c_word_w - 1 downto 0),
-
-      rom_system_info_reset_export              => OPEN,
-      rom_system_info_clk_export                => OPEN,
+      pio_wdi_external_connection_export => pout_wdi,
+
+      avs_eth_0_reset_export           => eth1g_mm_rst,
+      avs_eth_0_clk_export             => OPEN,
+      avs_eth_0_tse_address_export     => eth1g_tse_copi.address(c_unb2_mm_reg_default.reg_tse_adr_w - 1 downto 0),
+      avs_eth_0_tse_write_export       => eth1g_tse_copi.wr,
+      avs_eth_0_tse_read_export        => eth1g_tse_copi.rd,
+      avs_eth_0_tse_writedata_export   => eth1g_tse_copi.wrdata(c_word_w - 1 downto 0),
+      avs_eth_0_tse_readdata_export    => eth1g_tse_cipo.rddata(c_word_w - 1 downto 0),
+      avs_eth_0_tse_waitrequest_export => eth1g_tse_cipo.waitrequest,
+      avs_eth_0_reg_address_export     => eth1g_reg_copi.address(c_unb2_mm_reg_default.reg_eth_adr_w - 1 downto 0),
+      avs_eth_0_reg_write_export       => eth1g_reg_copi.wr,
+      avs_eth_0_reg_read_export        => eth1g_reg_copi.rd,
+      avs_eth_0_reg_writedata_export   => eth1g_reg_copi.wrdata(c_word_w - 1 downto 0),
+      avs_eth_0_reg_readdata_export    => eth1g_reg_cipo.rddata(c_word_w - 1 downto 0),
+      avs_eth_0_ram_address_export     => eth1g_ram_copi.address(c_unb2_mm_reg_default.ram_eth_adr_w - 1 downto 0),
+      avs_eth_0_ram_write_export       => eth1g_ram_copi.wr,
+      avs_eth_0_ram_read_export        => eth1g_ram_copi.rd,
+      avs_eth_0_ram_writedata_export   => eth1g_ram_copi.wrdata(c_word_w - 1 downto 0),
+      avs_eth_0_ram_readdata_export    => eth1g_ram_cipo.rddata(c_word_w - 1 downto 0),
+      avs_eth_0_irq_export             => eth1g_reg_interrupt,
+
+      reg_fpga_temp_sens_reset_export     => OPEN,
+      reg_fpga_temp_sens_clk_export       => OPEN,
+      reg_fpga_temp_sens_address_export   => reg_fpga_temp_sens_copi.address(
+          c_unb2_mm_reg_default.reg_fpga_temp_sens_adr_w - 1 downto 0),
+      reg_fpga_temp_sens_write_export     => reg_fpga_temp_sens_copi.wr,
+      reg_fpga_temp_sens_writedata_export => reg_fpga_temp_sens_copi.wrdata(c_word_w - 1 downto 0),
+      reg_fpga_temp_sens_read_export      => reg_fpga_temp_sens_copi.rd,
+      reg_fpga_temp_sens_readdata_export  => reg_fpga_temp_sens_cipo.rddata(c_word_w - 1 downto 0),
+
+      reg_fpga_voltage_sens_reset_export     => OPEN,
+      reg_fpga_voltage_sens_clk_export       => OPEN,
+      reg_fpga_voltage_sens_address_export   => reg_fpga_voltage_sens_copi.address(
+          c_unb2_mm_reg_default.reg_fpga_voltage_sens_adr_w - 1 downto 0),
+      reg_fpga_voltage_sens_write_export     => reg_fpga_voltage_sens_copi.wr,
+      reg_fpga_voltage_sens_writedata_export => reg_fpga_voltage_sens_copi.wrdata(c_word_w - 1 downto 0),
+      reg_fpga_voltage_sens_read_export      => reg_fpga_voltage_sens_copi.rd,
+      reg_fpga_voltage_sens_readdata_export  => reg_fpga_voltage_sens_cipo.rddata(c_word_w - 1 downto 0),
+
+      rom_system_info_reset_export     => OPEN,
+      rom_system_info_clk_export       => OPEN,
 --    ToDo: This has changed in the peripherals package
---      rom_system_info_address_export            => rom_unb_system_info_copi.address(9 DOWNTO 0),
-      rom_system_info_address_export            => rom_unb_system_info_copi.address(c_unb2c_board_peripherals_mm_reg_default.rom_unb_system_info_adr_w - 1 downto 0),
-      rom_system_info_write_export              => rom_unb_system_info_copi.wr,
-      rom_system_info_writedata_export          => rom_unb_system_info_copi.wrdata(c_word_w - 1 downto 0),
-      rom_system_info_read_export               => rom_unb_system_info_copi.rd,
-      rom_system_info_readdata_export           => rom_unb_system_info_cipo.rddata(c_word_w - 1 downto 0),
-
-      pio_system_info_reset_export              => OPEN,
-      pio_system_info_clk_export                => OPEN,
-      pio_system_info_address_export            => reg_unb_system_info_copi.address(c_unb2c_board_peripherals_mm_reg_default.reg_unb_system_info_adr_w - 1 downto 0),
-      pio_system_info_write_export              => reg_unb_system_info_copi.wr,
-      pio_system_info_writedata_export          => reg_unb_system_info_copi.wrdata(c_word_w - 1 downto 0),
-      pio_system_info_read_export               => reg_unb_system_info_copi.rd,
-      pio_system_info_readdata_export           => reg_unb_system_info_cipo.rddata(c_word_w - 1 downto 0),
-
-      pio_pps_reset_export                      => OPEN,
-      pio_pps_clk_export                        => OPEN,
-      pio_pps_address_export                    => reg_ppsh_copi.address(c_unb2c_board_peripherals_mm_reg_default.reg_ppsh_adr_w - 1 downto 0),
-      pio_pps_write_export                      => reg_ppsh_copi.wr,
-      pio_pps_writedata_export                  => reg_ppsh_copi.wrdata(c_word_w - 1 downto 0),
-      pio_pps_read_export                       => reg_ppsh_copi.rd,
-      pio_pps_readdata_export                   => reg_ppsh_cipo.rddata(c_word_w - 1 downto 0),
-
-      reg_wdi_reset_export                      => OPEN,
-      reg_wdi_clk_export                        => OPEN,
-      reg_wdi_address_export                    => reg_wdi_copi.address(0 downto 0),
-      reg_wdi_write_export                      => reg_wdi_copi.wr,
-      reg_wdi_writedata_export                  => reg_wdi_copi.wrdata(c_word_w - 1 downto 0),
-      reg_wdi_read_export                       => reg_wdi_copi.rd,
-      reg_wdi_readdata_export                   => reg_wdi_cipo.rddata(c_word_w - 1 downto 0),
-
-      reg_remu_reset_export                     => OPEN,
-      reg_remu_clk_export                       => OPEN,
-      reg_remu_address_export                   => reg_remu_copi.address(c_unb2c_board_peripherals_mm_reg_default.reg_remu_adr_w - 1 downto 0),
-      reg_remu_write_export                     => reg_remu_copi.wr,
-      reg_remu_writedata_export                 => reg_remu_copi.wrdata(c_word_w - 1 downto 0),
-      reg_remu_read_export                      => reg_remu_copi.rd,
-      reg_remu_readdata_export                  => reg_remu_cipo.rddata(c_word_w - 1 downto 0),
-
-      jesd204b_reset_export                     => OPEN,
-      jesd204b_clk_export                       => OPEN,
-      jesd204b_address_export                   => jesd204b_copi.address(c_sdp_jesd204b_addr_w - 1 downto 0),
-      jesd204b_write_export                     => jesd204b_copi.wr,
-      jesd204b_writedata_export                 => jesd204b_copi.wrdata(c_word_w - 1 downto 0),
-      jesd204b_read_export                      => jesd204b_copi.rd,
-      jesd204b_readdata_export                  => jesd204b_cipo.rddata(c_word_w - 1 downto 0),
-
-      pio_jesd_ctrl_reset_export                => OPEN,
-      pio_jesd_ctrl_clk_export                  => OPEN,
-      pio_jesd_ctrl_address_export              => jesd_ctrl_copi.address(c_sdp_jesd_ctrl_addr_w - 1 downto 0),
-      pio_jesd_ctrl_write_export                => jesd_ctrl_copi.wr,
-      pio_jesd_ctrl_writedata_export            => jesd_ctrl_copi.wrdata(c_word_w - 1 downto 0),
-      pio_jesd_ctrl_read_export                 => jesd_ctrl_copi.rd,
-      pio_jesd_ctrl_readdata_export             => jesd_ctrl_cipo.rddata(c_word_w - 1 downto 0),
-
-      reg_bsn_monitor_input_address_export      => reg_bsn_monitor_input_copi.address(c_sdp_reg_bsn_monitor_input_addr_w - 1 downto 0),
-      reg_bsn_monitor_input_clk_export          => OPEN,
-      reg_bsn_monitor_input_read_export         => reg_bsn_monitor_input_copi.rd,
-      reg_bsn_monitor_input_readdata_export     => reg_bsn_monitor_input_cipo.rddata(c_word_w - 1 downto 0),
-      reg_bsn_monitor_input_reset_export        => OPEN,
-      reg_bsn_monitor_input_write_export        => reg_bsn_monitor_input_copi.wr,
-      reg_bsn_monitor_input_writedata_export    => reg_bsn_monitor_input_copi.wrdata(c_word_w - 1 downto 0),
+--      rom_system_info_address_export   => rom_unb_system_info_copi.address(9 DOWNTO 0),
+      rom_system_info_address_export   => rom_unb_system_info_copi.address(
+          c_unb2_mm_reg_default.rom_unb_system_info_adr_w - 1 downto 0),
+      rom_system_info_write_export     => rom_unb_system_info_copi.wr,
+      rom_system_info_writedata_export => rom_unb_system_info_copi.wrdata(c_word_w - 1 downto 0),
+      rom_system_info_read_export      => rom_unb_system_info_copi.rd,
+      rom_system_info_readdata_export  => rom_unb_system_info_cipo.rddata(c_word_w - 1 downto 0),
+
+      pio_system_info_reset_export     => OPEN,
+      pio_system_info_clk_export       => OPEN,
+      pio_system_info_address_export   => reg_unb_system_info_copi.address(
+          c_unb2_mm_reg_default.reg_unb_system_info_adr_w - 1 downto 0),
+      pio_system_info_write_export     => reg_unb_system_info_copi.wr,
+      pio_system_info_writedata_export => reg_unb_system_info_copi.wrdata(c_word_w - 1 downto 0),
+      pio_system_info_read_export      => reg_unb_system_info_copi.rd,
+      pio_system_info_readdata_export  => reg_unb_system_info_cipo.rddata(c_word_w - 1 downto 0),
+
+      pio_pps_reset_export     => OPEN,
+      pio_pps_clk_export       => OPEN,
+      pio_pps_address_export   => reg_ppsh_copi.address(c_unb2_mm_reg_default.reg_ppsh_adr_w - 1 downto 0),
+      pio_pps_write_export     => reg_ppsh_copi.wr,
+      pio_pps_writedata_export => reg_ppsh_copi.wrdata(c_word_w - 1 downto 0),
+      pio_pps_read_export      => reg_ppsh_copi.rd,
+      pio_pps_readdata_export  => reg_ppsh_cipo.rddata(c_word_w - 1 downto 0),
+
+      reg_wdi_reset_export     => OPEN,
+      reg_wdi_clk_export       => OPEN,
+      reg_wdi_address_export   => reg_wdi_copi.address(0 downto 0),
+      reg_wdi_write_export     => reg_wdi_copi.wr,
+      reg_wdi_writedata_export => reg_wdi_copi.wrdata(c_word_w - 1 downto 0),
+      reg_wdi_read_export      => reg_wdi_copi.rd,
+      reg_wdi_readdata_export  => reg_wdi_cipo.rddata(c_word_w - 1 downto 0),
+
+      reg_remu_reset_export     => OPEN,
+      reg_remu_clk_export       => OPEN,
+      reg_remu_address_export   => reg_remu_copi.address(c_unb2_mm_reg_default.reg_remu_adr_w - 1 downto 0),
+      reg_remu_write_export     => reg_remu_copi.wr,
+      reg_remu_writedata_export => reg_remu_copi.wrdata(c_word_w - 1 downto 0),
+      reg_remu_read_export      => reg_remu_copi.rd,
+      reg_remu_readdata_export  => reg_remu_cipo.rddata(c_word_w - 1 downto 0),
+
+      jesd204b_reset_export     => OPEN,
+      jesd204b_clk_export       => OPEN,
+      jesd204b_address_export   => jesd204b_copi.address(c_sdp_jesd204b_addr_w - 1 downto 0),
+      jesd204b_write_export     => jesd204b_copi.wr,
+      jesd204b_writedata_export => jesd204b_copi.wrdata(c_word_w - 1 downto 0),
+      jesd204b_read_export      => jesd204b_copi.rd,
+      jesd204b_readdata_export  => jesd204b_cipo.rddata(c_word_w - 1 downto 0),
+
+      pio_jesd_ctrl_reset_export     => OPEN,
+      pio_jesd_ctrl_clk_export       => OPEN,
+      pio_jesd_ctrl_address_export   => jesd_ctrl_copi.address(c_sdp_jesd_ctrl_addr_w - 1 downto 0),
+      pio_jesd_ctrl_write_export     => jesd_ctrl_copi.wr,
+      pio_jesd_ctrl_writedata_export => jesd_ctrl_copi.wrdata(c_word_w - 1 downto 0),
+      pio_jesd_ctrl_read_export      => jesd_ctrl_copi.rd,
+      pio_jesd_ctrl_readdata_export  => jesd_ctrl_cipo.rddata(c_word_w - 1 downto 0),
+
+      reg_bsn_monitor_input_address_export   => reg_bsn_monitor_input_copi.address(
+          c_sdp_reg_bsn_monitor_input_addr_w - 1 downto 0),
+      reg_bsn_monitor_input_clk_export       => OPEN,
+      reg_bsn_monitor_input_read_export      => reg_bsn_monitor_input_copi.rd,
+      reg_bsn_monitor_input_readdata_export  => reg_bsn_monitor_input_cipo.rddata(c_word_w - 1 downto 0),
+      reg_bsn_monitor_input_reset_export     => OPEN,
+      reg_bsn_monitor_input_write_export     => reg_bsn_monitor_input_copi.wr,
+      reg_bsn_monitor_input_writedata_export => reg_bsn_monitor_input_copi.wrdata(c_word_w - 1 downto 0),
 
       -- waveform generators (multiplexed)
-      reg_wg_clk_export                         => OPEN,
-      reg_wg_reset_export                       => OPEN,
-      reg_wg_address_export                     => reg_wg_copi.address(c_sdp_reg_wg_addr_w - 1 downto 0),
-      reg_wg_read_export                        => reg_wg_copi.rd,
-      reg_wg_readdata_export                    => reg_wg_cipo.rddata(c_word_w - 1 downto 0),
-      reg_wg_write_export                       => reg_wg_copi.wr,
-      reg_wg_writedata_export                   => reg_wg_copi.wrdata(c_word_w - 1 downto 0),
-
-      ram_wg_clk_export                         => OPEN,
-      ram_wg_reset_export                       => OPEN,
-      ram_wg_address_export                     => ram_wg_copi.address(c_sdp_ram_wg_addr_w - 1 downto 0),
-      ram_wg_read_export                        => ram_wg_copi.rd,
-      ram_wg_readdata_export                    => ram_wg_cipo.rddata(c_word_w - 1 downto 0),
-      ram_wg_write_export                       => ram_wg_copi.wr,
-      ram_wg_writedata_export                   => ram_wg_copi.wrdata(c_word_w - 1 downto 0),
-
-      reg_dp_shiftram_clk_export                => OPEN,
-      reg_dp_shiftram_reset_export              => OPEN,
-      reg_dp_shiftram_address_export            => reg_dp_shiftram_copi.address(c_sdp_reg_dp_shiftram_addr_w - 1 downto 0),
-      reg_dp_shiftram_read_export               => reg_dp_shiftram_copi.rd,
-      reg_dp_shiftram_readdata_export           => reg_dp_shiftram_cipo.rddata(c_word_w - 1 downto 0),
-      reg_dp_shiftram_write_export              => reg_dp_shiftram_copi.wr,
-      reg_dp_shiftram_writedata_export          => reg_dp_shiftram_copi.wrdata(c_word_w - 1 downto 0),
-
-      reg_bsn_source_v2_clk_export              => OPEN,
-      reg_bsn_source_v2_reset_export            => OPEN,
-      reg_bsn_source_v2_address_export          => reg_bsn_source_v2_copi.address(c_sdp_reg_bsn_source_v2_addr_w - 1 downto 0),
-      reg_bsn_source_v2_read_export             => reg_bsn_source_v2_copi.rd,
-      reg_bsn_source_v2_readdata_export         => reg_bsn_source_v2_cipo.rddata(c_word_w - 1 downto 0),
-      reg_bsn_source_v2_write_export            => reg_bsn_source_v2_copi.wr,
-      reg_bsn_source_v2_writedata_export        => reg_bsn_source_v2_copi.wrdata(c_word_w - 1 downto 0),
-
-      reg_bsn_scheduler_clk_export              => OPEN,
-      reg_bsn_scheduler_reset_export            => OPEN,
-      reg_bsn_scheduler_address_export          => reg_bsn_scheduler_copi.address(c_sdp_reg_bsn_scheduler_addr_w - 1 downto 0),
-      reg_bsn_scheduler_read_export             => reg_bsn_scheduler_copi.rd,
-      reg_bsn_scheduler_readdata_export         => reg_bsn_scheduler_cipo.rddata(c_word_w - 1 downto 0),
-      reg_bsn_scheduler_write_export            => reg_bsn_scheduler_copi.wr,
-      reg_bsn_scheduler_writedata_export        => reg_bsn_scheduler_copi.wrdata(c_word_w - 1 downto 0),
-
-      reg_epcs_reset_export                     => OPEN,
-      reg_epcs_clk_export                       => OPEN,
-      reg_epcs_address_export                   => reg_epcs_copi.address(c_unb2c_board_peripherals_mm_reg_default.reg_epcs_adr_w - 1 downto 0),
-      reg_epcs_write_export                     => reg_epcs_copi.wr,
-      reg_epcs_writedata_export                 => reg_epcs_copi.wrdata(c_word_w - 1 downto 0),
-      reg_epcs_read_export                      => reg_epcs_copi.rd,
-      reg_epcs_readdata_export                  => reg_epcs_cipo.rddata(c_word_w - 1 downto 0),
-
-      reg_dpmm_ctrl_reset_export                => OPEN,
-      reg_dpmm_ctrl_clk_export                  => OPEN,
-      reg_dpmm_ctrl_address_export              => reg_dpmm_ctrl_copi.address(0 downto 0),
-      reg_dpmm_ctrl_write_export                => reg_dpmm_ctrl_copi.wr,
-      reg_dpmm_ctrl_writedata_export            => reg_dpmm_ctrl_copi.wrdata(c_word_w - 1 downto 0),
-      reg_dpmm_ctrl_read_export                 => reg_dpmm_ctrl_copi.rd,
-      reg_dpmm_ctrl_readdata_export             => reg_dpmm_ctrl_cipo.rddata(c_word_w - 1 downto 0),
-
-      reg_mmdp_data_reset_export                => OPEN,
-      reg_mmdp_data_clk_export                  => OPEN,
-      reg_mmdp_data_address_export              => reg_mmdp_data_copi.address(0 downto 0),
-      reg_mmdp_data_write_export                => reg_mmdp_data_copi.wr,
-      reg_mmdp_data_writedata_export            => reg_mmdp_data_copi.wrdata(c_word_w - 1 downto 0),
-      reg_mmdp_data_read_export                 => reg_mmdp_data_copi.rd,
-      reg_mmdp_data_readdata_export             => reg_mmdp_data_cipo.rddata(c_word_w - 1 downto 0),
-
-      reg_dpmm_data_reset_export                => OPEN,
-      reg_dpmm_data_clk_export                  => OPEN,
-      reg_dpmm_data_address_export              => reg_dpmm_data_copi.address(0 downto 0),
-      reg_dpmm_data_read_export                 => reg_dpmm_data_copi.rd,
-      reg_dpmm_data_readdata_export             => reg_dpmm_data_cipo.rddata(c_word_w - 1 downto 0),
-      reg_dpmm_data_write_export                => reg_dpmm_data_copi.wr,
-      reg_dpmm_data_writedata_export            => reg_dpmm_data_copi.wrdata(c_word_w - 1 downto 0),
-
-      reg_mmdp_ctrl_reset_export                => OPEN,
-      reg_mmdp_ctrl_clk_export                  => OPEN,
-      reg_mmdp_ctrl_address_export              => reg_mmdp_ctrl_copi.address(0 downto 0),
-      reg_mmdp_ctrl_read_export                 => reg_mmdp_ctrl_copi.rd,
-      reg_mmdp_ctrl_readdata_export             => reg_mmdp_ctrl_cipo.rddata(c_word_w - 1 downto 0),
-      reg_mmdp_ctrl_write_export                => reg_mmdp_ctrl_copi.wr,
-      reg_mmdp_ctrl_writedata_export            => reg_mmdp_ctrl_copi.wrdata(c_word_w - 1 downto 0),
+      reg_wg_clk_export       => OPEN,
+      reg_wg_reset_export     => OPEN,
+      reg_wg_address_export   => reg_wg_copi.address(c_sdp_reg_wg_addr_w - 1 downto 0),
+      reg_wg_read_export      => reg_wg_copi.rd,
+      reg_wg_readdata_export  => reg_wg_cipo.rddata(c_word_w - 1 downto 0),
+      reg_wg_write_export     => reg_wg_copi.wr,
+      reg_wg_writedata_export => reg_wg_copi.wrdata(c_word_w - 1 downto 0),
+
+      ram_wg_clk_export       => OPEN,
+      ram_wg_reset_export     => OPEN,
+      ram_wg_address_export   => ram_wg_copi.address(c_sdp_ram_wg_addr_w - 1 downto 0),
+      ram_wg_read_export      => ram_wg_copi.rd,
+      ram_wg_readdata_export  => ram_wg_cipo.rddata(c_word_w - 1 downto 0),
+      ram_wg_write_export     => ram_wg_copi.wr,
+      ram_wg_writedata_export => ram_wg_copi.wrdata(c_word_w - 1 downto 0),
+
+      reg_dp_shiftram_clk_export       => OPEN,
+      reg_dp_shiftram_reset_export     => OPEN,
+      reg_dp_shiftram_address_export   => reg_dp_shiftram_copi.address(c_sdp_reg_dp_shiftram_addr_w - 1 downto 0),
+      reg_dp_shiftram_read_export      => reg_dp_shiftram_copi.rd,
+      reg_dp_shiftram_readdata_export  => reg_dp_shiftram_cipo.rddata(c_word_w - 1 downto 0),
+      reg_dp_shiftram_write_export     => reg_dp_shiftram_copi.wr,
+      reg_dp_shiftram_writedata_export => reg_dp_shiftram_copi.wrdata(c_word_w - 1 downto 0),
+
+      reg_bsn_source_v2_clk_export       => OPEN,
+      reg_bsn_source_v2_reset_export     => OPEN,
+      reg_bsn_source_v2_address_export   => reg_bsn_source_v2_copi.address(c_sdp_reg_bsn_source_v2_addr_w - 1 downto 0),
+      reg_bsn_source_v2_read_export      => reg_bsn_source_v2_copi.rd,
+      reg_bsn_source_v2_readdata_export  => reg_bsn_source_v2_cipo.rddata(c_word_w - 1 downto 0),
+      reg_bsn_source_v2_write_export     => reg_bsn_source_v2_copi.wr,
+      reg_bsn_source_v2_writedata_export => reg_bsn_source_v2_copi.wrdata(c_word_w - 1 downto 0),
+
+      reg_bsn_scheduler_clk_export       => OPEN,
+      reg_bsn_scheduler_reset_export     => OPEN,
+      reg_bsn_scheduler_address_export   => reg_bsn_scheduler_copi.address(c_sdp_reg_bsn_scheduler_addr_w - 1 downto 0),
+      reg_bsn_scheduler_read_export      => reg_bsn_scheduler_copi.rd,
+      reg_bsn_scheduler_readdata_export  => reg_bsn_scheduler_cipo.rddata(c_word_w - 1 downto 0),
+      reg_bsn_scheduler_write_export     => reg_bsn_scheduler_copi.wr,
+      reg_bsn_scheduler_writedata_export => reg_bsn_scheduler_copi.wrdata(c_word_w - 1 downto 0),
+
+      reg_epcs_reset_export     => OPEN,
+      reg_epcs_clk_export       => OPEN,
+      reg_epcs_address_export   => reg_epcs_copi.address(c_unb2_mm_reg_default.reg_epcs_adr_w - 1 downto 0),
+      reg_epcs_write_export     => reg_epcs_copi.wr,
+      reg_epcs_writedata_export => reg_epcs_copi.wrdata(c_word_w - 1 downto 0),
+      reg_epcs_read_export      => reg_epcs_copi.rd,
+      reg_epcs_readdata_export  => reg_epcs_cipo.rddata(c_word_w - 1 downto 0),
+
+      reg_dpmm_ctrl_reset_export     => OPEN,
+      reg_dpmm_ctrl_clk_export       => OPEN,
+      reg_dpmm_ctrl_address_export   => reg_dpmm_ctrl_copi.address(0 downto 0),
+      reg_dpmm_ctrl_write_export     => reg_dpmm_ctrl_copi.wr,
+      reg_dpmm_ctrl_writedata_export => reg_dpmm_ctrl_copi.wrdata(c_word_w - 1 downto 0),
+      reg_dpmm_ctrl_read_export      => reg_dpmm_ctrl_copi.rd,
+      reg_dpmm_ctrl_readdata_export  => reg_dpmm_ctrl_cipo.rddata(c_word_w - 1 downto 0),
+
+      reg_mmdp_data_reset_export     => OPEN,
+      reg_mmdp_data_clk_export       => OPEN,
+      reg_mmdp_data_address_export   => reg_mmdp_data_copi.address(0 downto 0),
+      reg_mmdp_data_write_export     => reg_mmdp_data_copi.wr,
+      reg_mmdp_data_writedata_export => reg_mmdp_data_copi.wrdata(c_word_w - 1 downto 0),
+      reg_mmdp_data_read_export      => reg_mmdp_data_copi.rd,
+      reg_mmdp_data_readdata_export  => reg_mmdp_data_cipo.rddata(c_word_w - 1 downto 0),
+
+      reg_dpmm_data_reset_export     => OPEN,
+      reg_dpmm_data_clk_export       => OPEN,
+      reg_dpmm_data_address_export   => reg_dpmm_data_copi.address(0 downto 0),
+      reg_dpmm_data_read_export      => reg_dpmm_data_copi.rd,
+      reg_dpmm_data_readdata_export  => reg_dpmm_data_cipo.rddata(c_word_w - 1 downto 0),
+      reg_dpmm_data_write_export     => reg_dpmm_data_copi.wr,
+      reg_dpmm_data_writedata_export => reg_dpmm_data_copi.wrdata(c_word_w - 1 downto 0),
+
+      reg_mmdp_ctrl_reset_export     => OPEN,
+      reg_mmdp_ctrl_clk_export       => OPEN,
+      reg_mmdp_ctrl_address_export   => reg_mmdp_ctrl_copi.address(0 downto 0),
+      reg_mmdp_ctrl_read_export      => reg_mmdp_ctrl_copi.rd,
+      reg_mmdp_ctrl_readdata_export  => reg_mmdp_ctrl_cipo.rddata(c_word_w - 1 downto 0),
+      reg_mmdp_ctrl_write_export     => reg_mmdp_ctrl_copi.wr,
+      reg_mmdp_ctrl_writedata_export => reg_mmdp_ctrl_copi.wrdata(c_word_w - 1 downto 0),
 
       ram_diag_data_buffer_bsn_clk_export       => OPEN,
       ram_diag_data_buffer_bsn_reset_export     => OPEN,
-      ram_diag_data_buffer_bsn_address_export   => ram_diag_data_buf_bsn_copi.address(c_sdp_ram_diag_data_buf_bsn_addr_w - 1 downto 0),
+      ram_diag_data_buffer_bsn_address_export   => ram_diag_data_buf_bsn_copi.address(
+          c_sdp_ram_diag_data_buf_bsn_addr_w - 1 downto 0),
       ram_diag_data_buffer_bsn_write_export     => ram_diag_data_buf_bsn_copi.wr,
       ram_diag_data_buffer_bsn_writedata_export => ram_diag_data_buf_bsn_copi.wrdata(c_word_w - 1 downto 0),
       ram_diag_data_buffer_bsn_read_export      => ram_diag_data_buf_bsn_copi.rd,
@@ -760,351 +845,399 @@ begin
 
       reg_diag_data_buffer_bsn_reset_export     => OPEN,
       reg_diag_data_buffer_bsn_clk_export       => OPEN,
-      reg_diag_data_buffer_bsn_address_export   => reg_diag_data_buf_bsn_copi.address(c_sdp_reg_diag_data_buf_bsn_addr_w - 1 downto 0),
+      reg_diag_data_buffer_bsn_address_export   => reg_diag_data_buf_bsn_copi.address(
+          c_sdp_reg_diag_data_buf_bsn_addr_w - 1 downto 0),
       reg_diag_data_buffer_bsn_write_export     => reg_diag_data_buf_bsn_copi.wr,
       reg_diag_data_buffer_bsn_writedata_export => reg_diag_data_buf_bsn_copi.wrdata(c_word_w - 1 downto 0),
       reg_diag_data_buffer_bsn_read_export      => reg_diag_data_buf_bsn_copi.rd,
       reg_diag_data_buffer_bsn_readdata_export  => reg_diag_data_buf_bsn_cipo.rddata(c_word_w - 1 downto 0),
 
-      ram_st_histogram_clk_export               => OPEN,
-      ram_st_histogram_reset_export             => OPEN,
-      ram_st_histogram_address_export           => ram_st_histogram_copi.address(c_sdp_ram_st_histogram_addr_w - 1 downto 0),
-      ram_st_histogram_write_export             => ram_st_histogram_copi.wr,
-      ram_st_histogram_writedata_export         => ram_st_histogram_copi.wrdata(c_word_w - 1 downto 0),
-      ram_st_histogram_read_export              => ram_st_histogram_copi.rd,
-      ram_st_histogram_readdata_export          => ram_st_histogram_cipo.rddata(c_word_w - 1 downto 0),
-
-      reg_aduh_monitor_reset_export             => OPEN,
-      reg_aduh_monitor_clk_export               => OPEN,
-      reg_aduh_monitor_address_export           => reg_aduh_monitor_copi.address(c_sdp_reg_aduh_monitor_addr_w - 1 downto 0),
-      reg_aduh_monitor_write_export             => reg_aduh_monitor_copi.wr,
-      reg_aduh_monitor_writedata_export         => reg_aduh_monitor_copi.wrdata(c_word_w - 1 downto 0),
-      reg_aduh_monitor_read_export              => reg_aduh_monitor_copi.rd,
-      reg_aduh_monitor_readdata_export          => reg_aduh_monitor_cipo.rddata(c_word_w - 1 downto 0),
-
-      ram_fil_coefs_clk_export                  => OPEN,
-      ram_fil_coefs_reset_export                => OPEN,
-      ram_fil_coefs_address_export              => ram_fil_coefs_copi.address(c_sdp_ram_fil_coefs_addr_w - 1 downto 0),
-      ram_fil_coefs_write_export                => ram_fil_coefs_copi.wr,
-      ram_fil_coefs_writedata_export            => ram_fil_coefs_copi.wrdata(c_word_w - 1 downto 0),
-      ram_fil_coefs_read_export                 => ram_fil_coefs_copi.rd,
-      ram_fil_coefs_readdata_export             => ram_fil_coefs_cipo.rddata(c_word_w - 1 downto 0),
-
-      ram_st_sst_clk_export                     => OPEN,
-      ram_st_sst_reset_export                   => OPEN,
-      ram_st_sst_address_export                 => ram_st_sst_copi.address(c_sdp_ram_st_sst_addr_w - 1 downto 0),
-      ram_st_sst_write_export                   => ram_st_sst_copi.wr,
-      ram_st_sst_writedata_export               => ram_st_sst_copi.wrdata(c_word_w - 1 downto 0),
-      ram_st_sst_read_export                    => ram_st_sst_copi.rd,
-      ram_st_sst_readdata_export                => ram_st_sst_cipo.rddata(c_word_w - 1 downto 0),
-
-      reg_si_clk_export                         => OPEN,
-      reg_si_reset_export                       => OPEN,
-      reg_si_address_export                     => reg_si_copi.address(c_sdp_reg_si_addr_w - 1 downto 0),
-      reg_si_write_export                       => reg_si_copi.wr,
-      reg_si_writedata_export                   => reg_si_copi.wrdata(c_word_w - 1 downto 0),
-      reg_si_read_export                        => reg_si_copi.rd,
-      reg_si_readdata_export                    => reg_si_cipo.rddata(c_word_w - 1 downto 0),
-
-      ram_equalizer_gains_clk_export            => OPEN,
-      ram_equalizer_gains_reset_export          => OPEN,
-      ram_equalizer_gains_address_export        => ram_equalizer_gains_copi.address(c_sdp_ram_equalizer_gains_addr_w - 1 downto 0),
-      ram_equalizer_gains_write_export          => ram_equalizer_gains_copi.wr,
-      ram_equalizer_gains_writedata_export      => ram_equalizer_gains_copi.wrdata(c_word_w - 1 downto 0),
-      ram_equalizer_gains_read_export           => ram_equalizer_gains_copi.rd,
-      ram_equalizer_gains_readdata_export       => ram_equalizer_gains_cipo.rddata(c_word_w - 1 downto 0),
+      ram_st_histogram_clk_export       => OPEN,
+      ram_st_histogram_reset_export     => OPEN,
+      ram_st_histogram_address_export   => ram_st_histogram_copi.address(c_sdp_ram_st_histogram_addr_w - 1 downto 0),
+      ram_st_histogram_write_export     => ram_st_histogram_copi.wr,
+      ram_st_histogram_writedata_export => ram_st_histogram_copi.wrdata(c_word_w - 1 downto 0),
+      ram_st_histogram_read_export      => ram_st_histogram_copi.rd,
+      ram_st_histogram_readdata_export  => ram_st_histogram_cipo.rddata(c_word_w - 1 downto 0),
+
+      reg_aduh_monitor_reset_export     => OPEN,
+      reg_aduh_monitor_clk_export       => OPEN,
+      reg_aduh_monitor_address_export   => reg_aduh_monitor_copi.address(c_sdp_reg_aduh_monitor_addr_w - 1 downto 0),
+      reg_aduh_monitor_write_export     => reg_aduh_monitor_copi.wr,
+      reg_aduh_monitor_writedata_export => reg_aduh_monitor_copi.wrdata(c_word_w - 1 downto 0),
+      reg_aduh_monitor_read_export      => reg_aduh_monitor_copi.rd,
+      reg_aduh_monitor_readdata_export  => reg_aduh_monitor_cipo.rddata(c_word_w - 1 downto 0),
+
+      ram_fil_coefs_clk_export       => OPEN,
+      ram_fil_coefs_reset_export     => OPEN,
+      ram_fil_coefs_address_export   => ram_fil_coefs_copi.address(c_sdp_ram_fil_coefs_addr_w - 1 downto 0),
+      ram_fil_coefs_write_export     => ram_fil_coefs_copi.wr,
+      ram_fil_coefs_writedata_export => ram_fil_coefs_copi.wrdata(c_word_w - 1 downto 0),
+      ram_fil_coefs_read_export      => ram_fil_coefs_copi.rd,
+      ram_fil_coefs_readdata_export  => ram_fil_coefs_cipo.rddata(c_word_w - 1 downto 0),
+
+      ram_st_sst_clk_export       => OPEN,
+      ram_st_sst_reset_export     => OPEN,
+      ram_st_sst_address_export   => ram_st_sst_copi.address(c_sdp_ram_st_sst_addr_w - 1 downto 0),
+      ram_st_sst_write_export     => ram_st_sst_copi.wr,
+      ram_st_sst_writedata_export => ram_st_sst_copi.wrdata(c_word_w - 1 downto 0),
+      ram_st_sst_read_export      => ram_st_sst_copi.rd,
+      ram_st_sst_readdata_export  => ram_st_sst_cipo.rddata(c_word_w - 1 downto 0),
+
+      reg_si_clk_export       => OPEN,
+      reg_si_reset_export     => OPEN,
+      reg_si_address_export   => reg_si_copi.address(c_sdp_reg_si_addr_w - 1 downto 0),
+      reg_si_write_export     => reg_si_copi.wr,
+      reg_si_writedata_export => reg_si_copi.wrdata(c_word_w - 1 downto 0),
+      reg_si_read_export      => reg_si_copi.rd,
+      reg_si_readdata_export  => reg_si_cipo.rddata(c_word_w - 1 downto 0),
+
+      ram_equalizer_gains_clk_export       => OPEN,
+      ram_equalizer_gains_reset_export     => OPEN,
+      ram_equalizer_gains_address_export   => ram_equalizer_gains_copi.address(
+          c_sdp_ram_equalizer_gains_addr_w - 1 downto 0),
+      ram_equalizer_gains_write_export     => ram_equalizer_gains_copi.wr,
+      ram_equalizer_gains_writedata_export => ram_equalizer_gains_copi.wrdata(c_word_w - 1 downto 0),
+      ram_equalizer_gains_read_export      => ram_equalizer_gains_copi.rd,
+      ram_equalizer_gains_readdata_export  => ram_equalizer_gains_cipo.rddata(c_word_w - 1 downto 0),
 
       ram_equalizer_gains_cross_clk_export       => OPEN,
       ram_equalizer_gains_cross_reset_export     => OPEN,
-      ram_equalizer_gains_cross_address_export   => ram_equalizer_gains_cross_copi.address(c_sdp_ram_equalizer_gains_addr_w - 1 downto 0),
+      ram_equalizer_gains_cross_address_export   => ram_equalizer_gains_cross_copi.address(
+          c_sdp_ram_equalizer_gains_addr_w - 1 downto 0),
       ram_equalizer_gains_cross_write_export     => ram_equalizer_gains_cross_copi.wr,
       ram_equalizer_gains_cross_writedata_export => ram_equalizer_gains_cross_copi.wrdata(c_word_w - 1 downto 0),
       ram_equalizer_gains_cross_read_export      => ram_equalizer_gains_cross_copi.rd,
       ram_equalizer_gains_cross_readdata_export  => ram_equalizer_gains_cross_cipo.rddata(c_word_w - 1 downto 0),
 
-      reg_dp_selector_clk_export                => OPEN,
-      reg_dp_selector_reset_export              => OPEN,
-      reg_dp_selector_address_export            => reg_dp_selector_copi.address(c_sdp_reg_dp_selector_addr_w - 1 downto 0),
-      reg_dp_selector_write_export              => reg_dp_selector_copi.wr,
-      reg_dp_selector_writedata_export          => reg_dp_selector_copi.wrdata(c_word_w - 1 downto 0),
-      reg_dp_selector_read_export               => reg_dp_selector_copi.rd,
-      reg_dp_selector_readdata_export           => reg_dp_selector_cipo.rddata(c_word_w - 1 downto 0),
-
-      reg_sdp_info_clk_export                   => OPEN,
-      reg_sdp_info_reset_export                 => OPEN,
-      reg_sdp_info_address_export               => reg_sdp_info_copi.address(c_sdp_reg_sdp_info_addr_w - 1 downto 0),
-      reg_sdp_info_write_export                 => reg_sdp_info_copi.wr,
-      reg_sdp_info_writedata_export             => reg_sdp_info_copi.wrdata(c_word_w - 1 downto 0),
-      reg_sdp_info_read_export                  => reg_sdp_info_copi.rd,
-      reg_sdp_info_readdata_export              => reg_sdp_info_cipo.rddata(c_word_w - 1 downto 0),
-
-      reg_ring_info_clk_export                  => OPEN,
-      reg_ring_info_reset_export                => OPEN,
-      reg_ring_info_address_export              => reg_ring_info_copi.address(c_sdp_reg_ring_info_addr_w - 1 downto 0),
-      reg_ring_info_write_export                => reg_ring_info_copi.wr,
-      reg_ring_info_writedata_export            => reg_ring_info_copi.wrdata(c_word_w - 1 downto 0),
-      reg_ring_info_read_export                 => reg_ring_info_copi.rd,
-      reg_ring_info_readdata_export             => reg_ring_info_cipo.rddata(c_word_w - 1 downto 0),
-
-      ram_ss_ss_wide_clk_export                 => OPEN,
-      ram_ss_ss_wide_reset_export               => OPEN,
-      ram_ss_ss_wide_address_export             => ram_ss_ss_wide_copi.address(c_sdp_ram_ss_ss_wide_addr_w - 1 downto 0),
-      ram_ss_ss_wide_write_export               => ram_ss_ss_wide_copi.wr,
-      ram_ss_ss_wide_writedata_export           => ram_ss_ss_wide_copi.wrdata(c_word_w - 1 downto 0),
-      ram_ss_ss_wide_read_export                => ram_ss_ss_wide_copi.rd,
-      ram_ss_ss_wide_readdata_export            => ram_ss_ss_wide_cipo.rddata(c_word_w - 1 downto 0),
-
-      ram_bf_weights_clk_export                 => OPEN,
-      ram_bf_weights_reset_export               => OPEN,
-      ram_bf_weights_address_export             => ram_bf_weights_copi.address(c_sdp_ram_bf_weights_addr_w - 1 downto 0),
-      ram_bf_weights_write_export               => ram_bf_weights_copi.wr,
-      ram_bf_weights_writedata_export           => ram_bf_weights_copi.wrdata(c_word_w - 1 downto 0),
-      ram_bf_weights_read_export                => ram_bf_weights_copi.rd,
-      ram_bf_weights_readdata_export            => ram_bf_weights_cipo.rddata(c_word_w - 1 downto 0),
-
-      reg_bf_scale_clk_export                   => OPEN,
-      reg_bf_scale_reset_export                 => OPEN,
-      reg_bf_scale_address_export               => reg_bf_scale_copi.address(c_sdp_reg_bf_scale_addr_w - 1 downto 0),
-      reg_bf_scale_write_export                 => reg_bf_scale_copi.wr,
-      reg_bf_scale_writedata_export             => reg_bf_scale_copi.wrdata(c_word_w - 1 downto 0),
-      reg_bf_scale_read_export                  => reg_bf_scale_copi.rd,
-      reg_bf_scale_readdata_export              => reg_bf_scale_cipo.rddata(c_word_w - 1 downto 0),
-
-      reg_hdr_dat_clk_export                    => OPEN,
-      reg_hdr_dat_reset_export                  => OPEN,
-      reg_hdr_dat_address_export                => reg_hdr_dat_copi.address(c_sdp_reg_bf_hdr_dat_addr_w - 1 downto 0),
-      reg_hdr_dat_write_export                  => reg_hdr_dat_copi.wr,
-      reg_hdr_dat_writedata_export              => reg_hdr_dat_copi.wrdata(c_word_w - 1 downto 0),
-      reg_hdr_dat_read_export                   => reg_hdr_dat_copi.rd,
-      reg_hdr_dat_readdata_export               => reg_hdr_dat_cipo.rddata(c_word_w - 1 downto 0),
-
-      reg_bdo_destinations_clk_export           => OPEN,
-      reg_bdo_destinations_reset_export         => OPEN,
-      reg_bdo_destinations_address_export       => reg_bdo_destinations_copi.address(c_sdp_reg_bdo_destinations_info_w - 1 downto 0),
-      reg_bdo_destinations_write_export         => reg_bdo_destinations_copi.wr,
-      reg_bdo_destinations_writedata_export     => reg_bdo_destinations_copi.wrdata(c_word_w - 1 downto 0),
-      reg_bdo_destinations_read_export          => reg_bdo_destinations_copi.rd,
-      reg_bdo_destinations_readdata_export      => reg_bdo_destinations_cipo.rddata(c_word_w - 1 downto 0),
-
-      reg_dp_xonoff_clk_export                  => OPEN,
-      reg_dp_xonoff_reset_export                => OPEN,
-      reg_dp_xonoff_address_export              => reg_dp_xonoff_copi.address(c_sdp_reg_dp_xonoff_addr_w - 1 downto 0),
-      reg_dp_xonoff_write_export                => reg_dp_xonoff_copi.wr,
-      reg_dp_xonoff_writedata_export            => reg_dp_xonoff_copi.wrdata(c_word_w - 1 downto 0),
-      reg_dp_xonoff_read_export                 => reg_dp_xonoff_copi.rd,
-      reg_dp_xonoff_readdata_export             => reg_dp_xonoff_cipo.rddata(c_word_w - 1 downto 0),
-
-      ram_st_bst_clk_export                     => OPEN,
-      ram_st_bst_reset_export                   => OPEN,
-      ram_st_bst_address_export                 => ram_st_bst_copi.address(c_sdp_ram_st_bst_addr_w - 1 downto 0),
-      ram_st_bst_write_export                   => ram_st_bst_copi.wr,
-      ram_st_bst_writedata_export               => ram_st_bst_copi.wrdata(c_word_w - 1 downto 0),
-      ram_st_bst_read_export                    => ram_st_bst_copi.rd,
-      ram_st_bst_readdata_export                => ram_st_bst_cipo.rddata(c_word_w - 1 downto 0),
-
-      reg_stat_enable_sst_clk_export            => OPEN,
-      reg_stat_enable_sst_reset_export          => OPEN,
-      reg_stat_enable_sst_address_export        => reg_stat_enable_sst_copi.address(c_sdp_reg_stat_enable_addr_w - 1 downto 0),
-      reg_stat_enable_sst_write_export          => reg_stat_enable_sst_copi.wr,
-      reg_stat_enable_sst_writedata_export      => reg_stat_enable_sst_copi.wrdata(c_word_w - 1 downto 0),
-      reg_stat_enable_sst_read_export           => reg_stat_enable_sst_copi.rd,
-      reg_stat_enable_sst_readdata_export       => reg_stat_enable_sst_cipo.rddata(c_word_w - 1 downto 0),
-
-      reg_stat_hdr_dat_sst_clk_export           => OPEN,
-      reg_stat_hdr_dat_sst_reset_export         => OPEN,
-      reg_stat_hdr_dat_sst_address_export       => reg_stat_hdr_dat_sst_copi.address(c_sdp_reg_stat_hdr_dat_addr_w - 1 downto 0),
-      reg_stat_hdr_dat_sst_write_export         => reg_stat_hdr_dat_sst_copi.wr,
-      reg_stat_hdr_dat_sst_writedata_export     => reg_stat_hdr_dat_sst_copi.wrdata(c_word_w - 1 downto 0),
-      reg_stat_hdr_dat_sst_read_export          => reg_stat_hdr_dat_sst_copi.rd,
-      reg_stat_hdr_dat_sst_readdata_export      => reg_stat_hdr_dat_sst_cipo.rddata(c_word_w - 1 downto 0),
-
-      reg_stat_enable_xst_clk_export            => OPEN,
-      reg_stat_enable_xst_reset_export          => OPEN,
-      reg_stat_enable_xst_address_export        => reg_stat_enable_xst_copi.address(c_sdp_reg_stat_enable_addr_w - 1 downto 0),
-      reg_stat_enable_xst_write_export          => reg_stat_enable_xst_copi.wr,
-      reg_stat_enable_xst_writedata_export      => reg_stat_enable_xst_copi.wrdata(c_word_w - 1 downto 0),
-      reg_stat_enable_xst_read_export           => reg_stat_enable_xst_copi.rd,
-      reg_stat_enable_xst_readdata_export       => reg_stat_enable_xst_cipo.rddata(c_word_w - 1 downto 0),
-
-      reg_stat_hdr_dat_xst_clk_export           => OPEN,
-      reg_stat_hdr_dat_xst_reset_export         => OPEN,
-      reg_stat_hdr_dat_xst_address_export       => reg_stat_hdr_dat_xst_copi.address(c_sdp_reg_stat_hdr_dat_addr_w - 1 downto 0),
-      reg_stat_hdr_dat_xst_write_export         => reg_stat_hdr_dat_xst_copi.wr,
-      reg_stat_hdr_dat_xst_writedata_export     => reg_stat_hdr_dat_xst_copi.wrdata(c_word_w - 1 downto 0),
-      reg_stat_hdr_dat_xst_read_export          => reg_stat_hdr_dat_xst_copi.rd,
-      reg_stat_hdr_dat_xst_readdata_export      => reg_stat_hdr_dat_xst_cipo.rddata(c_word_w - 1 downto 0),
-
-      reg_stat_enable_bst_clk_export            => OPEN,
-      reg_stat_enable_bst_reset_export          => OPEN,
-      reg_stat_enable_bst_address_export        => reg_stat_enable_bst_copi.address(c_sdp_reg_stat_enable_bst_addr_w - 1 downto 0),
-      reg_stat_enable_bst_write_export          => reg_stat_enable_bst_copi.wr,
-      reg_stat_enable_bst_writedata_export      => reg_stat_enable_bst_copi.wrdata(c_word_w - 1 downto 0),
-      reg_stat_enable_bst_read_export           => reg_stat_enable_bst_copi.rd,
-      reg_stat_enable_bst_readdata_export       => reg_stat_enable_bst_cipo.rddata(c_word_w - 1 downto 0),
-
-      reg_stat_hdr_dat_bst_clk_export           => OPEN,
-      reg_stat_hdr_dat_bst_reset_export         => OPEN,
-      reg_stat_hdr_dat_bst_address_export       => reg_stat_hdr_dat_bst_copi.address(c_sdp_reg_stat_hdr_dat_bst_addr_w - 1 downto 0),
-      reg_stat_hdr_dat_bst_write_export         => reg_stat_hdr_dat_bst_copi.wr,
-      reg_stat_hdr_dat_bst_writedata_export     => reg_stat_hdr_dat_bst_copi.wrdata(c_word_w - 1 downto 0),
-      reg_stat_hdr_dat_bst_read_export          => reg_stat_hdr_dat_bst_copi.rd,
-      reg_stat_hdr_dat_bst_readdata_export      => reg_stat_hdr_dat_bst_cipo.rddata(c_word_w - 1 downto 0),
-
-      reg_crosslets_info_clk_export             => OPEN,
-      reg_crosslets_info_reset_export           => OPEN,
-      reg_crosslets_info_address_export         => reg_crosslets_info_copi.address(c_sdp_reg_crosslets_info_addr_w - 1 downto 0),
-      reg_crosslets_info_write_export           => reg_crosslets_info_copi.wr,
-      reg_crosslets_info_writedata_export       => reg_crosslets_info_copi.wrdata(c_word_w - 1 downto 0),
-      reg_crosslets_info_read_export            => reg_crosslets_info_copi.rd,
-      reg_crosslets_info_readdata_export        => reg_crosslets_info_cipo.rddata(c_word_w - 1 downto 0),
-
-      reg_nof_crosslets_clk_export              => OPEN,
-      reg_nof_crosslets_reset_export            => OPEN,
-      reg_nof_crosslets_address_export          => reg_nof_crosslets_copi.address(c_sdp_reg_nof_crosslets_addr_w - 1 downto 0),
-      reg_nof_crosslets_write_export            => reg_nof_crosslets_copi.wr,
-      reg_nof_crosslets_writedata_export        => reg_nof_crosslets_copi.wrdata(c_word_w - 1 downto 0),
-      reg_nof_crosslets_read_export             => reg_nof_crosslets_copi.rd,
-      reg_nof_crosslets_readdata_export         => reg_nof_crosslets_cipo.rddata(c_word_w - 1 downto 0),
-
-      reg_bsn_sync_scheduler_xsub_clk_export         => OPEN,
-      reg_bsn_sync_scheduler_xsub_reset_export       => OPEN,
-      reg_bsn_sync_scheduler_xsub_address_export     => reg_bsn_sync_scheduler_xsub_copi.address(c_sdp_reg_bsn_sync_scheduler_xsub_addr_w - 1 downto 0),
-      reg_bsn_sync_scheduler_xsub_write_export       => reg_bsn_sync_scheduler_xsub_copi.wr,
-      reg_bsn_sync_scheduler_xsub_writedata_export   => reg_bsn_sync_scheduler_xsub_copi.wrdata(c_word_w - 1 downto 0),
-      reg_bsn_sync_scheduler_xsub_read_export        => reg_bsn_sync_scheduler_xsub_copi.rd,
-      reg_bsn_sync_scheduler_xsub_readdata_export    => reg_bsn_sync_scheduler_xsub_cipo.rddata(c_word_w - 1 downto 0),
-
-      ram_st_xsq_clk_export                     => OPEN,
-      ram_st_xsq_reset_export                   => OPEN,
-      ram_st_xsq_address_export                 => ram_st_xsq_copi.address(c_sdp_ram_st_xsq_arr_addr_w - 1 downto 0),
-      ram_st_xsq_write_export                   => ram_st_xsq_copi.wr,
-      ram_st_xsq_writedata_export               => ram_st_xsq_copi.wrdata(c_word_w - 1 downto 0),
-      ram_st_xsq_read_export                    => ram_st_xsq_copi.rd,
-      ram_st_xsq_readdata_export                => ram_st_xsq_cipo.rddata(c_word_w - 1 downto 0),
-
-      reg_nw_10GbE_mac_clk_export               => OPEN,
-      reg_nw_10GbE_mac_reset_export             => OPEN,
-      reg_nw_10GbE_mac_address_export           => reg_nw_10GbE_mac_copi.address(c_sdp_reg_nw_10GbE_mac_addr_w - 1 downto 0),
-      reg_nw_10GbE_mac_write_export             => reg_nw_10GbE_mac_copi.wr,
-      reg_nw_10GbE_mac_writedata_export         => reg_nw_10GbE_mac_copi.wrdata(c_word_w - 1 downto 0),
-      reg_nw_10GbE_mac_read_export              => reg_nw_10GbE_mac_copi.rd,
-      reg_nw_10GbE_mac_readdata_export          => reg_nw_10GbE_mac_cipo.rddata(c_word_w - 1 downto 0),
-
-      reg_nw_10GbE_eth10g_clk_export            => OPEN,
-      reg_nw_10GbE_eth10g_reset_export          => OPEN,
-      reg_nw_10GbE_eth10g_address_export        => reg_nw_10GbE_eth10g_copi.address(c_sdp_reg_nw_10GbE_eth10g_addr_w - 1 downto 0),
-      reg_nw_10GbE_eth10g_write_export          => reg_nw_10GbE_eth10g_copi.wr,
-      reg_nw_10GbE_eth10g_writedata_export      => reg_nw_10GbE_eth10g_copi.wrdata(c_word_w - 1 downto 0),
-      reg_nw_10GbE_eth10g_read_export           => reg_nw_10GbE_eth10g_copi.rd,
-      reg_nw_10GbE_eth10g_readdata_export       => reg_nw_10GbE_eth10g_cipo.rddata(c_word_w - 1 downto 0),
-
-      reg_bsn_align_v2_bf_clk_export          => OPEN,
-      reg_bsn_align_v2_bf_reset_export        => OPEN,
-      reg_bsn_align_v2_bf_address_export      => reg_bsn_align_v2_bf_copi.address(c_sdp_reg_bsn_align_v2_bf_addr_w - 1 downto 0),
-      reg_bsn_align_v2_bf_write_export        => reg_bsn_align_v2_bf_copi.wr,
-      reg_bsn_align_v2_bf_writedata_export    => reg_bsn_align_v2_bf_copi.wrdata(c_word_w - 1 downto 0),
-      reg_bsn_align_v2_bf_read_export         => reg_bsn_align_v2_bf_copi.rd,
-      reg_bsn_align_v2_bf_readdata_export     => reg_bsn_align_v2_bf_cipo.rddata(c_word_w - 1 downto 0),
+      reg_dp_selector_clk_export       => OPEN,
+      reg_dp_selector_reset_export     => OPEN,
+      reg_dp_selector_address_export   => reg_dp_selector_copi.address(c_sdp_reg_dp_selector_addr_w - 1 downto 0),
+      reg_dp_selector_write_export     => reg_dp_selector_copi.wr,
+      reg_dp_selector_writedata_export => reg_dp_selector_copi.wrdata(c_word_w - 1 downto 0),
+      reg_dp_selector_read_export      => reg_dp_selector_copi.rd,
+      reg_dp_selector_readdata_export  => reg_dp_selector_cipo.rddata(c_word_w - 1 downto 0),
+
+      reg_sdp_info_clk_export       => OPEN,
+      reg_sdp_info_reset_export     => OPEN,
+      reg_sdp_info_address_export   => reg_sdp_info_copi.address(c_sdp_reg_sdp_info_addr_w - 1 downto 0),
+      reg_sdp_info_write_export     => reg_sdp_info_copi.wr,
+      reg_sdp_info_writedata_export => reg_sdp_info_copi.wrdata(c_word_w - 1 downto 0),
+      reg_sdp_info_read_export      => reg_sdp_info_copi.rd,
+      reg_sdp_info_readdata_export  => reg_sdp_info_cipo.rddata(c_word_w - 1 downto 0),
+
+      reg_ring_info_clk_export       => OPEN,
+      reg_ring_info_reset_export     => OPEN,
+      reg_ring_info_address_export   => reg_ring_info_copi.address(c_sdp_reg_ring_info_addr_w - 1 downto 0),
+      reg_ring_info_write_export     => reg_ring_info_copi.wr,
+      reg_ring_info_writedata_export => reg_ring_info_copi.wrdata(c_word_w - 1 downto 0),
+      reg_ring_info_read_export      => reg_ring_info_copi.rd,
+      reg_ring_info_readdata_export  => reg_ring_info_cipo.rddata(c_word_w - 1 downto 0),
+
+      ram_ss_ss_wide_clk_export       => OPEN,
+      ram_ss_ss_wide_reset_export     => OPEN,
+      ram_ss_ss_wide_address_export   => ram_ss_ss_wide_copi.address(c_sdp_ram_ss_ss_wide_addr_w - 1 downto 0),
+      ram_ss_ss_wide_write_export     => ram_ss_ss_wide_copi.wr,
+      ram_ss_ss_wide_writedata_export => ram_ss_ss_wide_copi.wrdata(c_word_w - 1 downto 0),
+      ram_ss_ss_wide_read_export      => ram_ss_ss_wide_copi.rd,
+      ram_ss_ss_wide_readdata_export  => ram_ss_ss_wide_cipo.rddata(c_word_w - 1 downto 0),
+
+      ram_bf_weights_clk_export       => OPEN,
+      ram_bf_weights_reset_export     => OPEN,
+      ram_bf_weights_address_export   => ram_bf_weights_copi.address(c_sdp_ram_bf_weights_addr_w - 1 downto 0),
+      ram_bf_weights_write_export     => ram_bf_weights_copi.wr,
+      ram_bf_weights_writedata_export => ram_bf_weights_copi.wrdata(c_word_w - 1 downto 0),
+      ram_bf_weights_read_export      => ram_bf_weights_copi.rd,
+      ram_bf_weights_readdata_export  => ram_bf_weights_cipo.rddata(c_word_w - 1 downto 0),
+
+      reg_bf_scale_clk_export       => OPEN,
+      reg_bf_scale_reset_export     => OPEN,
+      reg_bf_scale_address_export   => reg_bf_scale_copi.address(c_sdp_reg_bf_scale_addr_w - 1 downto 0),
+      reg_bf_scale_write_export     => reg_bf_scale_copi.wr,
+      reg_bf_scale_writedata_export => reg_bf_scale_copi.wrdata(c_word_w - 1 downto 0),
+      reg_bf_scale_read_export      => reg_bf_scale_copi.rd,
+      reg_bf_scale_readdata_export  => reg_bf_scale_cipo.rddata(c_word_w - 1 downto 0),
+
+      reg_hdr_dat_clk_export       => OPEN,
+      reg_hdr_dat_reset_export     => OPEN,
+      reg_hdr_dat_address_export   => reg_hdr_dat_copi.address(c_sdp_reg_bf_hdr_dat_addr_w - 1 downto 0),
+      reg_hdr_dat_write_export     => reg_hdr_dat_copi.wr,
+      reg_hdr_dat_writedata_export => reg_hdr_dat_copi.wrdata(c_word_w - 1 downto 0),
+      reg_hdr_dat_read_export      => reg_hdr_dat_copi.rd,
+      reg_hdr_dat_readdata_export  => reg_hdr_dat_cipo.rddata(c_word_w - 1 downto 0),
+
+      reg_bdo_destinations_clk_export       => OPEN,
+      reg_bdo_destinations_reset_export     => OPEN,
+      reg_bdo_destinations_address_export   => reg_bdo_destinations_copi.address(
+          c_sdp_reg_bdo_destinations_info_w - 1 downto 0),
+      reg_bdo_destinations_write_export     => reg_bdo_destinations_copi.wr,
+      reg_bdo_destinations_writedata_export => reg_bdo_destinations_copi.wrdata(c_word_w - 1 downto 0),
+      reg_bdo_destinations_read_export      => reg_bdo_destinations_copi.rd,
+      reg_bdo_destinations_readdata_export  => reg_bdo_destinations_cipo.rddata(c_word_w - 1 downto 0),
+
+      reg_dp_xonoff_clk_export       => OPEN,
+      reg_dp_xonoff_reset_export     => OPEN,
+      reg_dp_xonoff_address_export   => reg_dp_xonoff_copi.address(c_sdp_reg_dp_xonoff_addr_w - 1 downto 0),
+      reg_dp_xonoff_write_export     => reg_dp_xonoff_copi.wr,
+      reg_dp_xonoff_writedata_export => reg_dp_xonoff_copi.wrdata(c_word_w - 1 downto 0),
+      reg_dp_xonoff_read_export      => reg_dp_xonoff_copi.rd,
+      reg_dp_xonoff_readdata_export  => reg_dp_xonoff_cipo.rddata(c_word_w - 1 downto 0),
+
+      ram_st_bst_clk_export       => OPEN,
+      ram_st_bst_reset_export     => OPEN,
+      ram_st_bst_address_export   => ram_st_bst_copi.address(c_sdp_ram_st_bst_addr_w - 1 downto 0),
+      ram_st_bst_write_export     => ram_st_bst_copi.wr,
+      ram_st_bst_writedata_export => ram_st_bst_copi.wrdata(c_word_w - 1 downto 0),
+      ram_st_bst_read_export      => ram_st_bst_copi.rd,
+      ram_st_bst_readdata_export  => ram_st_bst_cipo.rddata(c_word_w - 1 downto 0),
+
+      reg_stat_enable_sst_clk_export       => OPEN,
+      reg_stat_enable_sst_reset_export     => OPEN,
+      reg_stat_enable_sst_address_export   => reg_stat_enable_sst_copi.address(
+          c_sdp_reg_stat_enable_addr_w - 1 downto 0),
+      reg_stat_enable_sst_write_export     => reg_stat_enable_sst_copi.wr,
+      reg_stat_enable_sst_writedata_export => reg_stat_enable_sst_copi.wrdata(c_word_w - 1 downto 0),
+      reg_stat_enable_sst_read_export      => reg_stat_enable_sst_copi.rd,
+      reg_stat_enable_sst_readdata_export  => reg_stat_enable_sst_cipo.rddata(c_word_w - 1 downto 0),
+
+      reg_stat_hdr_dat_sst_clk_export       => OPEN,
+      reg_stat_hdr_dat_sst_reset_export     => OPEN,
+      reg_stat_hdr_dat_sst_address_export   => reg_stat_hdr_dat_sst_copi.address(
+          c_sdp_reg_stat_hdr_dat_addr_w - 1 downto 0),
+      reg_stat_hdr_dat_sst_write_export     => reg_stat_hdr_dat_sst_copi.wr,
+      reg_stat_hdr_dat_sst_writedata_export => reg_stat_hdr_dat_sst_copi.wrdata(c_word_w - 1 downto 0),
+      reg_stat_hdr_dat_sst_read_export      => reg_stat_hdr_dat_sst_copi.rd,
+      reg_stat_hdr_dat_sst_readdata_export  => reg_stat_hdr_dat_sst_cipo.rddata(c_word_w - 1 downto 0),
+
+      reg_stat_enable_xst_clk_export       => OPEN,
+      reg_stat_enable_xst_reset_export     => OPEN,
+      reg_stat_enable_xst_address_export   => reg_stat_enable_xst_copi.address(
+          c_sdp_reg_stat_enable_addr_w - 1 downto 0),
+      reg_stat_enable_xst_write_export     => reg_stat_enable_xst_copi.wr,
+      reg_stat_enable_xst_writedata_export => reg_stat_enable_xst_copi.wrdata(c_word_w - 1 downto 0),
+      reg_stat_enable_xst_read_export      => reg_stat_enable_xst_copi.rd,
+      reg_stat_enable_xst_readdata_export  => reg_stat_enable_xst_cipo.rddata(c_word_w - 1 downto 0),
+
+      reg_stat_hdr_dat_xst_clk_export       => OPEN,
+      reg_stat_hdr_dat_xst_reset_export     => OPEN,
+      reg_stat_hdr_dat_xst_address_export   => reg_stat_hdr_dat_xst_copi.address(
+          c_sdp_reg_stat_hdr_dat_addr_w - 1 downto 0),
+      reg_stat_hdr_dat_xst_write_export     => reg_stat_hdr_dat_xst_copi.wr,
+      reg_stat_hdr_dat_xst_writedata_export => reg_stat_hdr_dat_xst_copi.wrdata(c_word_w - 1 downto 0),
+      reg_stat_hdr_dat_xst_read_export      => reg_stat_hdr_dat_xst_copi.rd,
+      reg_stat_hdr_dat_xst_readdata_export  => reg_stat_hdr_dat_xst_cipo.rddata(c_word_w - 1 downto 0),
+
+      reg_stat_enable_bst_clk_export       => OPEN,
+      reg_stat_enable_bst_reset_export     => OPEN,
+      reg_stat_enable_bst_address_export   => reg_stat_enable_bst_copi.address(
+          c_sdp_reg_stat_enable_bst_addr_w - 1 downto 0),
+      reg_stat_enable_bst_write_export     => reg_stat_enable_bst_copi.wr,
+      reg_stat_enable_bst_writedata_export => reg_stat_enable_bst_copi.wrdata(c_word_w - 1 downto 0),
+      reg_stat_enable_bst_read_export      => reg_stat_enable_bst_copi.rd,
+      reg_stat_enable_bst_readdata_export  => reg_stat_enable_bst_cipo.rddata(c_word_w - 1 downto 0),
+
+      reg_stat_hdr_dat_bst_clk_export       => OPEN,
+      reg_stat_hdr_dat_bst_reset_export     => OPEN,
+      reg_stat_hdr_dat_bst_address_export   => reg_stat_hdr_dat_bst_copi.address(
+          c_sdp_reg_stat_hdr_dat_bst_addr_w - 1 downto 0),
+      reg_stat_hdr_dat_bst_write_export     => reg_stat_hdr_dat_bst_copi.wr,
+      reg_stat_hdr_dat_bst_writedata_export => reg_stat_hdr_dat_bst_copi.wrdata(c_word_w - 1 downto 0),
+      reg_stat_hdr_dat_bst_read_export      => reg_stat_hdr_dat_bst_copi.rd,
+      reg_stat_hdr_dat_bst_readdata_export  => reg_stat_hdr_dat_bst_cipo.rddata(c_word_w - 1 downto 0),
+
+      reg_crosslets_info_clk_export       => OPEN,
+      reg_crosslets_info_reset_export     => OPEN,
+      reg_crosslets_info_address_export   => reg_crosslets_info_copi.address(
+          c_sdp_reg_crosslets_info_addr_w - 1 downto 0),
+      reg_crosslets_info_write_export     => reg_crosslets_info_copi.wr,
+      reg_crosslets_info_writedata_export => reg_crosslets_info_copi.wrdata(c_word_w - 1 downto 0),
+      reg_crosslets_info_read_export      => reg_crosslets_info_copi.rd,
+      reg_crosslets_info_readdata_export  => reg_crosslets_info_cipo.rddata(c_word_w - 1 downto 0),
+
+      reg_nof_crosslets_clk_export       => OPEN,
+      reg_nof_crosslets_reset_export     => OPEN,
+      reg_nof_crosslets_address_export   => reg_nof_crosslets_copi.address(
+          c_sdp_reg_nof_crosslets_addr_w - 1 downto 0),
+      reg_nof_crosslets_write_export     => reg_nof_crosslets_copi.wr,
+      reg_nof_crosslets_writedata_export => reg_nof_crosslets_copi.wrdata(c_word_w - 1 downto 0),
+      reg_nof_crosslets_read_export      => reg_nof_crosslets_copi.rd,
+      reg_nof_crosslets_readdata_export  => reg_nof_crosslets_cipo.rddata(c_word_w - 1 downto 0),
+
+      reg_bsn_sync_scheduler_xsub_clk_export       => OPEN,
+      reg_bsn_sync_scheduler_xsub_reset_export     => OPEN,
+      reg_bsn_sync_scheduler_xsub_address_export   => reg_bsn_sync_scheduler_xsub_copi.address(
+          c_sdp_reg_bsn_sync_scheduler_xsub_addr_w - 1 downto 0),
+      reg_bsn_sync_scheduler_xsub_write_export     => reg_bsn_sync_scheduler_xsub_copi.wr,
+      reg_bsn_sync_scheduler_xsub_writedata_export => reg_bsn_sync_scheduler_xsub_copi.wrdata(c_word_w - 1 downto 0),
+      reg_bsn_sync_scheduler_xsub_read_export      => reg_bsn_sync_scheduler_xsub_copi.rd,
+      reg_bsn_sync_scheduler_xsub_readdata_export  => reg_bsn_sync_scheduler_xsub_cipo.rddata(c_word_w - 1 downto 0),
+
+      ram_st_xsq_clk_export       => OPEN,
+      ram_st_xsq_reset_export     => OPEN,
+      ram_st_xsq_address_export   => ram_st_xsq_copi.address(c_sdp_ram_st_xsq_arr_addr_w - 1 downto 0),
+      ram_st_xsq_write_export     => ram_st_xsq_copi.wr,
+      ram_st_xsq_writedata_export => ram_st_xsq_copi.wrdata(c_word_w - 1 downto 0),
+      ram_st_xsq_read_export      => ram_st_xsq_copi.rd,
+      ram_st_xsq_readdata_export  => ram_st_xsq_cipo.rddata(c_word_w - 1 downto 0),
+
+      reg_nw_10GbE_mac_clk_export       => OPEN,
+      reg_nw_10GbE_mac_reset_export     => OPEN,
+      reg_nw_10GbE_mac_address_export   => reg_nw_10GbE_mac_copi.address(c_sdp_reg_nw_10GbE_mac_addr_w - 1 downto 0),
+      reg_nw_10GbE_mac_write_export     => reg_nw_10GbE_mac_copi.wr,
+      reg_nw_10GbE_mac_writedata_export => reg_nw_10GbE_mac_copi.wrdata(c_word_w - 1 downto 0),
+      reg_nw_10GbE_mac_read_export      => reg_nw_10GbE_mac_copi.rd,
+      reg_nw_10GbE_mac_readdata_export  => reg_nw_10GbE_mac_cipo.rddata(c_word_w - 1 downto 0),
+
+      reg_nw_10GbE_eth10g_clk_export       => OPEN,
+      reg_nw_10GbE_eth10g_reset_export     => OPEN,
+      reg_nw_10GbE_eth10g_address_export   => reg_nw_10GbE_eth10g_copi.address(
+          c_sdp_reg_nw_10GbE_eth10g_addr_w - 1 downto 0),
+      reg_nw_10GbE_eth10g_write_export     => reg_nw_10GbE_eth10g_copi.wr,
+      reg_nw_10GbE_eth10g_writedata_export => reg_nw_10GbE_eth10g_copi.wrdata(c_word_w - 1 downto 0),
+      reg_nw_10GbE_eth10g_read_export      => reg_nw_10GbE_eth10g_copi.rd,
+      reg_nw_10GbE_eth10g_readdata_export  => reg_nw_10GbE_eth10g_cipo.rddata(c_word_w - 1 downto 0),
+
+      reg_bsn_align_v2_bf_clk_export       => OPEN,
+      reg_bsn_align_v2_bf_reset_export     => OPEN,
+      reg_bsn_align_v2_bf_address_export   => reg_bsn_align_v2_bf_copi.address(
+          c_sdp_reg_bsn_align_v2_bf_addr_w - 1 downto 0),
+      reg_bsn_align_v2_bf_write_export     => reg_bsn_align_v2_bf_copi.wr,
+      reg_bsn_align_v2_bf_writedata_export => reg_bsn_align_v2_bf_copi.wrdata(c_word_w - 1 downto 0),
+      reg_bsn_align_v2_bf_read_export      => reg_bsn_align_v2_bf_copi.rd,
+      reg_bsn_align_v2_bf_readdata_export  => reg_bsn_align_v2_bf_cipo.rddata(c_word_w - 1 downto 0),
 
       reg_bsn_monitor_v2_rx_align_bf_clk_export       => OPEN,
       reg_bsn_monitor_v2_rx_align_bf_reset_export     => OPEN,
-      reg_bsn_monitor_v2_rx_align_bf_address_export   => reg_bsn_monitor_v2_rx_align_bf_copi.address(c_sdp_reg_bsn_monitor_v2_rx_align_bf_addr_w - 1 downto 0),
+      reg_bsn_monitor_v2_rx_align_bf_address_export   => reg_bsn_monitor_v2_rx_align_bf_copi.address(
+          c_sdp_reg_bsn_monitor_v2_rx_align_bf_addr_w - 1 downto 0),
       reg_bsn_monitor_v2_rx_align_bf_write_export     => reg_bsn_monitor_v2_rx_align_bf_copi.wr,
-      reg_bsn_monitor_v2_rx_align_bf_writedata_export => reg_bsn_monitor_v2_rx_align_bf_copi.wrdata(c_word_w - 1 downto 0),
+      reg_bsn_monitor_v2_rx_align_bf_writedata_export => reg_bsn_monitor_v2_rx_align_bf_copi.wrdata(
+          c_word_w - 1 downto 0),
       reg_bsn_monitor_v2_rx_align_bf_read_export      => reg_bsn_monitor_v2_rx_align_bf_copi.rd,
-      reg_bsn_monitor_v2_rx_align_bf_readdata_export  => reg_bsn_monitor_v2_rx_align_bf_cipo.rddata(c_word_w - 1 downto 0),
+      reg_bsn_monitor_v2_rx_align_bf_readdata_export  => reg_bsn_monitor_v2_rx_align_bf_cipo.rddata(
+          c_word_w - 1 downto 0),
 
       reg_bsn_monitor_v2_aligned_bf_clk_export       => OPEN,
       reg_bsn_monitor_v2_aligned_bf_reset_export     => OPEN,
-      reg_bsn_monitor_v2_aligned_bf_address_export   => reg_bsn_monitor_v2_aligned_bf_copi.address(c_sdp_reg_bsn_monitor_v2_aligned_bf_addr_w - 1 downto 0),
+      reg_bsn_monitor_v2_aligned_bf_address_export   => reg_bsn_monitor_v2_aligned_bf_copi.address(
+          c_sdp_reg_bsn_monitor_v2_aligned_bf_addr_w - 1 downto 0),
       reg_bsn_monitor_v2_aligned_bf_write_export     => reg_bsn_monitor_v2_aligned_bf_copi.wr,
-      reg_bsn_monitor_v2_aligned_bf_writedata_export => reg_bsn_monitor_v2_aligned_bf_copi.wrdata(c_word_w - 1 downto 0),
+      reg_bsn_monitor_v2_aligned_bf_writedata_export => reg_bsn_monitor_v2_aligned_bf_copi.wrdata(
+          c_word_w - 1 downto 0),
       reg_bsn_monitor_v2_aligned_bf_read_export      => reg_bsn_monitor_v2_aligned_bf_copi.rd,
-      reg_bsn_monitor_v2_aligned_bf_readdata_export  => reg_bsn_monitor_v2_aligned_bf_cipo.rddata(c_word_w - 1 downto 0),
-
-      reg_bsn_align_v2_xsub_clk_export          => OPEN,
-      reg_bsn_align_v2_xsub_reset_export        => OPEN,
-      reg_bsn_align_v2_xsub_address_export      => reg_bsn_align_v2_xsub_copi.address(c_sdp_reg_bsn_align_v2_xsub_addr_w - 1 downto 0),
-      reg_bsn_align_v2_xsub_write_export        => reg_bsn_align_v2_xsub_copi.wr,
-      reg_bsn_align_v2_xsub_writedata_export    => reg_bsn_align_v2_xsub_copi.wrdata(c_word_w - 1 downto 0),
-      reg_bsn_align_v2_xsub_read_export         => reg_bsn_align_v2_xsub_copi.rd,
-      reg_bsn_align_v2_xsub_readdata_export     => reg_bsn_align_v2_xsub_cipo.rddata(c_word_w - 1 downto 0),
+      reg_bsn_monitor_v2_aligned_bf_readdata_export  => reg_bsn_monitor_v2_aligned_bf_cipo.rddata(
+          c_word_w - 1 downto 0),
+
+      reg_bsn_align_v2_xsub_clk_export       => OPEN,
+      reg_bsn_align_v2_xsub_reset_export     => OPEN,
+      reg_bsn_align_v2_xsub_address_export   => reg_bsn_align_v2_xsub_copi.address(
+          c_sdp_reg_bsn_align_v2_xsub_addr_w - 1 downto 0),
+      reg_bsn_align_v2_xsub_write_export     => reg_bsn_align_v2_xsub_copi.wr,
+      reg_bsn_align_v2_xsub_writedata_export => reg_bsn_align_v2_xsub_copi.wrdata(c_word_w - 1 downto 0),
+      reg_bsn_align_v2_xsub_read_export      => reg_bsn_align_v2_xsub_copi.rd,
+      reg_bsn_align_v2_xsub_readdata_export  => reg_bsn_align_v2_xsub_cipo.rddata(c_word_w - 1 downto 0),
 
       reg_bsn_monitor_v2_rx_align_xsub_clk_export       => OPEN,
       reg_bsn_monitor_v2_rx_align_xsub_reset_export     => OPEN,
-      reg_bsn_monitor_v2_rx_align_xsub_address_export   => reg_bsn_monitor_v2_rx_align_xsub_copi.address(c_sdp_reg_bsn_monitor_v2_rx_align_xsub_addr_w - 1 downto 0),
+      reg_bsn_monitor_v2_rx_align_xsub_address_export   => reg_bsn_monitor_v2_rx_align_xsub_copi.address(
+          c_sdp_reg_bsn_monitor_v2_rx_align_xsub_addr_w - 1 downto 0),
       reg_bsn_monitor_v2_rx_align_xsub_write_export     => reg_bsn_monitor_v2_rx_align_xsub_copi.wr,
-      reg_bsn_monitor_v2_rx_align_xsub_writedata_export => reg_bsn_monitor_v2_rx_align_xsub_copi.wrdata(c_word_w - 1 downto 0),
+      reg_bsn_monitor_v2_rx_align_xsub_writedata_export => reg_bsn_monitor_v2_rx_align_xsub_copi.wrdata(
+          c_word_w - 1 downto 0),
       reg_bsn_monitor_v2_rx_align_xsub_read_export      => reg_bsn_monitor_v2_rx_align_xsub_copi.rd,
-      reg_bsn_monitor_v2_rx_align_xsub_readdata_export  => reg_bsn_monitor_v2_rx_align_xsub_cipo.rddata(c_word_w - 1 downto 0),
+      reg_bsn_monitor_v2_rx_align_xsub_readdata_export  => reg_bsn_monitor_v2_rx_align_xsub_cipo.rddata(
+          c_word_w - 1 downto 0),
 
       reg_bsn_monitor_v2_aligned_xsub_clk_export       => OPEN,
       reg_bsn_monitor_v2_aligned_xsub_reset_export     => OPEN,
-      reg_bsn_monitor_v2_aligned_xsub_address_export   => reg_bsn_monitor_v2_aligned_xsub_copi.address(c_sdp_reg_bsn_monitor_v2_aligned_xsub_addr_w - 1 downto 0),
+      reg_bsn_monitor_v2_aligned_xsub_address_export   => reg_bsn_monitor_v2_aligned_xsub_copi.address(
+          c_sdp_reg_bsn_monitor_v2_aligned_xsub_addr_w - 1 downto 0),
       reg_bsn_monitor_v2_aligned_xsub_write_export     => reg_bsn_monitor_v2_aligned_xsub_copi.wr,
-      reg_bsn_monitor_v2_aligned_xsub_writedata_export => reg_bsn_monitor_v2_aligned_xsub_copi.wrdata(c_word_w - 1 downto 0),
+      reg_bsn_monitor_v2_aligned_xsub_writedata_export => reg_bsn_monitor_v2_aligned_xsub_copi.wrdata(
+          c_word_w - 1 downto 0),
       reg_bsn_monitor_v2_aligned_xsub_read_export      => reg_bsn_monitor_v2_aligned_xsub_copi.rd,
-      reg_bsn_monitor_v2_aligned_xsub_readdata_export  => reg_bsn_monitor_v2_aligned_xsub_cipo.rddata(c_word_w - 1 downto 0),
-
-      reg_bsn_monitor_v2_sst_offload_clk_export            => OPEN,
-      reg_bsn_monitor_v2_sst_offload_reset_export          => OPEN,
-      reg_bsn_monitor_v2_sst_offload_address_export        => reg_bsn_monitor_v2_sst_offload_copi.address(c_sdp_reg_bsn_monitor_v2_sst_offload_addr_w - 1 downto 0),
-      reg_bsn_monitor_v2_sst_offload_write_export          => reg_bsn_monitor_v2_sst_offload_copi.wr,
-      reg_bsn_monitor_v2_sst_offload_writedata_export      => reg_bsn_monitor_v2_sst_offload_copi.wrdata(c_word_w - 1 downto 0),
-      reg_bsn_monitor_v2_sst_offload_read_export           => reg_bsn_monitor_v2_sst_offload_copi.rd,
-      reg_bsn_monitor_v2_sst_offload_readdata_export       => reg_bsn_monitor_v2_sst_offload_cipo.rddata(c_word_w - 1 downto 0),
-
-      reg_bsn_monitor_v2_bst_offload_clk_export            => OPEN,
-      reg_bsn_monitor_v2_bst_offload_reset_export          => OPEN,
-      reg_bsn_monitor_v2_bst_offload_address_export        => reg_bsn_monitor_v2_bst_offload_copi.address(c_sdp_reg_bsn_monitor_v2_bst_offload_addr_w - 1 downto 0),
-      reg_bsn_monitor_v2_bst_offload_write_export          => reg_bsn_monitor_v2_bst_offload_copi.wr,
-      reg_bsn_monitor_v2_bst_offload_writedata_export      => reg_bsn_monitor_v2_bst_offload_copi.wrdata(c_word_w - 1 downto 0),
-      reg_bsn_monitor_v2_bst_offload_read_export           => reg_bsn_monitor_v2_bst_offload_copi.rd,
-      reg_bsn_monitor_v2_bst_offload_readdata_export       => reg_bsn_monitor_v2_bst_offload_cipo.rddata(c_word_w - 1 downto 0),
-
-      reg_bsn_monitor_v2_beamlet_output_clk_export         => OPEN,
-      reg_bsn_monitor_v2_beamlet_output_reset_export       => OPEN,
-      reg_bsn_monitor_v2_beamlet_output_address_export     => reg_bsn_monitor_v2_beamlet_output_copi.address(c_sdp_reg_bsn_monitor_v2_beamlet_output_addr_w - 1 downto 0),
-      reg_bsn_monitor_v2_beamlet_output_write_export       => reg_bsn_monitor_v2_beamlet_output_copi.wr,
-      reg_bsn_monitor_v2_beamlet_output_writedata_export   => reg_bsn_monitor_v2_beamlet_output_copi.wrdata(c_word_w - 1 downto 0),
-      reg_bsn_monitor_v2_beamlet_output_read_export        => reg_bsn_monitor_v2_beamlet_output_copi.rd,
-      reg_bsn_monitor_v2_beamlet_output_readdata_export    => reg_bsn_monitor_v2_beamlet_output_cipo.rddata(c_word_w - 1 downto 0),
-
-      reg_bsn_monitor_v2_xst_offload_clk_export            => OPEN,
-      reg_bsn_monitor_v2_xst_offload_reset_export          => OPEN,
-      reg_bsn_monitor_v2_xst_offload_address_export        => reg_bsn_monitor_v2_xst_offload_copi.address(c_sdp_reg_bsn_monitor_v2_xst_offload_addr_w - 1 downto 0),
-      reg_bsn_monitor_v2_xst_offload_write_export          => reg_bsn_monitor_v2_xst_offload_copi.wr,
-      reg_bsn_monitor_v2_xst_offload_writedata_export      => reg_bsn_monitor_v2_xst_offload_copi.wrdata(c_word_w - 1 downto 0),
-      reg_bsn_monitor_v2_xst_offload_read_export           => reg_bsn_monitor_v2_xst_offload_copi.rd,
-      reg_bsn_monitor_v2_xst_offload_readdata_export       => reg_bsn_monitor_v2_xst_offload_cipo.rddata(c_word_w - 1 downto 0),
-
-      reg_ring_lane_info_bf_clk_export               => OPEN,
-      reg_ring_lane_info_bf_reset_export             => OPEN,
-      reg_ring_lane_info_bf_address_export           => reg_ring_lane_info_bf_copi.address(c_sdp_reg_ring_lane_info_bf_addr_w - 1 downto 0),
-      reg_ring_lane_info_bf_write_export             => reg_ring_lane_info_bf_copi.wr,
-      reg_ring_lane_info_bf_writedata_export         => reg_ring_lane_info_bf_copi.wrdata(c_word_w - 1 downto 0),
-      reg_ring_lane_info_bf_read_export              => reg_ring_lane_info_bf_copi.rd,
-      reg_ring_lane_info_bf_readdata_export          => reg_ring_lane_info_bf_cipo.rddata(c_word_w - 1 downto 0),
+      reg_bsn_monitor_v2_aligned_xsub_readdata_export  => reg_bsn_monitor_v2_aligned_xsub_cipo.rddata(
+          c_word_w - 1 downto 0),
+
+      reg_bsn_monitor_v2_sst_offload_clk_export       => OPEN,
+      reg_bsn_monitor_v2_sst_offload_reset_export     => OPEN,
+      reg_bsn_monitor_v2_sst_offload_address_export   => reg_bsn_monitor_v2_sst_offload_copi.address(
+          c_sdp_reg_bsn_monitor_v2_sst_offload_addr_w - 1 downto 0),
+      reg_bsn_monitor_v2_sst_offload_write_export     => reg_bsn_monitor_v2_sst_offload_copi.wr,
+      reg_bsn_monitor_v2_sst_offload_writedata_export => reg_bsn_monitor_v2_sst_offload_copi.wrdata(
+          c_word_w - 1 downto 0),
+      reg_bsn_monitor_v2_sst_offload_read_export      => reg_bsn_monitor_v2_sst_offload_copi.rd,
+      reg_bsn_monitor_v2_sst_offload_readdata_export  => reg_bsn_monitor_v2_sst_offload_cipo.rddata(
+          c_word_w - 1 downto 0),
+
+      reg_bsn_monitor_v2_bst_offload_clk_export       => OPEN,
+      reg_bsn_monitor_v2_bst_offload_reset_export     => OPEN,
+      reg_bsn_monitor_v2_bst_offload_address_export   => reg_bsn_monitor_v2_bst_offload_copi.address(
+          c_sdp_reg_bsn_monitor_v2_bst_offload_addr_w - 1 downto 0),
+      reg_bsn_monitor_v2_bst_offload_write_export     => reg_bsn_monitor_v2_bst_offload_copi.wr,
+      reg_bsn_monitor_v2_bst_offload_writedata_export => reg_bsn_monitor_v2_bst_offload_copi.wrdata(
+          c_word_w - 1 downto 0),
+      reg_bsn_monitor_v2_bst_offload_read_export      => reg_bsn_monitor_v2_bst_offload_copi.rd,
+      reg_bsn_monitor_v2_bst_offload_readdata_export  => reg_bsn_monitor_v2_bst_offload_cipo.rddata(
+          c_word_w - 1 downto 0),
+
+      reg_bsn_monitor_v2_beamlet_output_clk_export       => OPEN,
+      reg_bsn_monitor_v2_beamlet_output_reset_export     => OPEN,
+      reg_bsn_monitor_v2_beamlet_output_address_export   => reg_bsn_monitor_v2_beamlet_output_copi.address(
+          c_sdp_reg_bsn_monitor_v2_beamlet_output_addr_w - 1 downto 0),
+      reg_bsn_monitor_v2_beamlet_output_write_export     => reg_bsn_monitor_v2_beamlet_output_copi.wr,
+      reg_bsn_monitor_v2_beamlet_output_writedata_export => reg_bsn_monitor_v2_beamlet_output_copi.wrdata(
+          c_word_w - 1 downto 0),
+      reg_bsn_monitor_v2_beamlet_output_read_export      => reg_bsn_monitor_v2_beamlet_output_copi.rd,
+      reg_bsn_monitor_v2_beamlet_output_readdata_export  => reg_bsn_monitor_v2_beamlet_output_cipo.rddata(
+          c_word_w - 1 downto 0),
+
+      reg_bsn_monitor_v2_xst_offload_clk_export       => OPEN,
+      reg_bsn_monitor_v2_xst_offload_reset_export     => OPEN,
+      reg_bsn_monitor_v2_xst_offload_address_export   => reg_bsn_monitor_v2_xst_offload_copi.address(
+          c_sdp_reg_bsn_monitor_v2_xst_offload_addr_w - 1 downto 0),
+      reg_bsn_monitor_v2_xst_offload_write_export     => reg_bsn_monitor_v2_xst_offload_copi.wr,
+      reg_bsn_monitor_v2_xst_offload_writedata_export => reg_bsn_monitor_v2_xst_offload_copi.wrdata(
+          c_word_w - 1 downto 0),
+      reg_bsn_monitor_v2_xst_offload_read_export      => reg_bsn_monitor_v2_xst_offload_copi.rd,
+      reg_bsn_monitor_v2_xst_offload_readdata_export  => reg_bsn_monitor_v2_xst_offload_cipo.rddata(
+          c_word_w - 1 downto 0),
+
+      reg_ring_lane_info_bf_clk_export       => OPEN,
+      reg_ring_lane_info_bf_reset_export     => OPEN,
+      reg_ring_lane_info_bf_address_export   => reg_ring_lane_info_bf_copi.address(
+          c_sdp_reg_ring_lane_info_bf_addr_w - 1 downto 0),
+      reg_ring_lane_info_bf_write_export     => reg_ring_lane_info_bf_copi.wr,
+      reg_ring_lane_info_bf_writedata_export => reg_ring_lane_info_bf_copi.wrdata(c_word_w - 1 downto 0),
+      reg_ring_lane_info_bf_read_export      => reg_ring_lane_info_bf_copi.rd,
+      reg_ring_lane_info_bf_readdata_export  => reg_ring_lane_info_bf_cipo.rddata(c_word_w - 1 downto 0),
 
       reg_bsn_monitor_v2_ring_rx_bf_clk_export       => OPEN,
       reg_bsn_monitor_v2_ring_rx_bf_reset_export     => OPEN,
-      reg_bsn_monitor_v2_ring_rx_bf_address_export   => reg_bsn_monitor_v2_ring_rx_bf_copi.address(c_sdp_reg_bsn_monitor_v2_ring_rx_bf_addr_w - 1 downto 0),
+      reg_bsn_monitor_v2_ring_rx_bf_address_export   => reg_bsn_monitor_v2_ring_rx_bf_copi.address(
+          c_sdp_reg_bsn_monitor_v2_ring_rx_bf_addr_w - 1 downto 0),
       reg_bsn_monitor_v2_ring_rx_bf_write_export     => reg_bsn_monitor_v2_ring_rx_bf_copi.wr,
-      reg_bsn_monitor_v2_ring_rx_bf_writedata_export => reg_bsn_monitor_v2_ring_rx_bf_copi.wrdata(c_word_w - 1 downto 0),
+      reg_bsn_monitor_v2_ring_rx_bf_writedata_export => reg_bsn_monitor_v2_ring_rx_bf_copi.wrdata(
+          c_word_w - 1 downto 0),
       reg_bsn_monitor_v2_ring_rx_bf_read_export      => reg_bsn_monitor_v2_ring_rx_bf_copi.rd,
-      reg_bsn_monitor_v2_ring_rx_bf_readdata_export  => reg_bsn_monitor_v2_ring_rx_bf_cipo.rddata(c_word_w - 1 downto 0),
+      reg_bsn_monitor_v2_ring_rx_bf_readdata_export  => reg_bsn_monitor_v2_ring_rx_bf_cipo.rddata(
+          c_word_w - 1 downto 0),
 
       reg_bsn_monitor_v2_ring_tx_bf_clk_export       => OPEN,
       reg_bsn_monitor_v2_ring_tx_bf_reset_export     => OPEN,
-      reg_bsn_monitor_v2_ring_tx_bf_address_export   => reg_bsn_monitor_v2_ring_tx_bf_copi.address(c_sdp_reg_bsn_monitor_v2_ring_tx_bf_addr_w - 1 downto 0),
+      reg_bsn_monitor_v2_ring_tx_bf_address_export   => reg_bsn_monitor_v2_ring_tx_bf_copi.address(
+          c_sdp_reg_bsn_monitor_v2_ring_tx_bf_addr_w - 1 downto 0),
       reg_bsn_monitor_v2_ring_tx_bf_write_export     => reg_bsn_monitor_v2_ring_tx_bf_copi.wr,
-      reg_bsn_monitor_v2_ring_tx_bf_writedata_export => reg_bsn_monitor_v2_ring_tx_bf_copi.wrdata(c_word_w - 1 downto 0),
+      reg_bsn_monitor_v2_ring_tx_bf_writedata_export => reg_bsn_monitor_v2_ring_tx_bf_copi.wrdata(
+          c_word_w - 1 downto 0),
       reg_bsn_monitor_v2_ring_tx_bf_read_export      => reg_bsn_monitor_v2_ring_tx_bf_copi.rd,
-      reg_bsn_monitor_v2_ring_tx_bf_readdata_export  => reg_bsn_monitor_v2_ring_tx_bf_cipo.rddata(c_word_w - 1 downto 0),
+      reg_bsn_monitor_v2_ring_tx_bf_readdata_export  => reg_bsn_monitor_v2_ring_tx_bf_cipo.rddata(
+          c_word_w - 1 downto 0),
 
       reg_dp_block_validate_err_bf_clk_export       => OPEN,
       reg_dp_block_validate_err_bf_reset_export     => OPEN,
-      reg_dp_block_validate_err_bf_address_export   => reg_dp_block_validate_err_bf_copi.address(c_sdp_reg_dp_block_validate_err_bf_addr_w - 1 downto 0),
+      reg_dp_block_validate_err_bf_address_export   => reg_dp_block_validate_err_bf_copi.address(
+          c_sdp_reg_dp_block_validate_err_bf_addr_w - 1 downto 0),
       reg_dp_block_validate_err_bf_write_export     => reg_dp_block_validate_err_bf_copi.wr,
       reg_dp_block_validate_err_bf_writedata_export => reg_dp_block_validate_err_bf_copi.wrdata(c_word_w - 1 downto 0),
       reg_dp_block_validate_err_bf_read_export      => reg_dp_block_validate_err_bf_copi.rd,
@@ -1112,75 +1245,92 @@ begin
 
       reg_dp_block_validate_bsn_at_sync_bf_clk_export       => OPEN,
       reg_dp_block_validate_bsn_at_sync_bf_reset_export     => OPEN,
-      reg_dp_block_validate_bsn_at_sync_bf_address_export   => reg_dp_block_validate_bsn_at_sync_bf_copi.address(c_sdp_reg_dp_block_validate_bsn_at_sync_bf_addr_w - 1 downto 0),
+      reg_dp_block_validate_bsn_at_sync_bf_address_export   => reg_dp_block_validate_bsn_at_sync_bf_copi.address(
+          c_sdp_reg_dp_block_validate_bsn_at_sync_bf_addr_w - 1 downto 0),
       reg_dp_block_validate_bsn_at_sync_bf_write_export     => reg_dp_block_validate_bsn_at_sync_bf_copi.wr,
-      reg_dp_block_validate_bsn_at_sync_bf_writedata_export => reg_dp_block_validate_bsn_at_sync_bf_copi.wrdata(c_word_w - 1 downto 0),
+      reg_dp_block_validate_bsn_at_sync_bf_writedata_export => reg_dp_block_validate_bsn_at_sync_bf_copi.wrdata(
+          c_word_w - 1 downto 0),
       reg_dp_block_validate_bsn_at_sync_bf_read_export      => reg_dp_block_validate_bsn_at_sync_bf_copi.rd,
-      reg_dp_block_validate_bsn_at_sync_bf_readdata_export  => reg_dp_block_validate_bsn_at_sync_bf_cipo.rddata(c_word_w - 1 downto 0),
-
-      reg_ring_lane_info_xst_clk_export         => OPEN,
-      reg_ring_lane_info_xst_reset_export       => OPEN,
-      reg_ring_lane_info_xst_address_export     => reg_ring_lane_info_xst_copi.address(c_sdp_reg_ring_lane_info_xst_addr_w - 1 downto 0),
-      reg_ring_lane_info_xst_write_export       => reg_ring_lane_info_xst_copi.wr,
-      reg_ring_lane_info_xst_writedata_export   => reg_ring_lane_info_xst_copi.wrdata(c_word_w - 1 downto 0),
-      reg_ring_lane_info_xst_read_export        => reg_ring_lane_info_xst_copi.rd,
-      reg_ring_lane_info_xst_readdata_export    => reg_ring_lane_info_xst_cipo.rddata(c_word_w - 1 downto 0),
+      reg_dp_block_validate_bsn_at_sync_bf_readdata_export  => reg_dp_block_validate_bsn_at_sync_bf_cipo.rddata(
+          c_word_w - 1 downto 0),
+
+      reg_ring_lane_info_xst_clk_export       => OPEN,
+      reg_ring_lane_info_xst_reset_export     => OPEN,
+      reg_ring_lane_info_xst_address_export   => reg_ring_lane_info_xst_copi.address(
+          c_sdp_reg_ring_lane_info_xst_addr_w - 1 downto 0),
+      reg_ring_lane_info_xst_write_export     => reg_ring_lane_info_xst_copi.wr,
+      reg_ring_lane_info_xst_writedata_export => reg_ring_lane_info_xst_copi.wrdata(c_word_w - 1 downto 0),
+      reg_ring_lane_info_xst_read_export      => reg_ring_lane_info_xst_copi.rd,
+      reg_ring_lane_info_xst_readdata_export  => reg_ring_lane_info_xst_cipo.rddata(c_word_w - 1 downto 0),
 
       reg_bsn_monitor_v2_ring_rx_xst_clk_export       => OPEN,
       reg_bsn_monitor_v2_ring_rx_xst_reset_export     => OPEN,
-      reg_bsn_monitor_v2_ring_rx_xst_address_export   => reg_bsn_monitor_v2_ring_rx_xst_copi.address(c_sdp_reg_bsn_monitor_v2_ring_rx_xst_addr_w - 1 downto 0),
+      reg_bsn_monitor_v2_ring_rx_xst_address_export   => reg_bsn_monitor_v2_ring_rx_xst_copi.address(
+          c_sdp_reg_bsn_monitor_v2_ring_rx_xst_addr_w - 1 downto 0),
       reg_bsn_monitor_v2_ring_rx_xst_write_export     => reg_bsn_monitor_v2_ring_rx_xst_copi.wr,
-      reg_bsn_monitor_v2_ring_rx_xst_writedata_export => reg_bsn_monitor_v2_ring_rx_xst_copi.wrdata(c_word_w - 1 downto 0),
+      reg_bsn_monitor_v2_ring_rx_xst_writedata_export => reg_bsn_monitor_v2_ring_rx_xst_copi.wrdata(
+          c_word_w - 1 downto 0),
       reg_bsn_monitor_v2_ring_rx_xst_read_export      => reg_bsn_monitor_v2_ring_rx_xst_copi.rd,
-      reg_bsn_monitor_v2_ring_rx_xst_readdata_export  => reg_bsn_monitor_v2_ring_rx_xst_cipo.rddata(c_word_w - 1 downto 0),
+      reg_bsn_monitor_v2_ring_rx_xst_readdata_export  => reg_bsn_monitor_v2_ring_rx_xst_cipo.rddata(
+          c_word_w - 1 downto 0),
 
       reg_bsn_monitor_v2_ring_tx_xst_clk_export       => OPEN,
       reg_bsn_monitor_v2_ring_tx_xst_reset_export     => OPEN,
-      reg_bsn_monitor_v2_ring_tx_xst_address_export   => reg_bsn_monitor_v2_ring_tx_xst_copi.address(c_sdp_reg_bsn_monitor_v2_ring_tx_xst_addr_w - 1 downto 0),
+      reg_bsn_monitor_v2_ring_tx_xst_address_export   => reg_bsn_monitor_v2_ring_tx_xst_copi.address(
+          c_sdp_reg_bsn_monitor_v2_ring_tx_xst_addr_w - 1 downto 0),
       reg_bsn_monitor_v2_ring_tx_xst_write_export     => reg_bsn_monitor_v2_ring_tx_xst_copi.wr,
-      reg_bsn_monitor_v2_ring_tx_xst_writedata_export => reg_bsn_monitor_v2_ring_tx_xst_copi.wrdata(c_word_w - 1 downto 0),
+      reg_bsn_monitor_v2_ring_tx_xst_writedata_export => reg_bsn_monitor_v2_ring_tx_xst_copi.wrdata(
+          c_word_w - 1 downto 0),
       reg_bsn_monitor_v2_ring_tx_xst_read_export      => reg_bsn_monitor_v2_ring_tx_xst_copi.rd,
-      reg_bsn_monitor_v2_ring_tx_xst_readdata_export  => reg_bsn_monitor_v2_ring_tx_xst_cipo.rddata(c_word_w - 1 downto 0),
+      reg_bsn_monitor_v2_ring_tx_xst_readdata_export  => reg_bsn_monitor_v2_ring_tx_xst_cipo.rddata(
+          c_word_w - 1 downto 0),
 
       reg_dp_block_validate_err_xst_clk_export       => OPEN,
       reg_dp_block_validate_err_xst_reset_export     => OPEN,
-      reg_dp_block_validate_err_xst_address_export   => reg_dp_block_validate_err_xst_copi.address(c_sdp_reg_dp_block_validate_err_xst_addr_w - 1 downto 0),
+      reg_dp_block_validate_err_xst_address_export   => reg_dp_block_validate_err_xst_copi.address(
+          c_sdp_reg_dp_block_validate_err_xst_addr_w - 1 downto 0),
       reg_dp_block_validate_err_xst_write_export     => reg_dp_block_validate_err_xst_copi.wr,
-      reg_dp_block_validate_err_xst_writedata_export => reg_dp_block_validate_err_xst_copi.wrdata(c_word_w - 1 downto 0),
+      reg_dp_block_validate_err_xst_writedata_export => reg_dp_block_validate_err_xst_copi.wrdata(
+          c_word_w - 1 downto 0),
       reg_dp_block_validate_err_xst_read_export      => reg_dp_block_validate_err_xst_copi.rd,
-      reg_dp_block_validate_err_xst_readdata_export  => reg_dp_block_validate_err_xst_cipo.rddata(c_word_w - 1 downto 0),
+      reg_dp_block_validate_err_xst_readdata_export  => reg_dp_block_validate_err_xst_cipo.rddata(
+          c_word_w - 1 downto 0),
 
       reg_dp_block_validate_bsn_at_sync_xst_clk_export       => OPEN,
       reg_dp_block_validate_bsn_at_sync_xst_reset_export     => OPEN,
-      reg_dp_block_validate_bsn_at_sync_xst_address_export   => reg_dp_block_validate_bsn_at_sync_xst_copi.address(c_sdp_reg_dp_block_validate_bsn_at_sync_xst_addr_w - 1 downto 0),
+      reg_dp_block_validate_bsn_at_sync_xst_address_export   => reg_dp_block_validate_bsn_at_sync_xst_copi.address(
+          c_sdp_reg_dp_block_validate_bsn_at_sync_xst_addr_w - 1 downto 0),
       reg_dp_block_validate_bsn_at_sync_xst_write_export     => reg_dp_block_validate_bsn_at_sync_xst_copi.wr,
-      reg_dp_block_validate_bsn_at_sync_xst_writedata_export => reg_dp_block_validate_bsn_at_sync_xst_copi.wrdata(c_word_w - 1 downto 0),
+      reg_dp_block_validate_bsn_at_sync_xst_writedata_export => reg_dp_block_validate_bsn_at_sync_xst_copi.wrdata(
+          c_word_w - 1 downto 0),
       reg_dp_block_validate_bsn_at_sync_xst_read_export      => reg_dp_block_validate_bsn_at_sync_xst_copi.rd,
-      reg_dp_block_validate_bsn_at_sync_xst_readdata_export  => reg_dp_block_validate_bsn_at_sync_xst_cipo.rddata(c_word_w - 1 downto 0),
-
-      reg_tr_10GbE_mac_clk_export               => OPEN,
-      reg_tr_10GbE_mac_reset_export             => OPEN,
-      reg_tr_10GbE_mac_address_export           => reg_tr_10GbE_mac_copi.address(c_sdp_reg_tr_10GbE_mac_addr_w - 1 downto 0),
-      reg_tr_10GbE_mac_write_export             => reg_tr_10GbE_mac_copi.wr,
-      reg_tr_10GbE_mac_writedata_export         => reg_tr_10GbE_mac_copi.wrdata(c_word_w - 1 downto 0),
-      reg_tr_10GbE_mac_read_export              => reg_tr_10GbE_mac_copi.rd,
-      reg_tr_10GbE_mac_readdata_export          => reg_tr_10GbE_mac_cipo.rddata(c_word_w - 1 downto 0),
-
-      reg_tr_10GbE_eth10g_clk_export            => OPEN,
-      reg_tr_10GbE_eth10g_reset_export          => OPEN,
-      reg_tr_10GbE_eth10g_address_export        => reg_tr_10GbE_eth10g_copi.address(c_sdp_reg_tr_10GbE_eth10g_addr_w - 1 downto 0),
-      reg_tr_10GbE_eth10g_write_export          => reg_tr_10GbE_eth10g_copi.wr,
-      reg_tr_10GbE_eth10g_writedata_export      => reg_tr_10GbE_eth10g_copi.wrdata(c_word_w - 1 downto 0),
-      reg_tr_10GbE_eth10g_read_export           => reg_tr_10GbE_eth10g_copi.rd,
-      reg_tr_10GbE_eth10g_readdata_export       => reg_tr_10GbE_eth10g_cipo.rddata(c_word_w - 1 downto 0),
-
-      ram_scrap_clk_export                      => OPEN,
-      ram_scrap_reset_export                    => OPEN,
-      ram_scrap_address_export                  => ram_scrap_copi.address(9 - 1 downto 0),
-      ram_scrap_write_export                    => ram_scrap_copi.wr,
-      ram_scrap_writedata_export                => ram_scrap_copi.wrdata(c_word_w - 1 downto 0),
-      ram_scrap_read_export                     => ram_scrap_copi.rd,
-      ram_scrap_readdata_export                 => ram_scrap_cipo.rddata(c_word_w - 1 downto 0)
-    );
+      reg_dp_block_validate_bsn_at_sync_xst_readdata_export  => reg_dp_block_validate_bsn_at_sync_xst_cipo.rddata(
+          c_word_w - 1 downto 0),
+
+      reg_tr_10GbE_mac_clk_export       => OPEN,
+      reg_tr_10GbE_mac_reset_export     => OPEN,
+      reg_tr_10GbE_mac_address_export   => reg_tr_10GbE_mac_copi.address(c_sdp_reg_tr_10GbE_mac_addr_w - 1 downto 0),
+      reg_tr_10GbE_mac_write_export     => reg_tr_10GbE_mac_copi.wr,
+      reg_tr_10GbE_mac_writedata_export => reg_tr_10GbE_mac_copi.wrdata(c_word_w - 1 downto 0),
+      reg_tr_10GbE_mac_read_export      => reg_tr_10GbE_mac_copi.rd,
+      reg_tr_10GbE_mac_readdata_export  => reg_tr_10GbE_mac_cipo.rddata(c_word_w - 1 downto 0),
+
+      reg_tr_10GbE_eth10g_clk_export       => OPEN,
+      reg_tr_10GbE_eth10g_reset_export     => OPEN,
+      reg_tr_10GbE_eth10g_address_export   => reg_tr_10GbE_eth10g_copi.address(
+          c_sdp_reg_tr_10GbE_eth10g_addr_w - 1 downto 0),
+      reg_tr_10GbE_eth10g_write_export     => reg_tr_10GbE_eth10g_copi.wr,
+      reg_tr_10GbE_eth10g_writedata_export => reg_tr_10GbE_eth10g_copi.wrdata(c_word_w - 1 downto 0),
+      reg_tr_10GbE_eth10g_read_export      => reg_tr_10GbE_eth10g_copi.rd,
+      reg_tr_10GbE_eth10g_readdata_export  => reg_tr_10GbE_eth10g_cipo.rddata(c_word_w - 1 downto 0),
+
+      ram_scrap_clk_export       => OPEN,
+      ram_scrap_reset_export     => OPEN,
+      ram_scrap_address_export   => ram_scrap_copi.address(9 - 1 downto 0),
+      ram_scrap_write_export     => ram_scrap_copi.wr,
+      ram_scrap_writedata_export => ram_scrap_copi.wrdata(c_word_w - 1 downto 0),
+      ram_scrap_read_export      => ram_scrap_copi.rd,
+      ram_scrap_readdata_export  => ram_scrap_cipo.rddata(c_word_w - 1 downto 0)
+   );
   end generate;
 end str;
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 985c676665579ebb87eb4c6ff8e2251648cb4f2d..9d9bdfb5a95467c1ed399a59329a0464e06947a9 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
@@ -31,20 +31,20 @@
 --   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;
-use IEEE.numeric_std.all;
-use IEEE.math_real.all;
-use common_lib.common_pkg.all;
-use unb2c_board_lib.unb2c_board_pkg.all;
-use common_lib.tb_common_pkg.all;
-use common_lib.common_str_pkg.all;
-use mm_lib.mm_file_pkg.all;
-use dp_lib.dp_stream_pkg.all;
-use mm_lib.mm_file_unb_pkg.all;
-use diag_lib.diag_pkg.all;
-use wpfb_lib.wpfb_pkg.all;
-use lofar2_sdp_lib.sdp_pkg.all;
-use eth_lib.eth_pkg.all;
+  use IEEE.std_logic_1164.all;
+  use IEEE.numeric_std.all;
+  use IEEE.math_real.all;
+  use common_lib.common_pkg.all;
+  use common_lib.tb_common_pkg.all;
+  use common_lib.common_str_pkg.all;
+  use dp_lib.dp_stream_pkg.all;
+  use mm_lib.mm_file_pkg.all;
+  use mm_lib.mm_file_unb_pkg.all;
+  use diag_lib.diag_pkg.all;
+  use unb2c_board_lib.unb2c_board_pkg.all;
+  use wpfb_lib.wpfb_pkg.all;
+  use eth_lib.eth_pkg.all;
+  use lofar2_sdp_lib.sdp_pkg.all;
 
 entity tb_lofar2_unb2c_sdp_station is
 end tb_lofar2_unb2c_sdp_station;
@@ -65,12 +65,15 @@ architecture tb of tb_lofar2_unb2c_sdp_station is
   constant c_nof_block_per_sync           : natural := 16;
   constant c_nof_clk_per_sync             : natural := c_nof_block_per_sync * c_sdp_N_fft;
   constant c_pps_period                   : natural := c_nof_clk_per_sync;
-  constant c_wpfb_sim                     : t_wpfb := func_wpfb_set_nof_block_per_sync(c_sdp_wpfb_subbands, c_nof_block_per_sync);
+  constant c_wpfb_sim                     : t_wpfb := func_wpfb_set_nof_block_per_sync(c_sdp_wpfb_subbands,
+                                                                                       c_nof_block_per_sync);
 
   -- WG
-  constant c_bsn_start_wg                 : natural := 2;  -- start WG at this BSN to instead of some BSN, to avoid mismatches in exact expected data values
+  constant c_bsn_start_wg                 : natural := 2;  -- start WG at this BSN to instead of some BSN, to avoid
+                                                           -- mismatches in exact expected data values
   constant c_ampl_sp_0                    : natural := 2**(c_sdp_W_adc - 1) / 2;  -- in number of lsb
-  constant c_subband_sp_0                 : real := 102.0;  -- Select subband at index 102 = 102/1024 * 200MHz = 19.921875 MHz
+  constant c_subband_sp_0                 : real := 102.0;  -- Select subband at index 102 = 102/1024 * 200MHz =
+                                                            -- 19.921875 MHz
 
   -- 1GbE output
   constant c_eth_check_nof_packets        : natural := 1;
@@ -174,7 +177,7 @@ begin
     JESD204B_SYNC_N      => jesd204b_sync_n
   );
 
-  ---------------------------------------------------------------------------------------------------------------------
+  -----------------------------------------------------------------------------
   -- Stimuli
   --   MM slave accesses via file IO
   tb_clk <= (not tb_clk) or tb_end after c_tb_clk_period / 2;  -- Testbench MM clock
@@ -199,10 +202,10 @@ begin
     --   1 : phase[15:0]
     --   2 : freq[30:0]
     --   3 : ampl[16:0]
-    mmf_mm_bus_wr(c_mm_file_reg_diag_wg, 0,                                     1024 * 2**16 + 1, tb_clk);  -- nof_samples, mode calc
-    mmf_mm_bus_wr(c_mm_file_reg_diag_wg, 1,                integer(  0.0 * c_diag_wg_phase_unit), tb_clk);  -- phase offset in degrees
+    mmf_mm_bus_wr(c_mm_file_reg_diag_wg, 0, 1024 * 2**16 + 1, tb_clk);  -- nof_samples, mode calc
+    mmf_mm_bus_wr(c_mm_file_reg_diag_wg, 1, integer(0.0 * c_diag_wg_phase_unit), tb_clk);  -- phase offset in degrees
     mmf_mm_bus_wr(c_mm_file_reg_diag_wg, 2, integer(c_subband_sp_0 * c_sdp_wg_subband_freq_unit), tb_clk);  -- freq
-    mmf_mm_bus_wr(c_mm_file_reg_diag_wg, 3,       integer(real(c_ampl_sp_0) * c_sdp_wg_ampl_lsb), tb_clk);  -- ampl
+    mmf_mm_bus_wr(c_mm_file_reg_diag_wg, 3, integer(real(c_ampl_sp_0) * c_sdp_wg_ampl_lsb), tb_clk);  -- ampl
 
     -- Read current BSN
     mmf_mm_bus_rd(c_mm_file_reg_bsn_scheduler_wg, 0, current_bsn_wg(31 downto  0), tb_clk);
diff --git a/applications/lofar2/libraries/ddrctrl/src/vhdl/ddrctrl_input_repack.vhd b/applications/lofar2/libraries/ddrctrl/src/vhdl/ddrctrl_input_repack.vhd
index 2c232e370e4a19cdca0067674e2991ebbd649fbd..185ca0134506d26287dbce6f2ee321f5790d629e 100644
--- a/applications/lofar2/libraries/ddrctrl/src/vhdl/ddrctrl_input_repack.vhd
+++ b/applications/lofar2/libraries/ddrctrl/src/vhdl/ddrctrl_input_repack.vhd
@@ -56,7 +56,7 @@ end ddrctrl_input_repack;
 architecture rtl of ddrctrl_input_repack is
   -- constant for readability
   constant c_out_data_w     : natural       := func_tech_ddr_ctlr_data_w( g_tech_ddr );  -- the output data with, 576
-  constant k_c_v_w          : natural       := c_out_data_w * 2;  -- the c_v data with, 2*576=1152
+  constant c_c_v_w          : natural       := c_out_data_w * 2;  -- the c_v data with, 2*576=1152
 
   -- type for statemachine
   type t_state is (OVERFLOW_OUTPUT, FILL_VECTOR, FIRST_OUTPUT, RESET, STOP, BSN);
@@ -64,7 +64,7 @@ architecture rtl of ddrctrl_input_repack is
   -- record for readability
   type t_reg is record
   state                     : t_state;  -- the state the process is currently in;
-  c_v                       : std_logic_vector(k_c_v_w - 1 downto 0);  -- the vector that stores the input data until the data is put into the output data vector
+  c_v                       : std_logic_vector(c_c_v_w - 1 downto 0);  -- the vector that stores the input data until the data is put into the output data vector
   c_v_count                 : natural;  -- the amount of times the c_v vector received data from the input since the last time it was filled completely
   q_bsn                     : std_logic_vector(c_dp_stream_bsn_w - 1 downto 0);
   q_sop                     : std_logic;
@@ -114,9 +114,9 @@ begin
 
     when OVERFLOW_OUTPUT =>  -- if the input data exceeds the output data vector width and the c_v width
       v.out_of := q_reg.out_of + (g_in_data_w * (q_reg.c_v_count + 1)) - (c_out_data_w * 2);  -- check how much overflow there is and safe it in out_of
-      v.c_v(k_c_v_w - 1 downto k_c_v_w - (g_in_data_w - v.out_of)) := in_sosi.data(g_in_data_w - v.out_of - 1 downto 0);  -- fill the rest of c_v untill the end
+      v.c_v(c_c_v_w - 1 downto c_c_v_w - (g_in_data_w - v.out_of)) := in_sosi.data(g_in_data_w - v.out_of - 1 downto 0);  -- fill the rest of c_v untill the end
       v.c_v(v.out_of - 1 downto 0) := in_sosi.data(g_in_data_w - 1 downto g_in_data_w - v.out_of);  -- fill the start of c_v untill the out_of
-      v.out_sosi.data(c_out_data_w - 1 downto 0) := v.c_v(k_c_v_w - 1 downto c_out_data_w);  -- fill out_sosi.data with 2nd part of c_v
+      v.out_sosi.data(c_out_data_w - 1 downto 0) := v.c_v(c_c_v_w - 1 downto c_out_data_w);  -- fill out_sosi.data with 2nd part of c_v
       v.out_sosi.valid := '1';  -- out_sosi.valid 1
       v.c_v_count      := 0;  -- reset counter
       v.out_data_count := '0';  -- reset counter
@@ -128,13 +128,13 @@ begin
 
     when BSN =>
 
-      v.c_v(k_c_v_w - 1 downto ((g_in_data_w * q_reg.c_v_count) + q_reg.out_of)) := (others => '0');
+      v.c_v(c_c_v_w - 1 downto ((g_in_data_w * q_reg.c_v_count) + q_reg.out_of)) := (others => '0');
       v.out_of            := 0;
       if ((g_in_data_w * q_reg.c_v_count) + q_reg.out_of < c_out_data_w * 1) then
         v.out_sosi.data(c_out_data_w - 1 downto 0) := v.c_v(c_out_data_w - 1 downto 0);  -- fill out_sosi.data with 1st part of c_v
         v.out_sosi.valid  := '1';  -- out_sosi.valid 1
       else
-        v.out_sosi.data(c_out_data_w - 1 downto 0) := v.c_v(k_c_v_w - 1 downto c_out_data_w);  -- fill out_sosi.data with 2nd part of c_v
+        v.out_sosi.data(c_out_data_w - 1 downto 0) := v.c_v(c_c_v_w - 1 downto c_out_data_w);  -- fill out_sosi.data with 2nd part of c_v
         v.out_sosi.valid  := '1';  -- out_sosi.valid 1
       end if;
 
diff --git a/applications/lofar2/libraries/sdp/src/vhdl/node_sdp_oversampled_filterbank.vhd b/applications/lofar2/libraries/sdp/src/vhdl/node_sdp_oversampled_filterbank.vhd
index be5959997943e1b997138934c514bda52e710d98..5b81c46fe106d9f6783fe589787ed397060025c7 100644
--- a/applications/lofar2/libraries/sdp/src/vhdl/node_sdp_oversampled_filterbank.vhd
+++ b/applications/lofar2/libraries/sdp/src/vhdl/node_sdp_oversampled_filterbank.vhd
@@ -36,18 +36,19 @@
 -- .
 -------------------------------------------------------------------------------
 
-library IEEE, common_lib, dp_lib, diag_lib, rTwoSDF_lib, common_mult_lib, fft_lib, wpfb_lib, filter_lib, si_lib, st_lib, mm_lib;
-use IEEE.std_logic_1164.all;
-use common_lib.common_pkg.all;
-use common_lib.common_mem_pkg.all;
-use common_lib.common_network_layers_pkg.all;
-use dp_lib.dp_stream_pkg.all;
-use rTwoSDF_lib.rTwoSDFPkg.all;
-use filter_lib.fil_pkg.all;
-use fft_lib.fft_pkg.all;
-use wpfb_lib.wpfb_pkg.all;
-use diag_lib.diag_pkg.all;
-use work.sdp_pkg.all;
+library IEEE, common_lib, dp_lib, mm_lib, diag_lib, common_mult_lib;
+library rTwoSDF_lib, fft_lib, wpfb_lib, filter_lib, si_lib, st_lib;
+  use IEEE.std_logic_1164.all;
+  use common_lib.common_pkg.all;
+  use common_lib.common_mem_pkg.all;
+  use common_lib.common_network_layers_pkg.all;
+  use dp_lib.dp_stream_pkg.all;
+  use diag_lib.diag_pkg.all;
+  use rTwoSDF_lib.rTwoSDFPkg.all;
+  use filter_lib.fil_pkg.all;
+  use fft_lib.fft_pkg.all;
+  use wpfb_lib.wpfb_pkg.all;
+  use work.sdp_pkg.all;
 
 entity node_sdp_oversampled_filterbank is
   generic (
@@ -114,7 +115,8 @@ architecture str of node_sdp_oversampled_filterbank is
   constant c_subband_raw_fraction_w         : natural := func_fft_raw_fraction_w(c_fft);
   constant c_complex_subband_raw_dat_w      : natural := func_fft_raw_dat_w(c_fft_complex);
   constant c_complex_subband_raw_fraction_w : natural := func_fft_raw_fraction_w(c_fft_complex);
-  constant c_dat_w_diff                     : integer := c_complex_subband_raw_dat_w - c_subband_raw_dat_w;  -- = -1 which is used to shift 1 bit to the left.
+  constant c_dat_w_diff                     : integer := c_complex_subband_raw_dat_w - c_subband_raw_dat_w;  -- = -1
+                                                         -- which is used to shift 1 bit to the left.
 
   constant c_nof_masters : positive := 2;
 
@@ -190,17 +192,24 @@ architecture str of node_sdp_oversampled_filterbank is
   signal wpfb_complex_out_resized_sosi_arr  : t_dp_sosi_arr(c_sdp_S_pn - 1 downto 0)   := (others => c_dp_sosi_rst);
 
   -- Interleave positive frequencies per factor Q_fft = 2, like with output of real input FFT
-  signal wpfb_complex_out_fifo_sosi_arr        : t_dp_sosi_arr(c_sdp_S_pn - 1 downto 0)   := (others => c_dp_sosi_rst);
-  signal wpfb_complex_out_fifo_siso_arr        : t_dp_siso_arr(c_sdp_S_pn - 1 downto 0)   := (others => c_dp_siso_rst);
-  signal wpfb_complex_out_resized_sosi_2arr    : t_dp_sosi_2arr_2(c_sdp_P_pfb - 1 downto 0) := (others => (others => c_dp_sosi_rst));
-  signal wpfb_complex_out_resized_siso_2arr    : t_dp_siso_2arr_2(c_sdp_P_pfb - 1 downto 0) := (others => (others => c_dp_siso_rst));
+  signal wpfb_complex_out_fifo_sosi_arr     : t_dp_sosi_arr(c_sdp_S_pn - 1 downto 0)   := (others => c_dp_sosi_rst);
+  signal wpfb_complex_out_fifo_siso_arr     : t_dp_siso_arr(c_sdp_S_pn - 1 downto 0)   := (others => c_dp_siso_rst);
+  signal wpfb_complex_out_resized_sosi_2arr : t_dp_sosi_2arr_2(c_sdp_P_pfb - 1 downto 0) :=
+                                                  (others => (others => c_dp_sosi_rst));
+  signal wpfb_complex_out_resized_siso_2arr : t_dp_siso_2arr_2(c_sdp_P_pfb - 1 downto 0) :=
+                                                  (others => (others => c_dp_siso_rst));
   signal wpfb_complex_out_interleaved_sosi_arr : t_dp_sosi_arr(c_sdp_P_pfb - 1 downto 0) := (others => c_dp_sosi_rst);
 
-  signal subband_equalizer_in_sosi_arr    : t_dp_sosi_arr(c_sdp_R_os * c_sdp_P_pfb - 1 downto 0) := (others => c_dp_sosi_rst);
-  signal subband_equalizer_quant_sosi_arr : t_dp_sosi_arr(c_sdp_R_os * c_sdp_P_pfb - 1 downto 0) := (others => c_dp_sosi_rst);
-  signal subband_equalizer_raw_sosi_arr   : t_dp_sosi_arr(c_sdp_R_os * c_sdp_P_pfb - 1 downto 0) := (others => c_dp_sosi_rst);
-  signal dp_selector_out_sosi_arr         : t_dp_sosi_arr(c_sdp_R_os * c_sdp_P_pfb - 1 downto 0) := (others => c_dp_sosi_rst);
-  signal dp_selector_pipe_sosi_arr        : t_dp_sosi_arr(c_sdp_R_os * c_sdp_P_pfb - 1 downto 0) := (others => c_dp_sosi_rst);
+  signal subband_equalizer_in_sosi_arr    : t_dp_sosi_arr(c_sdp_R_os * c_sdp_P_pfb - 1 downto 0) :=
+                                                (others => c_dp_sosi_rst);
+  signal subband_equalizer_quant_sosi_arr : t_dp_sosi_arr(c_sdp_R_os * c_sdp_P_pfb - 1 downto 0) :=
+                                                (others => c_dp_sosi_rst);
+  signal subband_equalizer_raw_sosi_arr   : t_dp_sosi_arr(c_sdp_R_os * c_sdp_P_pfb - 1 downto 0) :=
+                                                (others => c_dp_sosi_rst);
+  signal dp_selector_out_sosi_arr         : t_dp_sosi_arr(c_sdp_R_os * c_sdp_P_pfb - 1 downto 0) :=
+                                                (others => c_dp_sosi_rst);
+  signal dp_selector_pipe_sosi_arr        : t_dp_sosi_arr(c_sdp_R_os * c_sdp_P_pfb - 1 downto 0) :=
+                                                (others => c_dp_sosi_rst);
 
   signal scope_equalizer_in_sosi_arr      : t_dp_sosi_integer_arr(c_sdp_R_os * c_sdp_S_pn - 1 downto 0);
   signal scope_equalizer_out_sosi_arr     : t_dp_sosi_integer_arr(c_sdp_R_os * c_sdp_S_pn - 1 downto 0);
@@ -422,7 +431,8 @@ begin
     in_dat     => dp_bsn_source_restart_pipe,
     out_dat    => dp_bsn_source_restart_pipe_complex
   );
-  process(mixer_complex_requantize_src_out_arr, si_sosi_0_piped)
+
+  p_align : process(mixer_complex_requantize_src_out_arr, si_sosi_0_piped)
   begin
     for I in 0 to c_sdp_S_pn - 1 loop
       wpfb_unit_complex_in_sosi_arr(I) <= si_sosi_0_piped;
@@ -525,10 +535,11 @@ begin
     p_add_bit : process(wpfb_complex_out_interleaved_sosi_arr)
     begin
       subband_equalizer_in_sosi_arr(c_sdp_P_pfb + I) <= wpfb_complex_out_interleaved_sosi_arr(I);
-      subband_equalizer_in_sosi_arr(c_sdp_P_pfb + I).re <= SHIFT_SVEC(wpfb_complex_out_interleaved_sosi_arr(I).re, c_dat_w_diff);
-      subband_equalizer_in_sosi_arr(c_sdp_P_pfb + I).im <= SHIFT_SVEC(wpfb_complex_out_interleaved_sosi_arr(I).im, c_dat_w_diff);
+      subband_equalizer_in_sosi_arr(c_sdp_P_pfb + I).re <= SHIFT_SVEC(wpfb_complex_out_interleaved_sosi_arr(I).re,
+                                                                      c_dat_w_diff);
+      subband_equalizer_in_sosi_arr(c_sdp_P_pfb + I).im <= SHIFT_SVEC(wpfb_complex_out_interleaved_sosi_arr(I).im,
+                                                                      c_dat_w_diff);
     end process;
-
   end generate;
 
   -- Pipeline to compensate for longer latency of the complex PFB.
diff --git a/applications/lofar2/libraries/sdp/src/vhdl/sdp_adc_input_and_timing.vhd b/applications/lofar2/libraries/sdp/src/vhdl/sdp_adc_input_and_timing.vhd
index 4e21a2d069b9ca0a7a0bfe74dbb4b4cad8ac6618..6c2d2b2a4886f7847598f54f1baa9baee4aafa8a 100644
--- a/applications/lofar2/libraries/sdp/src/vhdl/sdp_adc_input_and_timing.vhd
+++ b/applications/lofar2/libraries/sdp/src/vhdl/sdp_adc_input_and_timing.vhd
@@ -95,7 +95,8 @@ entity sdp_adc_input_and_timing is
     -- Streaming data output
     out_sosi_arr                   : out t_dp_sosi_arr(c_sdp_S_pn - 1 downto 0);
     rx_bsn_source_restart          : out std_logic;  -- for dp_sync_recover in WPFB
-    rx_bsn_source_new_interval     : out std_logic;  -- for SST and BST statistics offload, XST uses new_interval based on xst_processing_enable
+    rx_bsn_source_new_interval     : out std_logic;  -- for SST and BST statistics offload, XST uses new_interval
+                                                     -- based on xst_processing_enable
     rx_bsn_source_nof_clk_per_sync : out std_logic_vector(c_word_w - 1 downto 0)  -- for RSN source in transient buffer
   );
 end sdp_adc_input_and_timing;
@@ -224,7 +225,9 @@ begin
     ant_sosi_arr <= rx_sosi_arr;
     for I in 0 to c_sdp_S_pn - 1 loop
       -- ADC data is stored in the upper 14 bits of the jesd rx_sosi.
-      ant_sosi_arr(I).data <= RESIZE_DP_SDATA(rx_sosi_arr(I).data(c_sdp_W_adc_jesd - 1 downto (c_sdp_W_adc_jesd - c_sdp_W_adc) ));
+      ant_sosi_arr(I).data <= RESIZE_DP_SDATA(
+                                rx_sosi_arr(I).data(c_sdp_W_adc_jesd - 1 downto (c_sdp_W_adc_jesd - c_sdp_W_adc))
+                              );
       ant_sosi_arr(I).valid <= rx_sosi_arr(I).valid;  -- connect, but not used
     end loop;
   end process;
diff --git a/applications/lofar2/libraries/sdp/src/vhdl/sdp_bdo_destinations_reg.vhd b/applications/lofar2/libraries/sdp/src/vhdl/sdp_bdo_destinations_reg.vhd
index 35d4a7135c9afaf6b2d618c5d91cfb62c7fa5c9d..d41ec0ccd241b57d9e2285b668175073e70ef9ad 100644
--- a/applications/lofar2/libraries/sdp/src/vhdl/sdp_bdo_destinations_reg.vhd
+++ b/applications/lofar2/libraries/sdp/src/vhdl/sdp_bdo_destinations_reg.vhd
@@ -69,7 +69,7 @@ entity sdp_bdo_destinations_reg is
 end sdp_bdo_destinations_reg;
 
 architecture str of sdp_bdo_destinations_reg is
-  constant c_field_arr : t_common_field_arr(c_sdp_bdo_destinations_info_nof_hdr_fields - 1 downto 0) :=
+  constant c_fa : t_common_field_arr(c_sdp_bdo_destinations_info_nof_hdr_fields - 1 downto 0) :=
     ( (field_name_pad("nof_blocks_per_packet"),     "RO",  8, field_default(c_sdp_cep_nof_blocks_per_packet)),
       (field_name_pad("nof_destinations_max"),      "RO",  8, field_default(g_nof_destinations_max)),
       (field_name_pad("nof_destinations_act"),      "RO",  8, field_default(1)),
@@ -174,8 +174,8 @@ architecture str of sdp_bdo_destinations_reg is
       (field_name_pad("eth_destination_mac_1"),     "RW", 48, field_default(0)),
       (field_name_pad("eth_destination_mac_0"),     "RW", 48, field_default(0)) );
 
-  signal mm_fields_in  : std_logic_vector(field_slv_in_len(c_field_arr) - 1 downto 0);
-  signal mm_fields_out : std_logic_vector(field_slv_out_len(c_field_arr) - 1 downto 0);
+  signal mm_fields_in  : std_logic_vector(field_slv_in_len(c_fa) - 1 downto 0);
+  signal mm_fields_out : std_logic_vector(field_slv_out_len(c_fa) - 1 downto 0);
 
   signal destinations_info_rd : t_sdp_bdo_destinations_info := c_sdp_bdo_destinations_info_rst;
   signal destinations_info_wr : t_sdp_bdo_destinations_info := c_sdp_bdo_destinations_info_rst;
@@ -216,7 +216,7 @@ begin
     -- stability will have settled long before that.
     g_cross_clock_domain => false,
     g_use_slv_in_val     => false,  -- use false to save logic when always slv_in_val='1'
-    g_field_arr          => c_field_arr
+    g_field_arr          => c_fa
   )
   port map (
     mm_clk     => mm_clk,
@@ -235,111 +235,211 @@ begin
   );
 
   -- add "RO" fields to mm_fields
-  mm_fields_in(field_hi(c_field_arr, "nof_destinations_act")  downto field_lo(c_field_arr, "nof_destinations_act"))  <= to_uvec(destinations_info_rd.nof_destinations_act, 8);
-  mm_fields_in(field_hi(c_field_arr, "nof_destinations_max")  downto field_lo(c_field_arr, "nof_destinations_max"))  <= to_uvec(destinations_info_rd.nof_destinations_max, 8);
-  mm_fields_in(field_hi(c_field_arr, "nof_blocks_per_packet") downto field_lo(c_field_arr, "nof_blocks_per_packet")) <= to_uvec(destinations_info_rd.nof_blocks_per_packet, 8);
+  mm_fields_in(field_hi(c_fa, "nof_destinations_act") downto
+               field_lo(c_fa, "nof_destinations_act")) <= to_uvec(destinations_info_rd.nof_destinations_act, 8);
+  mm_fields_in(field_hi(c_fa, "nof_destinations_max") downto
+               field_lo(c_fa, "nof_destinations_max")) <= to_uvec(destinations_info_rd.nof_destinations_max, 8);
+  mm_fields_in(field_hi(c_fa, "nof_blocks_per_packet") downto
+               field_lo(c_fa, "nof_blocks_per_packet")) <= to_uvec(destinations_info_rd.nof_blocks_per_packet, 8);
 
   -- get "RW" fields from mm_fields
-  destinations_info_wr.eth_destination_mac_arr(0)  <= mm_fields_out(field_hi(c_field_arr, "eth_destination_mac_0") downto field_lo(c_field_arr, "eth_destination_mac_0"));
-  destinations_info_wr.eth_destination_mac_arr(1)  <= mm_fields_out(field_hi(c_field_arr, "eth_destination_mac_1") downto field_lo(c_field_arr, "eth_destination_mac_1"));
-  destinations_info_wr.eth_destination_mac_arr(2)  <= mm_fields_out(field_hi(c_field_arr, "eth_destination_mac_2") downto field_lo(c_field_arr, "eth_destination_mac_2"));
-  destinations_info_wr.eth_destination_mac_arr(3)  <= mm_fields_out(field_hi(c_field_arr, "eth_destination_mac_3") downto field_lo(c_field_arr, "eth_destination_mac_3"));
-  destinations_info_wr.eth_destination_mac_arr(4)  <= mm_fields_out(field_hi(c_field_arr, "eth_destination_mac_4") downto field_lo(c_field_arr, "eth_destination_mac_4"));
-  destinations_info_wr.eth_destination_mac_arr(5)  <= mm_fields_out(field_hi(c_field_arr, "eth_destination_mac_5") downto field_lo(c_field_arr, "eth_destination_mac_5"));
-  destinations_info_wr.eth_destination_mac_arr(6)  <= mm_fields_out(field_hi(c_field_arr, "eth_destination_mac_6") downto field_lo(c_field_arr, "eth_destination_mac_6"));
-  destinations_info_wr.eth_destination_mac_arr(7)  <= mm_fields_out(field_hi(c_field_arr, "eth_destination_mac_7") downto field_lo(c_field_arr, "eth_destination_mac_7"));
-  destinations_info_wr.eth_destination_mac_arr(8)  <= mm_fields_out(field_hi(c_field_arr, "eth_destination_mac_8") downto field_lo(c_field_arr, "eth_destination_mac_8"));
-  destinations_info_wr.eth_destination_mac_arr(9)  <= mm_fields_out(field_hi(c_field_arr, "eth_destination_mac_9") downto field_lo(c_field_arr, "eth_destination_mac_9"));
-  destinations_info_wr.eth_destination_mac_arr(10) <= mm_fields_out(field_hi(c_field_arr, "eth_destination_mac_10") downto field_lo(c_field_arr, "eth_destination_mac_10"));
-  destinations_info_wr.eth_destination_mac_arr(11) <= mm_fields_out(field_hi(c_field_arr, "eth_destination_mac_11") downto field_lo(c_field_arr, "eth_destination_mac_11"));
-  destinations_info_wr.eth_destination_mac_arr(12) <= mm_fields_out(field_hi(c_field_arr, "eth_destination_mac_12") downto field_lo(c_field_arr, "eth_destination_mac_12"));
-  destinations_info_wr.eth_destination_mac_arr(13) <= mm_fields_out(field_hi(c_field_arr, "eth_destination_mac_13") downto field_lo(c_field_arr, "eth_destination_mac_13"));
-  destinations_info_wr.eth_destination_mac_arr(14) <= mm_fields_out(field_hi(c_field_arr, "eth_destination_mac_14") downto field_lo(c_field_arr, "eth_destination_mac_14"));
-  destinations_info_wr.eth_destination_mac_arr(15) <= mm_fields_out(field_hi(c_field_arr, "eth_destination_mac_15") downto field_lo(c_field_arr, "eth_destination_mac_15"));
-  destinations_info_wr.eth_destination_mac_arr(16) <= mm_fields_out(field_hi(c_field_arr, "eth_destination_mac_16") downto field_lo(c_field_arr, "eth_destination_mac_16"));
-  destinations_info_wr.eth_destination_mac_arr(17) <= mm_fields_out(field_hi(c_field_arr, "eth_destination_mac_17") downto field_lo(c_field_arr, "eth_destination_mac_17"));
-  destinations_info_wr.eth_destination_mac_arr(18) <= mm_fields_out(field_hi(c_field_arr, "eth_destination_mac_18") downto field_lo(c_field_arr, "eth_destination_mac_18"));
-  destinations_info_wr.eth_destination_mac_arr(19) <= mm_fields_out(field_hi(c_field_arr, "eth_destination_mac_19") downto field_lo(c_field_arr, "eth_destination_mac_19"));
-  destinations_info_wr.eth_destination_mac_arr(20) <= mm_fields_out(field_hi(c_field_arr, "eth_destination_mac_20") downto field_lo(c_field_arr, "eth_destination_mac_20"));
-  destinations_info_wr.eth_destination_mac_arr(21) <= mm_fields_out(field_hi(c_field_arr, "eth_destination_mac_21") downto field_lo(c_field_arr, "eth_destination_mac_21"));
-  destinations_info_wr.eth_destination_mac_arr(22) <= mm_fields_out(field_hi(c_field_arr, "eth_destination_mac_22") downto field_lo(c_field_arr, "eth_destination_mac_22"));
-  destinations_info_wr.eth_destination_mac_arr(23) <= mm_fields_out(field_hi(c_field_arr, "eth_destination_mac_23") downto field_lo(c_field_arr, "eth_destination_mac_23"));
-  destinations_info_wr.eth_destination_mac_arr(24) <= mm_fields_out(field_hi(c_field_arr, "eth_destination_mac_24") downto field_lo(c_field_arr, "eth_destination_mac_24"));
-  destinations_info_wr.eth_destination_mac_arr(25) <= mm_fields_out(field_hi(c_field_arr, "eth_destination_mac_25") downto field_lo(c_field_arr, "eth_destination_mac_25"));
-  destinations_info_wr.eth_destination_mac_arr(26) <= mm_fields_out(field_hi(c_field_arr, "eth_destination_mac_26") downto field_lo(c_field_arr, "eth_destination_mac_26"));
-  destinations_info_wr.eth_destination_mac_arr(27) <= mm_fields_out(field_hi(c_field_arr, "eth_destination_mac_27") downto field_lo(c_field_arr, "eth_destination_mac_27"));
-  destinations_info_wr.eth_destination_mac_arr(28) <= mm_fields_out(field_hi(c_field_arr, "eth_destination_mac_28") downto field_lo(c_field_arr, "eth_destination_mac_28"));
-  destinations_info_wr.eth_destination_mac_arr(29) <= mm_fields_out(field_hi(c_field_arr, "eth_destination_mac_29") downto field_lo(c_field_arr, "eth_destination_mac_29"));
-  destinations_info_wr.eth_destination_mac_arr(30) <= mm_fields_out(field_hi(c_field_arr, "eth_destination_mac_30") downto field_lo(c_field_arr, "eth_destination_mac_30"));
-  destinations_info_wr.eth_destination_mac_arr(31) <= mm_fields_out(field_hi(c_field_arr, "eth_destination_mac_31") downto field_lo(c_field_arr, "eth_destination_mac_31"));
+  destinations_info_wr.eth_destination_mac_arr(0)  <= mm_fields_out(field_hi(c_fa, "eth_destination_mac_0") downto
+                                                                    field_lo(c_fa, "eth_destination_mac_0"));
+  destinations_info_wr.eth_destination_mac_arr(1)  <= mm_fields_out(field_hi(c_fa, "eth_destination_mac_1") downto
+                                                                    field_lo(c_fa, "eth_destination_mac_1"));
+  destinations_info_wr.eth_destination_mac_arr(2)  <= mm_fields_out(field_hi(c_fa, "eth_destination_mac_2") downto
+                                                                    field_lo(c_fa, "eth_destination_mac_2"));
+  destinations_info_wr.eth_destination_mac_arr(3)  <= mm_fields_out(field_hi(c_fa, "eth_destination_mac_3") downto
+                                                                    field_lo(c_fa, "eth_destination_mac_3"));
+  destinations_info_wr.eth_destination_mac_arr(4)  <= mm_fields_out(field_hi(c_fa, "eth_destination_mac_4") downto
+                                                                    field_lo(c_fa, "eth_destination_mac_4"));
+  destinations_info_wr.eth_destination_mac_arr(5)  <= mm_fields_out(field_hi(c_fa, "eth_destination_mac_5") downto
+                                                                    field_lo(c_fa, "eth_destination_mac_5"));
+  destinations_info_wr.eth_destination_mac_arr(6)  <= mm_fields_out(field_hi(c_fa, "eth_destination_mac_6") downto
+                                                                    field_lo(c_fa, "eth_destination_mac_6"));
+  destinations_info_wr.eth_destination_mac_arr(7)  <= mm_fields_out(field_hi(c_fa, "eth_destination_mac_7") downto
+                                                                    field_lo(c_fa, "eth_destination_mac_7"));
+  destinations_info_wr.eth_destination_mac_arr(8)  <= mm_fields_out(field_hi(c_fa, "eth_destination_mac_8") downto
+                                                                    field_lo(c_fa, "eth_destination_mac_8"));
+  destinations_info_wr.eth_destination_mac_arr(9)  <= mm_fields_out(field_hi(c_fa, "eth_destination_mac_9") downto
+                                                                    field_lo(c_fa, "eth_destination_mac_9"));
+  destinations_info_wr.eth_destination_mac_arr(10) <= mm_fields_out(field_hi(c_fa, "eth_destination_mac_10") downto
+                                                                    field_lo(c_fa, "eth_destination_mac_10"));
+  destinations_info_wr.eth_destination_mac_arr(11) <= mm_fields_out(field_hi(c_fa, "eth_destination_mac_11") downto
+                                                                    field_lo(c_fa, "eth_destination_mac_11"));
+  destinations_info_wr.eth_destination_mac_arr(12) <= mm_fields_out(field_hi(c_fa, "eth_destination_mac_12") downto
+                                                                    field_lo(c_fa, "eth_destination_mac_12"));
+  destinations_info_wr.eth_destination_mac_arr(13) <= mm_fields_out(field_hi(c_fa, "eth_destination_mac_13") downto
+                                                                    field_lo(c_fa, "eth_destination_mac_13"));
+  destinations_info_wr.eth_destination_mac_arr(14) <= mm_fields_out(field_hi(c_fa, "eth_destination_mac_14") downto
+                                                                    field_lo(c_fa, "eth_destination_mac_14"));
+  destinations_info_wr.eth_destination_mac_arr(15) <= mm_fields_out(field_hi(c_fa, "eth_destination_mac_15") downto
+                                                                    field_lo(c_fa, "eth_destination_mac_15"));
+  destinations_info_wr.eth_destination_mac_arr(16) <= mm_fields_out(field_hi(c_fa, "eth_destination_mac_16") downto
+                                                                    field_lo(c_fa, "eth_destination_mac_16"));
+  destinations_info_wr.eth_destination_mac_arr(17) <= mm_fields_out(field_hi(c_fa, "eth_destination_mac_17") downto
+                                                                    field_lo(c_fa, "eth_destination_mac_17"));
+  destinations_info_wr.eth_destination_mac_arr(18) <= mm_fields_out(field_hi(c_fa, "eth_destination_mac_18") downto
+                                                                    field_lo(c_fa, "eth_destination_mac_18"));
+  destinations_info_wr.eth_destination_mac_arr(19) <= mm_fields_out(field_hi(c_fa, "eth_destination_mac_19") downto
+                                                                    field_lo(c_fa, "eth_destination_mac_19"));
+  destinations_info_wr.eth_destination_mac_arr(20) <= mm_fields_out(field_hi(c_fa, "eth_destination_mac_20") downto
+                                                                    field_lo(c_fa, "eth_destination_mac_20"));
+  destinations_info_wr.eth_destination_mac_arr(21) <= mm_fields_out(field_hi(c_fa, "eth_destination_mac_21") downto
+                                                                    field_lo(c_fa, "eth_destination_mac_21"));
+  destinations_info_wr.eth_destination_mac_arr(22) <= mm_fields_out(field_hi(c_fa, "eth_destination_mac_22") downto
+                                                                    field_lo(c_fa, "eth_destination_mac_22"));
+  destinations_info_wr.eth_destination_mac_arr(23) <= mm_fields_out(field_hi(c_fa, "eth_destination_mac_23") downto
+                                                                    field_lo(c_fa, "eth_destination_mac_23"));
+  destinations_info_wr.eth_destination_mac_arr(24) <= mm_fields_out(field_hi(c_fa, "eth_destination_mac_24") downto
+                                                                    field_lo(c_fa, "eth_destination_mac_24"));
+  destinations_info_wr.eth_destination_mac_arr(25) <= mm_fields_out(field_hi(c_fa, "eth_destination_mac_25") downto
+                                                                    field_lo(c_fa, "eth_destination_mac_25"));
+  destinations_info_wr.eth_destination_mac_arr(26) <= mm_fields_out(field_hi(c_fa, "eth_destination_mac_26") downto
+                                                                    field_lo(c_fa, "eth_destination_mac_26"));
+  destinations_info_wr.eth_destination_mac_arr(27) <= mm_fields_out(field_hi(c_fa, "eth_destination_mac_27") downto
+                                                                    field_lo(c_fa, "eth_destination_mac_27"));
+  destinations_info_wr.eth_destination_mac_arr(28) <= mm_fields_out(field_hi(c_fa, "eth_destination_mac_28") downto
+                                                                    field_lo(c_fa, "eth_destination_mac_28"));
+  destinations_info_wr.eth_destination_mac_arr(29) <= mm_fields_out(field_hi(c_fa, "eth_destination_mac_29") downto
+                                                                    field_lo(c_fa, "eth_destination_mac_29"));
+  destinations_info_wr.eth_destination_mac_arr(30) <= mm_fields_out(field_hi(c_fa, "eth_destination_mac_30") downto
+                                                                    field_lo(c_fa, "eth_destination_mac_30"));
+  destinations_info_wr.eth_destination_mac_arr(31) <= mm_fields_out(field_hi(c_fa, "eth_destination_mac_31") downto
+                                                                    field_lo(c_fa, "eth_destination_mac_31"));
 
-  destinations_info_wr.ip_destination_address_arr(0)  <= mm_fields_out(field_hi(c_field_arr, "ip_destination_address_0") downto field_lo(c_field_arr, "ip_destination_address_0"));
-  destinations_info_wr.ip_destination_address_arr(1)  <= mm_fields_out(field_hi(c_field_arr, "ip_destination_address_1") downto field_lo(c_field_arr, "ip_destination_address_1"));
-  destinations_info_wr.ip_destination_address_arr(2)  <= mm_fields_out(field_hi(c_field_arr, "ip_destination_address_2") downto field_lo(c_field_arr, "ip_destination_address_2"));
-  destinations_info_wr.ip_destination_address_arr(3)  <= mm_fields_out(field_hi(c_field_arr, "ip_destination_address_3") downto field_lo(c_field_arr, "ip_destination_address_3"));
-  destinations_info_wr.ip_destination_address_arr(4)  <= mm_fields_out(field_hi(c_field_arr, "ip_destination_address_4") downto field_lo(c_field_arr, "ip_destination_address_4"));
-  destinations_info_wr.ip_destination_address_arr(5)  <= mm_fields_out(field_hi(c_field_arr, "ip_destination_address_5") downto field_lo(c_field_arr, "ip_destination_address_5"));
-  destinations_info_wr.ip_destination_address_arr(6)  <= mm_fields_out(field_hi(c_field_arr, "ip_destination_address_6") downto field_lo(c_field_arr, "ip_destination_address_6"));
-  destinations_info_wr.ip_destination_address_arr(7)  <= mm_fields_out(field_hi(c_field_arr, "ip_destination_address_7") downto field_lo(c_field_arr, "ip_destination_address_7"));
-  destinations_info_wr.ip_destination_address_arr(8)  <= mm_fields_out(field_hi(c_field_arr, "ip_destination_address_8") downto field_lo(c_field_arr, "ip_destination_address_8"));
-  destinations_info_wr.ip_destination_address_arr(9)  <= mm_fields_out(field_hi(c_field_arr, "ip_destination_address_9") downto field_lo(c_field_arr, "ip_destination_address_9"));
-  destinations_info_wr.ip_destination_address_arr(10) <= mm_fields_out(field_hi(c_field_arr, "ip_destination_address_10") downto field_lo(c_field_arr, "ip_destination_address_10"));
-  destinations_info_wr.ip_destination_address_arr(11) <= mm_fields_out(field_hi(c_field_arr, "ip_destination_address_11") downto field_lo(c_field_arr, "ip_destination_address_11"));
-  destinations_info_wr.ip_destination_address_arr(12) <= mm_fields_out(field_hi(c_field_arr, "ip_destination_address_12") downto field_lo(c_field_arr, "ip_destination_address_12"));
-  destinations_info_wr.ip_destination_address_arr(13) <= mm_fields_out(field_hi(c_field_arr, "ip_destination_address_13") downto field_lo(c_field_arr, "ip_destination_address_13"));
-  destinations_info_wr.ip_destination_address_arr(14) <= mm_fields_out(field_hi(c_field_arr, "ip_destination_address_14") downto field_lo(c_field_arr, "ip_destination_address_14"));
-  destinations_info_wr.ip_destination_address_arr(15) <= mm_fields_out(field_hi(c_field_arr, "ip_destination_address_15") downto field_lo(c_field_arr, "ip_destination_address_15"));
-  destinations_info_wr.ip_destination_address_arr(16) <= mm_fields_out(field_hi(c_field_arr, "ip_destination_address_16") downto field_lo(c_field_arr, "ip_destination_address_16"));
-  destinations_info_wr.ip_destination_address_arr(17) <= mm_fields_out(field_hi(c_field_arr, "ip_destination_address_17") downto field_lo(c_field_arr, "ip_destination_address_17"));
-  destinations_info_wr.ip_destination_address_arr(18) <= mm_fields_out(field_hi(c_field_arr, "ip_destination_address_18") downto field_lo(c_field_arr, "ip_destination_address_18"));
-  destinations_info_wr.ip_destination_address_arr(19) <= mm_fields_out(field_hi(c_field_arr, "ip_destination_address_19") downto field_lo(c_field_arr, "ip_destination_address_19"));
-  destinations_info_wr.ip_destination_address_arr(20) <= mm_fields_out(field_hi(c_field_arr, "ip_destination_address_20") downto field_lo(c_field_arr, "ip_destination_address_20"));
-  destinations_info_wr.ip_destination_address_arr(21) <= mm_fields_out(field_hi(c_field_arr, "ip_destination_address_21") downto field_lo(c_field_arr, "ip_destination_address_21"));
-  destinations_info_wr.ip_destination_address_arr(22) <= mm_fields_out(field_hi(c_field_arr, "ip_destination_address_22") downto field_lo(c_field_arr, "ip_destination_address_22"));
-  destinations_info_wr.ip_destination_address_arr(23) <= mm_fields_out(field_hi(c_field_arr, "ip_destination_address_23") downto field_lo(c_field_arr, "ip_destination_address_23"));
-  destinations_info_wr.ip_destination_address_arr(24) <= mm_fields_out(field_hi(c_field_arr, "ip_destination_address_24") downto field_lo(c_field_arr, "ip_destination_address_24"));
-  destinations_info_wr.ip_destination_address_arr(25) <= mm_fields_out(field_hi(c_field_arr, "ip_destination_address_25") downto field_lo(c_field_arr, "ip_destination_address_25"));
-  destinations_info_wr.ip_destination_address_arr(26) <= mm_fields_out(field_hi(c_field_arr, "ip_destination_address_26") downto field_lo(c_field_arr, "ip_destination_address_26"));
-  destinations_info_wr.ip_destination_address_arr(27) <= mm_fields_out(field_hi(c_field_arr, "ip_destination_address_27") downto field_lo(c_field_arr, "ip_destination_address_27"));
-  destinations_info_wr.ip_destination_address_arr(28) <= mm_fields_out(field_hi(c_field_arr, "ip_destination_address_28") downto field_lo(c_field_arr, "ip_destination_address_28"));
-  destinations_info_wr.ip_destination_address_arr(29) <= mm_fields_out(field_hi(c_field_arr, "ip_destination_address_29") downto field_lo(c_field_arr, "ip_destination_address_29"));
-  destinations_info_wr.ip_destination_address_arr(30) <= mm_fields_out(field_hi(c_field_arr, "ip_destination_address_30") downto field_lo(c_field_arr, "ip_destination_address_30"));
-  destinations_info_wr.ip_destination_address_arr(31) <= mm_fields_out(field_hi(c_field_arr, "ip_destination_address_31") downto field_lo(c_field_arr, "ip_destination_address_31"));
+  destinations_info_wr.ip_destination_address_arr(0)  <= mm_fields_out(field_hi(c_fa, "ip_destination_address_0")
+                                                                downto field_lo(c_fa, "ip_destination_address_0"));
+  destinations_info_wr.ip_destination_address_arr(1)  <= mm_fields_out(field_hi(c_fa, "ip_destination_address_1")
+                                                                downto field_lo(c_fa, "ip_destination_address_1"));
+  destinations_info_wr.ip_destination_address_arr(2)  <= mm_fields_out(field_hi(c_fa, "ip_destination_address_2")
+                                                                downto field_lo(c_fa, "ip_destination_address_2"));
+  destinations_info_wr.ip_destination_address_arr(3)  <= mm_fields_out(field_hi(c_fa, "ip_destination_address_3")
+                                                                downto field_lo(c_fa, "ip_destination_address_3"));
+  destinations_info_wr.ip_destination_address_arr(4)  <= mm_fields_out(field_hi(c_fa, "ip_destination_address_4")
+                                                                downto field_lo(c_fa, "ip_destination_address_4"));
+  destinations_info_wr.ip_destination_address_arr(5)  <= mm_fields_out(field_hi(c_fa, "ip_destination_address_5")
+                                                                downto field_lo(c_fa, "ip_destination_address_5"));
+  destinations_info_wr.ip_destination_address_arr(6)  <= mm_fields_out(field_hi(c_fa, "ip_destination_address_6")
+                                                                downto field_lo(c_fa, "ip_destination_address_6"));
+  destinations_info_wr.ip_destination_address_arr(7)  <= mm_fields_out(field_hi(c_fa, "ip_destination_address_7")
+                                                                downto field_lo(c_fa, "ip_destination_address_7"));
+  destinations_info_wr.ip_destination_address_arr(8)  <= mm_fields_out(field_hi(c_fa, "ip_destination_address_8")
+                                                                downto field_lo(c_fa, "ip_destination_address_8"));
+  destinations_info_wr.ip_destination_address_arr(9)  <= mm_fields_out(field_hi(c_fa, "ip_destination_address_9")
+                                                                downto field_lo(c_fa, "ip_destination_address_9"));
+  destinations_info_wr.ip_destination_address_arr(10) <= mm_fields_out(field_hi(c_fa, "ip_destination_address_10")
+                                                                downto field_lo(c_fa, "ip_destination_address_10"));
+  destinations_info_wr.ip_destination_address_arr(11) <= mm_fields_out(field_hi(c_fa, "ip_destination_address_11")
+                                                                downto field_lo(c_fa, "ip_destination_address_11"));
+  destinations_info_wr.ip_destination_address_arr(12) <= mm_fields_out(field_hi(c_fa, "ip_destination_address_12")
+                                                                downto field_lo(c_fa, "ip_destination_address_12"));
+  destinations_info_wr.ip_destination_address_arr(13) <= mm_fields_out(field_hi(c_fa, "ip_destination_address_13")
+                                                                downto field_lo(c_fa, "ip_destination_address_13"));
+  destinations_info_wr.ip_destination_address_arr(14) <= mm_fields_out(field_hi(c_fa, "ip_destination_address_14")
+                                                                downto field_lo(c_fa, "ip_destination_address_14"));
+  destinations_info_wr.ip_destination_address_arr(15) <= mm_fields_out(field_hi(c_fa, "ip_destination_address_15")
+                                                                downto field_lo(c_fa, "ip_destination_address_15"));
+  destinations_info_wr.ip_destination_address_arr(16) <= mm_fields_out(field_hi(c_fa, "ip_destination_address_16")
+                                                                downto field_lo(c_fa, "ip_destination_address_16"));
+  destinations_info_wr.ip_destination_address_arr(17) <= mm_fields_out(field_hi(c_fa, "ip_destination_address_17")
+                                                                downto field_lo(c_fa, "ip_destination_address_17"));
+  destinations_info_wr.ip_destination_address_arr(18) <= mm_fields_out(field_hi(c_fa, "ip_destination_address_18")
+                                                                downto field_lo(c_fa, "ip_destination_address_18"));
+  destinations_info_wr.ip_destination_address_arr(19) <= mm_fields_out(field_hi(c_fa, "ip_destination_address_19")
+                                                                downto field_lo(c_fa, "ip_destination_address_19"));
+  destinations_info_wr.ip_destination_address_arr(20) <= mm_fields_out(field_hi(c_fa, "ip_destination_address_20")
+                                                                downto field_lo(c_fa, "ip_destination_address_20"));
+  destinations_info_wr.ip_destination_address_arr(21) <= mm_fields_out(field_hi(c_fa, "ip_destination_address_21")
+                                                                downto field_lo(c_fa, "ip_destination_address_21"));
+  destinations_info_wr.ip_destination_address_arr(22) <= mm_fields_out(field_hi(c_fa, "ip_destination_address_22")
+                                                                downto field_lo(c_fa, "ip_destination_address_22"));
+  destinations_info_wr.ip_destination_address_arr(23) <= mm_fields_out(field_hi(c_fa, "ip_destination_address_23")
+                                                                downto field_lo(c_fa, "ip_destination_address_23"));
+  destinations_info_wr.ip_destination_address_arr(24) <= mm_fields_out(field_hi(c_fa, "ip_destination_address_24")
+                                                                downto field_lo(c_fa, "ip_destination_address_24"));
+  destinations_info_wr.ip_destination_address_arr(25) <= mm_fields_out(field_hi(c_fa, "ip_destination_address_25")
+                                                                downto field_lo(c_fa, "ip_destination_address_25"));
+  destinations_info_wr.ip_destination_address_arr(26) <= mm_fields_out(field_hi(c_fa, "ip_destination_address_26")
+                                                                downto field_lo(c_fa, "ip_destination_address_26"));
+  destinations_info_wr.ip_destination_address_arr(27) <= mm_fields_out(field_hi(c_fa, "ip_destination_address_27")
+                                                                downto field_lo(c_fa, "ip_destination_address_27"));
+  destinations_info_wr.ip_destination_address_arr(28) <= mm_fields_out(field_hi(c_fa, "ip_destination_address_28")
+                                                                downto field_lo(c_fa, "ip_destination_address_28"));
+  destinations_info_wr.ip_destination_address_arr(29) <= mm_fields_out(field_hi(c_fa, "ip_destination_address_29")
+                                                                downto field_lo(c_fa, "ip_destination_address_29"));
+  destinations_info_wr.ip_destination_address_arr(30) <= mm_fields_out(field_hi(c_fa, "ip_destination_address_30")
+                                                                downto field_lo(c_fa, "ip_destination_address_30"));
+  destinations_info_wr.ip_destination_address_arr(31) <= mm_fields_out(field_hi(c_fa, "ip_destination_address_31")
+                                                                downto field_lo(c_fa, "ip_destination_address_31"));
 
-  destinations_info_wr.udp_destination_port_arr(0)  <= mm_fields_out(field_hi(c_field_arr, "udp_destination_port_0") downto field_lo(c_field_arr, "udp_destination_port_0"));
-  destinations_info_wr.udp_destination_port_arr(1)  <= mm_fields_out(field_hi(c_field_arr, "udp_destination_port_1") downto field_lo(c_field_arr, "udp_destination_port_1"));
-  destinations_info_wr.udp_destination_port_arr(2)  <= mm_fields_out(field_hi(c_field_arr, "udp_destination_port_2") downto field_lo(c_field_arr, "udp_destination_port_2"));
-  destinations_info_wr.udp_destination_port_arr(3)  <= mm_fields_out(field_hi(c_field_arr, "udp_destination_port_3") downto field_lo(c_field_arr, "udp_destination_port_3"));
-  destinations_info_wr.udp_destination_port_arr(4)  <= mm_fields_out(field_hi(c_field_arr, "udp_destination_port_4") downto field_lo(c_field_arr, "udp_destination_port_4"));
-  destinations_info_wr.udp_destination_port_arr(5)  <= mm_fields_out(field_hi(c_field_arr, "udp_destination_port_5") downto field_lo(c_field_arr, "udp_destination_port_5"));
-  destinations_info_wr.udp_destination_port_arr(6)  <= mm_fields_out(field_hi(c_field_arr, "udp_destination_port_6") downto field_lo(c_field_arr, "udp_destination_port_6"));
-  destinations_info_wr.udp_destination_port_arr(7)  <= mm_fields_out(field_hi(c_field_arr, "udp_destination_port_7") downto field_lo(c_field_arr, "udp_destination_port_7"));
-  destinations_info_wr.udp_destination_port_arr(8)  <= mm_fields_out(field_hi(c_field_arr, "udp_destination_port_8") downto field_lo(c_field_arr, "udp_destination_port_8"));
-  destinations_info_wr.udp_destination_port_arr(9)  <= mm_fields_out(field_hi(c_field_arr, "udp_destination_port_9") downto field_lo(c_field_arr, "udp_destination_port_9"));
-  destinations_info_wr.udp_destination_port_arr(10) <= mm_fields_out(field_hi(c_field_arr, "udp_destination_port_10") downto field_lo(c_field_arr, "udp_destination_port_10"));
-  destinations_info_wr.udp_destination_port_arr(11) <= mm_fields_out(field_hi(c_field_arr, "udp_destination_port_11") downto field_lo(c_field_arr, "udp_destination_port_11"));
-  destinations_info_wr.udp_destination_port_arr(12) <= mm_fields_out(field_hi(c_field_arr, "udp_destination_port_12") downto field_lo(c_field_arr, "udp_destination_port_12"));
-  destinations_info_wr.udp_destination_port_arr(13) <= mm_fields_out(field_hi(c_field_arr, "udp_destination_port_13") downto field_lo(c_field_arr, "udp_destination_port_13"));
-  destinations_info_wr.udp_destination_port_arr(14) <= mm_fields_out(field_hi(c_field_arr, "udp_destination_port_14") downto field_lo(c_field_arr, "udp_destination_port_14"));
-  destinations_info_wr.udp_destination_port_arr(15) <= mm_fields_out(field_hi(c_field_arr, "udp_destination_port_15") downto field_lo(c_field_arr, "udp_destination_port_15"));
-  destinations_info_wr.udp_destination_port_arr(16) <= mm_fields_out(field_hi(c_field_arr, "udp_destination_port_16") downto field_lo(c_field_arr, "udp_destination_port_16"));
-  destinations_info_wr.udp_destination_port_arr(17) <= mm_fields_out(field_hi(c_field_arr, "udp_destination_port_17") downto field_lo(c_field_arr, "udp_destination_port_17"));
-  destinations_info_wr.udp_destination_port_arr(18) <= mm_fields_out(field_hi(c_field_arr, "udp_destination_port_18") downto field_lo(c_field_arr, "udp_destination_port_18"));
-  destinations_info_wr.udp_destination_port_arr(19) <= mm_fields_out(field_hi(c_field_arr, "udp_destination_port_19") downto field_lo(c_field_arr, "udp_destination_port_19"));
-  destinations_info_wr.udp_destination_port_arr(20) <= mm_fields_out(field_hi(c_field_arr, "udp_destination_port_20") downto field_lo(c_field_arr, "udp_destination_port_20"));
-  destinations_info_wr.udp_destination_port_arr(21) <= mm_fields_out(field_hi(c_field_arr, "udp_destination_port_21") downto field_lo(c_field_arr, "udp_destination_port_21"));
-  destinations_info_wr.udp_destination_port_arr(22) <= mm_fields_out(field_hi(c_field_arr, "udp_destination_port_22") downto field_lo(c_field_arr, "udp_destination_port_22"));
-  destinations_info_wr.udp_destination_port_arr(23) <= mm_fields_out(field_hi(c_field_arr, "udp_destination_port_23") downto field_lo(c_field_arr, "udp_destination_port_23"));
-  destinations_info_wr.udp_destination_port_arr(24) <= mm_fields_out(field_hi(c_field_arr, "udp_destination_port_24") downto field_lo(c_field_arr, "udp_destination_port_24"));
-  destinations_info_wr.udp_destination_port_arr(25) <= mm_fields_out(field_hi(c_field_arr, "udp_destination_port_25") downto field_lo(c_field_arr, "udp_destination_port_25"));
-  destinations_info_wr.udp_destination_port_arr(26) <= mm_fields_out(field_hi(c_field_arr, "udp_destination_port_26") downto field_lo(c_field_arr, "udp_destination_port_26"));
-  destinations_info_wr.udp_destination_port_arr(27) <= mm_fields_out(field_hi(c_field_arr, "udp_destination_port_27") downto field_lo(c_field_arr, "udp_destination_port_27"));
-  destinations_info_wr.udp_destination_port_arr(28) <= mm_fields_out(field_hi(c_field_arr, "udp_destination_port_28") downto field_lo(c_field_arr, "udp_destination_port_28"));
-  destinations_info_wr.udp_destination_port_arr(29) <= mm_fields_out(field_hi(c_field_arr, "udp_destination_port_29") downto field_lo(c_field_arr, "udp_destination_port_29"));
-  destinations_info_wr.udp_destination_port_arr(30) <= mm_fields_out(field_hi(c_field_arr, "udp_destination_port_30") downto field_lo(c_field_arr, "udp_destination_port_30"));
-  destinations_info_wr.udp_destination_port_arr(31) <= mm_fields_out(field_hi(c_field_arr, "udp_destination_port_31") downto field_lo(c_field_arr, "udp_destination_port_31"));
+  destinations_info_wr.udp_destination_port_arr(0)  <= mm_fields_out(field_hi(c_fa, "udp_destination_port_0") downto
+                                                                     field_lo(c_fa, "udp_destination_port_0"));
+  destinations_info_wr.udp_destination_port_arr(1)  <= mm_fields_out(field_hi(c_fa, "udp_destination_port_1") downto
+                                                                     field_lo(c_fa, "udp_destination_port_1"));
+  destinations_info_wr.udp_destination_port_arr(2)  <= mm_fields_out(field_hi(c_fa, "udp_destination_port_2") downto
+                                                                     field_lo(c_fa, "udp_destination_port_2"));
+  destinations_info_wr.udp_destination_port_arr(3)  <= mm_fields_out(field_hi(c_fa, "udp_destination_port_3") downto
+                                                                     field_lo(c_fa, "udp_destination_port_3"));
+  destinations_info_wr.udp_destination_port_arr(4)  <= mm_fields_out(field_hi(c_fa, "udp_destination_port_4") downto
+                                                                     field_lo(c_fa, "udp_destination_port_4"));
+  destinations_info_wr.udp_destination_port_arr(5)  <= mm_fields_out(field_hi(c_fa, "udp_destination_port_5") downto
+                                                                     field_lo(c_fa, "udp_destination_port_5"));
+  destinations_info_wr.udp_destination_port_arr(6)  <= mm_fields_out(field_hi(c_fa, "udp_destination_port_6") downto
+                                                                     field_lo(c_fa, "udp_destination_port_6"));
+  destinations_info_wr.udp_destination_port_arr(7)  <= mm_fields_out(field_hi(c_fa, "udp_destination_port_7") downto
+                                                                     field_lo(c_fa, "udp_destination_port_7"));
+  destinations_info_wr.udp_destination_port_arr(8)  <= mm_fields_out(field_hi(c_fa, "udp_destination_port_8") downto
+                                                                     field_lo(c_fa, "udp_destination_port_8"));
+  destinations_info_wr.udp_destination_port_arr(9)  <= mm_fields_out(field_hi(c_fa, "udp_destination_port_9") downto
+                                                                     field_lo(c_fa, "udp_destination_port_9"));
+  destinations_info_wr.udp_destination_port_arr(10) <= mm_fields_out(field_hi(c_fa, "udp_destination_port_10") downto
+                                                                     field_lo(c_fa, "udp_destination_port_10"));
+  destinations_info_wr.udp_destination_port_arr(11) <= mm_fields_out(field_hi(c_fa, "udp_destination_port_11") downto
+                                                                     field_lo(c_fa, "udp_destination_port_11"));
+  destinations_info_wr.udp_destination_port_arr(12) <= mm_fields_out(field_hi(c_fa, "udp_destination_port_12") downto
+                                                                     field_lo(c_fa, "udp_destination_port_12"));
+  destinations_info_wr.udp_destination_port_arr(13) <= mm_fields_out(field_hi(c_fa, "udp_destination_port_13") downto
+                                                                     field_lo(c_fa, "udp_destination_port_13"));
+  destinations_info_wr.udp_destination_port_arr(14) <= mm_fields_out(field_hi(c_fa, "udp_destination_port_14") downto
+                                                                     field_lo(c_fa, "udp_destination_port_14"));
+  destinations_info_wr.udp_destination_port_arr(15) <= mm_fields_out(field_hi(c_fa, "udp_destination_port_15") downto
+                                                                     field_lo(c_fa, "udp_destination_port_15"));
+  destinations_info_wr.udp_destination_port_arr(16) <= mm_fields_out(field_hi(c_fa, "udp_destination_port_16") downto
+                                                                     field_lo(c_fa, "udp_destination_port_16"));
+  destinations_info_wr.udp_destination_port_arr(17) <= mm_fields_out(field_hi(c_fa, "udp_destination_port_17") downto
+                                                                     field_lo(c_fa, "udp_destination_port_17"));
+  destinations_info_wr.udp_destination_port_arr(18) <= mm_fields_out(field_hi(c_fa, "udp_destination_port_18") downto
+                                                                     field_lo(c_fa, "udp_destination_port_18"));
+  destinations_info_wr.udp_destination_port_arr(19) <= mm_fields_out(field_hi(c_fa, "udp_destination_port_19") downto
+                                                                     field_lo(c_fa, "udp_destination_port_19"));
+  destinations_info_wr.udp_destination_port_arr(20) <= mm_fields_out(field_hi(c_fa, "udp_destination_port_20") downto
+                                                                     field_lo(c_fa, "udp_destination_port_20"));
+  destinations_info_wr.udp_destination_port_arr(21) <= mm_fields_out(field_hi(c_fa, "udp_destination_port_21") downto
+                                                                     field_lo(c_fa, "udp_destination_port_21"));
+  destinations_info_wr.udp_destination_port_arr(22) <= mm_fields_out(field_hi(c_fa, "udp_destination_port_22") downto
+                                                                     field_lo(c_fa, "udp_destination_port_22"));
+  destinations_info_wr.udp_destination_port_arr(23) <= mm_fields_out(field_hi(c_fa, "udp_destination_port_23") downto
+                                                                     field_lo(c_fa, "udp_destination_port_23"));
+  destinations_info_wr.udp_destination_port_arr(24) <= mm_fields_out(field_hi(c_fa, "udp_destination_port_24") downto
+                                                                     field_lo(c_fa, "udp_destination_port_24"));
+  destinations_info_wr.udp_destination_port_arr(25) <= mm_fields_out(field_hi(c_fa, "udp_destination_port_25") downto
+                                                                     field_lo(c_fa, "udp_destination_port_25"));
+  destinations_info_wr.udp_destination_port_arr(26) <= mm_fields_out(field_hi(c_fa, "udp_destination_port_26") downto
+                                                                     field_lo(c_fa, "udp_destination_port_26"));
+  destinations_info_wr.udp_destination_port_arr(27) <= mm_fields_out(field_hi(c_fa, "udp_destination_port_27") downto
+                                                                     field_lo(c_fa, "udp_destination_port_27"));
+  destinations_info_wr.udp_destination_port_arr(28) <= mm_fields_out(field_hi(c_fa, "udp_destination_port_28") downto
+                                                                     field_lo(c_fa, "udp_destination_port_28"));
+  destinations_info_wr.udp_destination_port_arr(29) <= mm_fields_out(field_hi(c_fa, "udp_destination_port_29") downto
+                                                                     field_lo(c_fa, "udp_destination_port_29"));
+  destinations_info_wr.udp_destination_port_arr(30) <= mm_fields_out(field_hi(c_fa, "udp_destination_port_30") downto
+                                                                     field_lo(c_fa, "udp_destination_port_30"));
+  destinations_info_wr.udp_destination_port_arr(31) <= mm_fields_out(field_hi(c_fa, "udp_destination_port_31") downto
+                                                                     field_lo(c_fa, "udp_destination_port_31"));
 
-  destinations_info_wr.nof_destinations <= to_uint(mm_fields_out(field_hi(c_field_arr, "nof_destinations") downto field_lo(c_field_arr, "nof_destinations")));
+  destinations_info_wr.nof_destinations <= to_uint(mm_fields_out(field_hi(c_fa, "nof_destinations") downto
+                                                                 field_lo(c_fa, "nof_destinations")));
 
   -- Register the read only actual values, to ease timing closure
   p_dp_clk : process(dp_clk)
@@ -347,7 +447,8 @@ begin
       func_sdp_bdo_reorder_nof_blocks_look_up_table(g_nof_destinations_max);
   begin
     if rising_edge(dp_clk) then
-      nof_destinations_act <= func_sdp_bdo_parse_nof_destinations(destinations_info_wr.nof_destinations, g_nof_destinations_max);
+      nof_destinations_act <= func_sdp_bdo_parse_nof_destinations(destinations_info_wr.nof_destinations,
+                                                                  g_nof_destinations_max);
       nof_blocks_per_packet <= c_nof_blocks_per_packet_arr(nof_destinations_act);
     end if;
   end process;
diff --git a/applications/lofar2/libraries/sdp/src/vhdl/sdp_bdo_one_destination.vhd b/applications/lofar2/libraries/sdp/src/vhdl/sdp_bdo_one_destination.vhd
index 4403f42f09f5178ce27b364f7df6218e73bd9adc..2714c98838e8a0832c8f7bbf16ca2c6a7d5e63e2 100644
--- a/applications/lofar2/libraries/sdp/src/vhdl/sdp_bdo_one_destination.vhd
+++ b/applications/lofar2/libraries/sdp/src/vhdl/sdp_bdo_one_destination.vhd
@@ -62,7 +62,8 @@ architecture str of sdp_bdo_one_destination is
   constant c_nof_blocks_per_packet  : natural := c_sdp_cep_nof_blocks_per_packet;  -- = 4
   constant c_nof_beamlets_per_block : natural := c_sdp_S_sub_bf;  -- = 488 dual pol beamlets
   constant c_nof_words_per_beamlet  : natural := 1;  -- 1 dual pol beamlet data per 32b word
-  constant c_nof_ch                 : natural := c_nof_blocks_per_packet * c_nof_beamlets_per_block * c_nof_words_per_beamlet;  -- = 1952
+  constant c_nof_ch                 : natural := c_nof_blocks_per_packet *
+                                                 c_nof_beamlets_per_block * c_nof_words_per_beamlet;  -- = 1952
 
   -- Use c_transpose_indices and c_transpose_indices_inv for debug view in Objects window.
   -- Use c_transpose_indices for func_reorder_transpose() in this sdp_bdo_one_destination,
diff --git a/applications/lofar2/libraries/sdp/src/vhdl/sdp_bdo_pkg.vhd b/applications/lofar2/libraries/sdp/src/vhdl/sdp_bdo_pkg.vhd
index 1dd450cdd7c02d44807aea9d90f63190ca31733f..ad2b13c4ee74484254e8fb74805c3547573459b4 100644
--- a/applications/lofar2/libraries/sdp/src/vhdl/sdp_bdo_pkg.vhd
+++ b/applications/lofar2/libraries/sdp/src/vhdl/sdp_bdo_pkg.vhd
@@ -28,9 +28,9 @@
 -- . [1] https://support.astron.nl/confluence/display/L2M/L4+SDPFW+Decision%3A+Multiple+beamlet+output+destinations
 -------------------------------------------------------------------------------
 library IEEE, common_lib;
-use IEEE.std_logic_1164.all;
-use common_lib.common_pkg.all;
-use work.sdp_pkg.all;
+  use IEEE.std_logic_1164.all;
+  use common_lib.common_pkg.all;
+  use work.sdp_pkg.all;
 
 package sdp_bdo_pkg is
   -- Beamlet data output (BDO) for multiple destinations
@@ -103,15 +103,20 @@ package sdp_bdo_pkg is
   -- . Look up table arrays for: t_natural_arr(1 to c_nof_destinations_max)
   function func_sdp_bdo_reorder_nof_blocks_look_up_table(c_nof_destinations_max : natural) return t_natural_arr;
   function func_sdp_bdo_reorder_nof_ch_look_up_table(c_nof_destinations_max : natural) return t_natural_arr;
-  function func_sdp_bdo_nof_beamlets_per_block_first_destinations_look_up_table(c_nof_destinations_max : natural) return t_natural_arr;
-  function func_sdp_bdo_nof_beamlets_per_block_last_destination_look_up_table(c_nof_destinations_max : natural) return t_natural_arr;
-  function func_sdp_bdo_nof_ch_per_packet_first_destinations_look_up_table(c_nof_destinations_max : natural) return t_natural_arr;
-  function func_sdp_bdo_nof_ch_per_packet_last_destination_look_up_table(c_nof_destinations_max : natural) return t_natural_arr;
+  function func_sdp_bdo_nof_beamlets_per_block_first_destinations_look_up_table(c_nof_destinations_max : natural)
+      return t_natural_arr;
+  function func_sdp_bdo_nof_beamlets_per_block_last_destination_look_up_table(c_nof_destinations_max : natural)
+      return t_natural_arr;
+  function func_sdp_bdo_nof_ch_per_packet_first_destinations_look_up_table(c_nof_destinations_max : natural)
+      return t_natural_arr;
+  function func_sdp_bdo_nof_ch_per_packet_last_destination_look_up_table(c_nof_destinations_max : natural)
+      return t_natural_arr;
 
   -- Look up table matrix for:
   --   t_natural_matrix(1 to c_nof_destinations_max,      -- N_destinations
   --                    0 to c_nof_destinations_max - 1)  -- destination index
-  function func_sdp_bdo_beamlet_index_per_destination_look_up_matrix(c_nof_destinations_max : natural) return t_natural_matrix;
+  function func_sdp_bdo_beamlet_index_per_destination_look_up_matrix(c_nof_destinations_max : natural)
+      return t_natural_matrix;
 end package sdp_bdo_pkg;
 
 package body sdp_bdo_pkg is
@@ -177,7 +182,8 @@ package body sdp_bdo_pkg is
     return v_arr;
   end func_sdp_bdo_reorder_nof_ch_look_up_table;
 
-  function func_sdp_bdo_nof_beamlets_per_block_first_destinations_look_up_table(c_nof_destinations_max : natural) return t_natural_arr is
+  function func_sdp_bdo_nof_beamlets_per_block_first_destinations_look_up_table(c_nof_destinations_max : natural)
+      return t_natural_arr is
     variable v_first_arr : t_natural_arr(1 to c_nof_destinations_max);
   begin
     -- Determine nof_beamlets_per_block for the first 1:DN-1 destinations, as
@@ -192,9 +198,10 @@ package body sdp_bdo_pkg is
     return v_first_arr;
   end func_sdp_bdo_nof_beamlets_per_block_first_destinations_look_up_table;
 
-  function func_sdp_bdo_nof_beamlets_per_block_last_destination_look_up_table(c_nof_destinations_max : natural) return t_natural_arr is
+  function func_sdp_bdo_nof_beamlets_per_block_last_destination_look_up_table(c_nof_destinations_max : natural)
+      return t_natural_arr is
     variable v_first_arr : t_natural_arr(1 to c_nof_destinations_max) :=
-                             func_sdp_bdo_nof_beamlets_per_block_first_destinations_look_up_table(c_nof_destinations_max);
+                           func_sdp_bdo_nof_beamlets_per_block_first_destinations_look_up_table(c_nof_destinations_max);
     variable v_last_arr  : t_natural_arr(1 to c_nof_destinations_max);
     variable v_last      : integer;
   begin
@@ -234,11 +241,12 @@ package body sdp_bdo_pkg is
     return v_last_arr;
   end func_sdp_bdo_nof_beamlets_per_block_last_destination_look_up_table;
 
-  function func_sdp_bdo_nof_ch_per_packet_first_destinations_look_up_table(c_nof_destinations_max : natural) return t_natural_arr is
+  function func_sdp_bdo_nof_ch_per_packet_first_destinations_look_up_table(c_nof_destinations_max : natural)
+      return t_natural_arr is
     constant c_nof_blocks_arr   : t_natural_arr(1 to c_nof_destinations_max) :=
                                     func_sdp_bdo_reorder_nof_blocks_look_up_table(c_nof_destinations_max);
     constant c_nof_beamlets_arr : t_natural_arr(1 to c_nof_destinations_max) :=
-                                    func_sdp_bdo_nof_beamlets_per_block_first_destinations_look_up_table(c_nof_destinations_max);
+                           func_sdp_bdo_nof_beamlets_per_block_first_destinations_look_up_table(c_nof_destinations_max);
     variable v_len_arr : t_natural_arr(1 to c_nof_destinations_max);
   begin
     -- Determine nof_ch per packet for the first 1:DN-1 destinations, as
@@ -261,11 +269,12 @@ package body sdp_bdo_pkg is
     return v_len_arr;
   end func_sdp_bdo_nof_ch_per_packet_first_destinations_look_up_table;
 
-  function func_sdp_bdo_nof_ch_per_packet_last_destination_look_up_table(c_nof_destinations_max : natural) return t_natural_arr is
+  function func_sdp_bdo_nof_ch_per_packet_last_destination_look_up_table(c_nof_destinations_max : natural)
+      return t_natural_arr is
     constant c_nof_blocks_arr   : t_natural_arr(1 to c_nof_destinations_max) :=
                                     func_sdp_bdo_reorder_nof_blocks_look_up_table(c_nof_destinations_max);
     constant c_nof_beamlets_arr : t_natural_arr(1 to c_nof_destinations_max) :=
-                                    func_sdp_bdo_nof_beamlets_per_block_last_destination_look_up_table(c_nof_destinations_max);
+                             func_sdp_bdo_nof_beamlets_per_block_last_destination_look_up_table(c_nof_destinations_max);
     variable v_len_arr : t_natural_arr(1 to c_nof_destinations_max);
   begin
     -- Determine nof_ch per packet for the first 1:DN-1 destinations, as
@@ -281,9 +290,10 @@ package body sdp_bdo_pkg is
     return v_len_arr;
   end func_sdp_bdo_nof_ch_per_packet_last_destination_look_up_table;
 
-  function func_sdp_bdo_beamlet_index_per_destination_look_up_matrix(c_nof_destinations_max : natural) return t_natural_matrix is
+  function func_sdp_bdo_beamlet_index_per_destination_look_up_matrix(c_nof_destinations_max : natural)
+      return t_natural_matrix is
     constant c_len_arr   : t_natural_arr(1 to c_nof_destinations_max) :=
-                             func_sdp_bdo_nof_beamlets_per_block_first_destinations_look_up_table(c_nof_destinations_max);
+                           func_sdp_bdo_nof_beamlets_per_block_first_destinations_look_up_table(c_nof_destinations_max);
     variable v_index_mat : t_natural_matrix(1 to c_nof_destinations_max,
                                             0 to c_nof_destinations_max - 1);
     variable v_beamlet_index : natural;
diff --git a/applications/lofar2/libraries/sdp/src/vhdl/sdp_beamformer_local.vhd b/applications/lofar2/libraries/sdp/src/vhdl/sdp_beamformer_local.vhd
index 8281d80b1bd11b173bc637046d00f1ebb78177cc..8cec2791a851eca9cff43c06328a9848ee8ddf89 100644
--- a/applications/lofar2/libraries/sdp/src/vhdl/sdp_beamformer_local.vhd
+++ b/applications/lofar2/libraries/sdp/src/vhdl/sdp_beamformer_local.vhd
@@ -31,11 +31,11 @@
 -------------------------------------------------------------------------------
 
 library IEEE, common_lib, dp_lib;
-use IEEE.std_logic_1164.all;
-use common_lib.common_pkg.all;
-use common_lib.common_mem_pkg.all;
-use dp_lib.dp_stream_pkg.all;
-use work.sdp_pkg.all;
+  use IEEE.std_logic_1164.all;
+  use common_lib.common_pkg.all;
+  use common_lib.common_mem_pkg.all;
+  use dp_lib.dp_stream_pkg.all;
+  use work.sdp_pkg.all;
 
 entity sdp_beamformer_local is
   generic (
@@ -75,9 +75,11 @@ architecture str of sdp_beamformer_local is
   -- the sum.
   constant c_complex_adder_sum_w   : natural := c_product_w + ceil_log2(c_sdp_S_pn);
 
-  signal sub_sosi_arr             : t_dp_sosi_arr(c_sdp_N_pol_bf * c_sdp_P_pfb - 1 downto 0)  := (others => c_dp_sosi_rst);
+  signal sub_sosi_arr             : t_dp_sosi_arr(c_sdp_N_pol_bf * c_sdp_P_pfb - 1 downto 0) :=
+                                        (others => c_dp_sosi_rst);
 
-  signal bf_weights_out_sosi_arr  : t_dp_sosi_arr(c_sdp_N_pol_bf * c_sdp_P_pfb - 1 downto 0)  := (others => c_dp_sosi_rst);
+  signal bf_weights_out_sosi_arr  : t_dp_sosi_arr(c_sdp_N_pol_bf * c_sdp_P_pfb - 1 downto 0) :=
+                                        (others => c_dp_sosi_rst);
 
   signal bf_weights_x_sosi_arr    : t_dp_sosi_arr(c_sdp_P_pfb - 1 downto 0) := (others => c_dp_sosi_rst);
   signal bf_weights_y_sosi_arr    : t_dp_sosi_arr(c_sdp_P_pfb - 1 downto 0) := (others => c_dp_sosi_rst);
diff --git a/applications/lofar2/libraries/sdp/src/vhdl/sdp_beamformer_output.vhd b/applications/lofar2/libraries/sdp/src/vhdl/sdp_beamformer_output.vhd
index 32cf827e7379b943f1094e86295de43e4c543b05..9efe31d8309af5868bb050f4781c2685bebd0ddf 100644
--- a/applications/lofar2/libraries/sdp/src/vhdl/sdp_beamformer_output.vhd
+++ b/applications/lofar2/libraries/sdp/src/vhdl/sdp_beamformer_output.vhd
@@ -33,16 +33,16 @@
 -------------------------------------------------------------------------------
 
 library IEEE, common_lib, dp_lib, reorder_lib, tr_10GbE_lib;
-use IEEE.std_logic_1164.all;
-use IEEE.numeric_std.all;
-use common_lib.common_pkg.all;
-use common_lib.common_field_pkg.all;
-use common_lib.common_mem_pkg.all;
-use common_lib.common_network_layers_pkg.all;
-use dp_lib.dp_stream_pkg.all;
-use reorder_lib.reorder_pkg.all;
-use work.sdp_pkg.all;
-use work.sdp_bdo_pkg.all;
+  use IEEE.std_logic_1164.all;
+  use IEEE.numeric_std.all;
+  use common_lib.common_pkg.all;
+  use common_lib.common_field_pkg.all;
+  use common_lib.common_mem_pkg.all;
+  use common_lib.common_network_layers_pkg.all;
+  use dp_lib.dp_stream_pkg.all;
+  use reorder_lib.reorder_pkg.all;
+  use work.sdp_pkg.all;
+  use work.sdp_bdo_pkg.all;
 
 entity sdp_beamformer_output is
   generic (
@@ -87,7 +87,8 @@ end sdp_beamformer_output;
 
 architecture str of sdp_beamformer_output is
   constant c_data_w                 : natural := c_nof_complex * c_sdp_W_beamlet;  -- 16b
-  constant c_beamset_beamlet_index  : natural := g_beamset_id * c_sdp_S_sub_bf;  -- call beamset 'id' and beamlet 'index'
+  constant c_beamset_beamlet_index  : natural := g_beamset_id * c_sdp_S_sub_bf;  -- call beamset 'id' and
+                                                                                 -- beamlet 'index'
 
   -- Use c_fifo_fill = c_fifo_size - margin so that FIFO does not get read out too soon.
   -- The dp_fifo_fill_eop takes care that the FIFO gets read out whenever there is an
@@ -95,7 +96,8 @@ architecture str of sdp_beamformer_output is
   -- it possible to pass on blocks of variable length.
   -- Make c_fifo_size large enough for adding header, muxing c_sdp_N_beamsets beamsets and
   -- delaying output to be able to realign snk_in.err field from snk_in.eop to src_out.sop.
-  constant c_nof_words_multi     : natural := largest(func_sdp_bdo_nof_ch_per_packet_first_destinations_look_up_table(g_nof_destinations_max));
+  constant c_nof_words_multi     : natural := largest(
+                               func_sdp_bdo_nof_ch_per_packet_first_destinations_look_up_table(g_nof_destinations_max));
   constant c_nof_longwords_one   : natural := c_sdp_cep_payload_nof_longwords;  -- = 976
   constant c_nof_longwords_multi : natural := c_nof_words_multi / 2;
   constant c_fifo_size_one       : natural := true_log_pow2(c_nof_longwords_one) * c_sdp_N_beamsets;  -- = 2048
@@ -108,8 +110,9 @@ architecture str of sdp_beamformer_output is
   -- Multi destination info (mdi)
   constant c_nof_destinations_w  : natural := ceil_log2(g_nof_destinations_max + 1);
 
-  constant c_beamlet_index_per_destination_mat : t_natural_matrix(1 to g_nof_destinations_max, 0 to g_nof_destinations_max - 1) :=
-                                                   func_sdp_bdo_beamlet_index_per_destination_look_up_matrix(g_nof_destinations_max);
+  constant c_beamlet_index_per_destination_mat : t_natural_matrix(1 to g_nof_destinations_max,
+                                                                  0 to g_nof_destinations_max - 1) :=
+                                      func_sdp_bdo_beamlet_index_per_destination_look_up_matrix(g_nof_destinations_max);
 
   -- . field_sel = '0' for DP (dynamic), '1' for MM (fixed or programmable via MM of dp_offload_tx_v3)
   constant c_cep_hdr_field_sel : std_logic_vector(c_sdp_cep_nof_hdr_fields - 1 downto 0) :=
@@ -338,7 +341,8 @@ begin
           mdi_udp_dst_port <= multi_destinations_info.udp_destination_port_arr(v_DI);
 
           -- . Account for beamset offset in beamlet index
-          mdi_beamlet_index_per_destination <= c_beamset_beamlet_index + c_beamlet_index_per_destination_mat(s_DN, v_DI);
+          mdi_beamlet_index_per_destination <= c_beamset_beamlet_index +
+                                               c_beamlet_index_per_destination_mat(s_DN, v_DI);
           -- . In total there are S_sub_bf = 488 beamlets for nof_destinations.
           --   The packet for last destination contains the same number of
           --   beamlets as the first destinations, or less beamlets.
@@ -536,33 +540,60 @@ begin
   -- udp_src_port and ip_src_addr are ignored, because c_sdp_cep_hdr_field_sel
   -- selects MM control, but keep the code to be able to enable using them by
   -- just changing the selection bit.
-  dp_offload_tx_hdr_fields(field_hi(c_sdp_cep_hdr_field_arr, "eth_src_mac" ) downto field_lo(c_sdp_cep_hdr_field_arr, "eth_src_mac" )) <= eth_src_mac;
-  dp_offload_tx_hdr_fields(field_hi(c_sdp_cep_hdr_field_arr, "ip_src_addr" ) downto field_lo(c_sdp_cep_hdr_field_arr, "ip_src_addr" )) <= ip_src_addr;
-  dp_offload_tx_hdr_fields(field_hi(c_sdp_cep_hdr_field_arr, "udp_src_port") downto field_lo(c_sdp_cep_hdr_field_arr, "udp_src_port")) <= udp_src_port;
+  dp_offload_tx_hdr_fields(field_hi(c_sdp_cep_hdr_field_arr, "eth_src_mac") downto
+                           field_lo(c_sdp_cep_hdr_field_arr, "eth_src_mac")) <= eth_src_mac;
+  dp_offload_tx_hdr_fields(field_hi(c_sdp_cep_hdr_field_arr, "ip_src_addr") downto
+                           field_lo(c_sdp_cep_hdr_field_arr, "ip_src_addr")) <= ip_src_addr;
+  dp_offload_tx_hdr_fields(field_hi(c_sdp_cep_hdr_field_arr, "udp_src_port") downto
+                           field_lo(c_sdp_cep_hdr_field_arr, "udp_src_port")) <= udp_src_port;
 
   -- Use MM programmable destination MAC/IP/UDP from dp_offload_tx_v3 for one destination
   -- Use DP programmable destination MAC/IP/UDP from sdp_bdo_destinations_reg for multiple destinations
-  dp_offload_tx_hdr_fields(field_hi(c_sdp_cep_hdr_field_arr, "eth_dst_mac" ) downto field_lo(c_sdp_cep_hdr_field_arr, "eth_dst_mac" )) <= mdi_eth_dst_mac;
-  dp_offload_tx_hdr_fields(field_hi(c_sdp_cep_hdr_field_arr, "ip_dst_addr" ) downto field_lo(c_sdp_cep_hdr_field_arr, "ip_dst_addr" )) <= mdi_ip_dst_addr;
-  dp_offload_tx_hdr_fields(field_hi(c_sdp_cep_hdr_field_arr, "udp_dst_port") downto field_lo(c_sdp_cep_hdr_field_arr, "udp_dst_port")) <= mdi_udp_dst_port;
-
-  dp_offload_tx_hdr_fields(field_hi(c_sdp_cep_hdr_field_arr, "sdp_observation_id"                     ) downto field_lo(c_sdp_cep_hdr_field_arr, "sdp_observation_id"                     )) <= sdp_info.observation_id;
-  dp_offload_tx_hdr_fields(field_hi(c_sdp_cep_hdr_field_arr, "sdp_station_info"                       ) downto field_lo(c_sdp_cep_hdr_field_arr, "sdp_station_info"                       )) <= station_info;
-  dp_offload_tx_hdr_fields(field_hi(c_sdp_cep_hdr_field_arr, "sdp_source_info_antenna_band_id"        ) downto field_lo(c_sdp_cep_hdr_field_arr, "sdp_source_info_antenna_band_id"        )) <= SLV(sdp_info.antenna_band_index);
-  dp_offload_tx_hdr_fields(field_hi(c_sdp_cep_hdr_field_arr, "sdp_source_info_nyquist_zone_id"        ) downto field_lo(c_sdp_cep_hdr_field_arr, "sdp_source_info_nyquist_zone_id"        )) <= sdp_info.nyquist_zone_index;
-  dp_offload_tx_hdr_fields(field_hi(c_sdp_cep_hdr_field_arr, "sdp_source_info_f_adc"                  ) downto field_lo(c_sdp_cep_hdr_field_arr, "sdp_source_info_f_adc"                  )) <= SLV(sdp_info.f_adc);
-  dp_offload_tx_hdr_fields(field_hi(c_sdp_cep_hdr_field_arr, "sdp_source_info_fsub_type"              ) downto field_lo(c_sdp_cep_hdr_field_arr, "sdp_source_info_fsub_type"              )) <= SLV(sdp_info.fsub_type);
-  dp_offload_tx_hdr_fields(field_hi(c_sdp_cep_hdr_field_arr, "sdp_source_info_payload_error"          ) downto field_lo(c_sdp_cep_hdr_field_arr, "sdp_source_info_payload_error"          )) <= payload_err;
-  dp_offload_tx_hdr_fields(field_hi(c_sdp_cep_hdr_field_arr, "sdp_source_info_beam_repositioning_flag") downto field_lo(c_sdp_cep_hdr_field_arr, "sdp_source_info_beam_repositioning_flag")) <= SLV(sdp_info.beam_repositioning_flag);
-  dp_offload_tx_hdr_fields(field_hi(c_sdp_cep_hdr_field_arr, "sdp_source_info_gn_id"                  ) downto field_lo(c_sdp_cep_hdr_field_arr, "sdp_source_info_gn_id"                  )) <= gn_id;
-
-  dp_offload_tx_hdr_fields(field_hi(c_sdp_cep_hdr_field_arr, "sdp_beamlet_scale"         ) downto field_lo(c_sdp_cep_hdr_field_arr, "sdp_beamlet_scale"         )) <= beamlet_scale;
-  dp_offload_tx_hdr_fields(field_hi(c_sdp_cep_hdr_field_arr, "sdp_beamlet_index"         ) downto field_lo(c_sdp_cep_hdr_field_arr, "sdp_beamlet_index"         )) <= TO_UVEC(beamlet_index, c_halfword_w);
-  dp_offload_tx_hdr_fields(field_hi(c_sdp_cep_hdr_field_arr, "sdp_nof_blocks_per_packet" ) downto field_lo(c_sdp_cep_hdr_field_arr, "sdp_nof_blocks_per_packet" )) <= TO_UVEC(nof_blocks_per_packet, c_octet_w);
-  dp_offload_tx_hdr_fields(field_hi(c_sdp_cep_hdr_field_arr, "sdp_nof_beamlets_per_block") downto field_lo(c_sdp_cep_hdr_field_arr, "sdp_nof_beamlets_per_block")) <= TO_UVEC(nof_beamlets_per_block, c_halfword_w);
-  dp_offload_tx_hdr_fields(field_hi(c_sdp_cep_hdr_field_arr, "sdp_block_period"          ) downto field_lo(c_sdp_cep_hdr_field_arr, "sdp_block_period"          )) <= sdp_info.block_period;
-
-  dp_offload_tx_hdr_fields(field_hi(c_sdp_cep_hdr_field_arr, "dp_bsn" ) downto field_lo(c_sdp_cep_hdr_field_arr, "dp_bsn" )) <= dp_pipeline_data_src_out.bsn(63 downto 0);
+  dp_offload_tx_hdr_fields(field_hi(c_sdp_cep_hdr_field_arr, "eth_dst_mac") downto
+                           field_lo(c_sdp_cep_hdr_field_arr, "eth_dst_mac")) <= mdi_eth_dst_mac;
+  dp_offload_tx_hdr_fields(field_hi(c_sdp_cep_hdr_field_arr, "ip_dst_addr") downto
+                           field_lo(c_sdp_cep_hdr_field_arr, "ip_dst_addr")) <= mdi_ip_dst_addr;
+  dp_offload_tx_hdr_fields(field_hi(c_sdp_cep_hdr_field_arr, "udp_dst_port") downto
+                           field_lo(c_sdp_cep_hdr_field_arr, "udp_dst_port")) <= mdi_udp_dst_port;
+
+  dp_offload_tx_hdr_fields(field_hi(c_sdp_cep_hdr_field_arr, "sdp_observation_id") downto
+                           field_lo(c_sdp_cep_hdr_field_arr, "sdp_observation_id")) <= sdp_info.observation_id;
+  dp_offload_tx_hdr_fields(field_hi(c_sdp_cep_hdr_field_arr, "sdp_station_info") downto
+                           field_lo(c_sdp_cep_hdr_field_arr, "sdp_station_info")) <= station_info;
+  dp_offload_tx_hdr_fields(field_hi(c_sdp_cep_hdr_field_arr, "sdp_source_info_antenna_band_id") downto
+                           field_lo(c_sdp_cep_hdr_field_arr, "sdp_source_info_antenna_band_id")) <=
+                                                                                       SLV(sdp_info.antenna_band_index);
+  dp_offload_tx_hdr_fields(field_hi(c_sdp_cep_hdr_field_arr, "sdp_source_info_nyquist_zone_id") downto
+                           field_lo(c_sdp_cep_hdr_field_arr, "sdp_source_info_nyquist_zone_id")) <=
+                                                                                            sdp_info.nyquist_zone_index;
+  dp_offload_tx_hdr_fields(field_hi(c_sdp_cep_hdr_field_arr, "sdp_source_info_f_adc") downto
+                           field_lo(c_sdp_cep_hdr_field_arr, "sdp_source_info_f_adc")) <= SLV(sdp_info.f_adc);
+  dp_offload_tx_hdr_fields(field_hi(c_sdp_cep_hdr_field_arr, "sdp_source_info_fsub_type") downto
+                           field_lo(c_sdp_cep_hdr_field_arr, "sdp_source_info_fsub_type")) <= SLV(sdp_info.fsub_type);
+  dp_offload_tx_hdr_fields(field_hi(c_sdp_cep_hdr_field_arr, "sdp_source_info_payload_error") downto
+                           field_lo(c_sdp_cep_hdr_field_arr, "sdp_source_info_payload_error")) <= payload_err;
+  dp_offload_tx_hdr_fields(field_hi(c_sdp_cep_hdr_field_arr, "sdp_source_info_beam_repositioning_flag") downto
+                           field_lo(c_sdp_cep_hdr_field_arr, "sdp_source_info_beam_repositioning_flag")) <=
+                                                                                  SLV(sdp_info.beam_repositioning_flag);
+  dp_offload_tx_hdr_fields(field_hi(c_sdp_cep_hdr_field_arr, "sdp_source_info_gn_id") downto
+                           field_lo(c_sdp_cep_hdr_field_arr, "sdp_source_info_gn_id")) <= gn_id;
+
+  dp_offload_tx_hdr_fields(field_hi(c_sdp_cep_hdr_field_arr, "sdp_beamlet_scale") downto
+                           field_lo(c_sdp_cep_hdr_field_arr, "sdp_beamlet_scale")) <= beamlet_scale;
+  dp_offload_tx_hdr_fields(field_hi(c_sdp_cep_hdr_field_arr, "sdp_beamlet_index") downto
+                           field_lo(c_sdp_cep_hdr_field_arr, "sdp_beamlet_index")) <=
+                                                                                   TO_UVEC(beamlet_index, c_halfword_w);
+  dp_offload_tx_hdr_fields(field_hi(c_sdp_cep_hdr_field_arr, "sdp_nof_blocks_per_packet") downto
+                           field_lo(c_sdp_cep_hdr_field_arr, "sdp_nof_blocks_per_packet")) <=
+                                                                              TO_UVEC(nof_blocks_per_packet, c_octet_w);
+  dp_offload_tx_hdr_fields(field_hi(c_sdp_cep_hdr_field_arr, "sdp_nof_beamlets_per_block") downto
+                           field_lo(c_sdp_cep_hdr_field_arr, "sdp_nof_beamlets_per_block")) <=
+                                                                          TO_UVEC(nof_beamlets_per_block, c_halfword_w);
+  dp_offload_tx_hdr_fields(field_hi(c_sdp_cep_hdr_field_arr, "sdp_block_period") downto
+                           field_lo(c_sdp_cep_hdr_field_arr, "sdp_block_period")) <= sdp_info.block_period;
+
+  dp_offload_tx_hdr_fields(field_hi(c_sdp_cep_hdr_field_arr, "dp_bsn" ) downto
+                           field_lo(c_sdp_cep_hdr_field_arr, "dp_bsn" )) <= dp_pipeline_data_src_out.bsn(63 downto 0);
 
   -- For viewing the header fields in wave window
   dp_offload_tx_header <= func_sdp_map_cep_header(dp_offload_tx_hdr_fields);
diff --git a/applications/lofar2/libraries/sdp/src/vhdl/sdp_beamformer_remote.vhd b/applications/lofar2/libraries/sdp/src/vhdl/sdp_beamformer_remote.vhd
index f27040a58b2711d051f7ed51dec6387155cf3db3..99ed71ba06d751bf559ea93f4171de595b84fe71 100644
--- a/applications/lofar2/libraries/sdp/src/vhdl/sdp_beamformer_remote.vhd
+++ b/applications/lofar2/libraries/sdp/src/vhdl/sdp_beamformer_remote.vhd
@@ -30,11 +30,11 @@
 -------------------------------------------------------------------------------
 
 library IEEE, common_lib, dp_lib;
-use IEEE.std_logic_1164.all;
-use common_lib.common_pkg.all;
-use common_lib.common_mem_pkg.all;
-use dp_lib.dp_stream_pkg.all;
-use work.sdp_pkg.all;
+  use IEEE.std_logic_1164.all;
+  use common_lib.common_pkg.all;
+  use common_lib.common_mem_pkg.all;
+  use dp_lib.dp_stream_pkg.all;
+  use work.sdp_pkg.all;
 
 entity sdp_beamformer_remote is
   generic (
@@ -199,10 +199,14 @@ begin
   begin
     beamlets_sosi_arr(0) <= beamlets_data_sosi_arr(0);
     beamlets_sosi_arr(1) <= beamlets_data_sosi_arr(1);
-    beamlets_sosi_arr(0).re <= RESIZE_DP_DSP_DATA(beamlets_data_sosi_arr(0).data(c_sdp_W_beamlet_sum - 1 downto 0));
-    beamlets_sosi_arr(0).im <= RESIZE_DP_DSP_DATA(beamlets_data_sosi_arr(0).data(           c_data_w - 1 downto c_sdp_W_beamlet_sum));
-    beamlets_sosi_arr(1).re <= RESIZE_DP_DSP_DATA(beamlets_data_sosi_arr(1).data(c_sdp_W_beamlet_sum - 1 downto 0));
-    beamlets_sosi_arr(1).im <= RESIZE_DP_DSP_DATA(beamlets_data_sosi_arr(1).data(           c_data_w - 1 downto c_sdp_W_beamlet_sum));
+    beamlets_sosi_arr(0).re <=
+        RESIZE_DP_DSP_DATA(beamlets_data_sosi_arr(0).data(c_sdp_W_beamlet_sum - 1 downto 0));
+    beamlets_sosi_arr(0).im <=
+        RESIZE_DP_DSP_DATA(beamlets_data_sosi_arr(0).data(           c_data_w - 1 downto c_sdp_W_beamlet_sum));
+    beamlets_sosi_arr(1).re <=
+        RESIZE_DP_DSP_DATA(beamlets_data_sosi_arr(1).data(c_sdp_W_beamlet_sum - 1 downto 0));
+    beamlets_sosi_arr(1).im <=
+        RESIZE_DP_DSP_DATA(beamlets_data_sosi_arr(1).data(           c_data_w - 1 downto c_sdp_W_beamlet_sum));
   end process;
 
   ---------------------------------------------------------------
@@ -234,8 +238,10 @@ begin
   p_wire_bf_sum_sosi : process(i_bf_sum_sosi)
   begin
     bf_sum_data_sosi <= i_bf_sum_sosi;
-    bf_sum_data_sosi.data(c_sdp_W_beamlet_sum - 1 downto 0)                   <= i_bf_sum_sosi.re(c_sdp_W_beamlet_sum - 1 downto 0);
-    bf_sum_data_sosi.data(           c_data_w - 1 downto c_sdp_W_beamlet_sum) <= i_bf_sum_sosi.im(c_sdp_W_beamlet_sum - 1 downto 0);
+    bf_sum_data_sosi.data(c_sdp_W_beamlet_sum - 1 downto 0) <=
+         i_bf_sum_sosi.re(c_sdp_W_beamlet_sum - 1 downto 0);
+    bf_sum_data_sosi.data(           c_data_w - 1 downto c_sdp_W_beamlet_sum) <=
+         i_bf_sum_sosi.im(c_sdp_W_beamlet_sum - 1 downto 0);
   end process;
 
   u_dp_repack_data_sum : entity dp_lib.dp_repack_data
diff --git a/applications/lofar2/libraries/sdp/src/vhdl/sdp_crosslets_remote_v2.vhd b/applications/lofar2/libraries/sdp/src/vhdl/sdp_crosslets_remote_v2.vhd
index 2f283a380342a2fe65510774a4f33dcc95071cb0..b6460bc72b9cb1244a78d745c744d17a5964d71d 100644
--- a/applications/lofar2/libraries/sdp/src/vhdl/sdp_crosslets_remote_v2.vhd
+++ b/applications/lofar2/libraries/sdp/src/vhdl/sdp_crosslets_remote_v2.vhd
@@ -35,13 +35,13 @@
 -------------------------------------------------------------------------------
 
 library IEEE, common_lib, dp_lib, reorder_lib, st_lib, mm_lib, ring_lib;
-use IEEE.std_logic_1164.all;
-use common_lib.common_pkg.all;
-use common_lib.common_mem_pkg.all;
-use common_lib.common_network_layers_pkg.all;
-use dp_lib.dp_stream_pkg.all;
-use ring_lib.ring_pkg.all;
-use work.sdp_pkg.all;
+  use IEEE.std_logic_1164.all;
+  use common_lib.common_pkg.all;
+  use common_lib.common_mem_pkg.all;
+  use common_lib.common_network_layers_pkg.all;
+  use dp_lib.dp_stream_pkg.all;
+  use ring_lib.ring_pkg.all;
+  use work.sdp_pkg.all;
 
 entity sdp_crosslets_remote_v2 is
   generic (
@@ -113,8 +113,9 @@ begin
   p_wire_xsel_sosi : process(xsel_sosi)
   begin
     xsel_data_sosi <= xsel_sosi;
-    xsel_data_sosi.data(                c_sdp_W_crosslet - 1 downto 0)                <= xsel_sosi.re(c_sdp_W_crosslet - 1 downto 0);
-    xsel_data_sosi.data(c_nof_complex * c_sdp_W_crosslet - 1 downto c_sdp_W_crosslet) <= xsel_sosi.im(c_sdp_W_crosslet - 1 downto 0);
+    xsel_data_sosi.data(                c_sdp_W_crosslet - 1 downto 0) <= xsel_sosi.re(c_sdp_W_crosslet - 1 downto 0);
+    xsel_data_sosi.data(c_nof_complex * c_sdp_W_crosslet - 1 downto c_sdp_W_crosslet) <=
+                                                                          xsel_sosi.im(c_sdp_W_crosslet - 1 downto 0);
   end process;
 
   u_dp_repack_data_local : entity dp_lib.dp_repack_data
diff --git a/applications/lofar2/libraries/sdp/src/vhdl/sdp_crosslets_subband_select.vhd b/applications/lofar2/libraries/sdp/src/vhdl/sdp_crosslets_subband_select.vhd
index bd28652ee0aa5a5c118cf55cdf1ccf6508742471..4f5fc4693bf78e954794ee1a3e31f9173e5a96a6 100644
--- a/applications/lofar2/libraries/sdp/src/vhdl/sdp_crosslets_subband_select.vhd
+++ b/applications/lofar2/libraries/sdp/src/vhdl/sdp_crosslets_subband_select.vhd
@@ -45,12 +45,12 @@
 -------------------------------------------------------------------------------
 
 library IEEE, common_lib, dp_lib, reorder_lib, st_lib;
-use IEEE.std_logic_1164.all;
-use common_lib.common_pkg.all;
-use common_lib.common_mem_pkg.all;
-use common_lib.common_network_layers_pkg.all;
-use dp_lib.dp_stream_pkg.all;
-use work.sdp_pkg.all;
+  use IEEE.std_logic_1164.all;
+  use common_lib.common_pkg.all;
+  use common_lib.common_mem_pkg.all;
+  use common_lib.common_network_layers_pkg.all;
+  use dp_lib.dp_stream_pkg.all;
+  use work.sdp_pkg.all;
 
 entity sdp_crosslets_subband_select is
   generic (
@@ -100,7 +100,8 @@ architecture str of sdp_crosslets_subband_select is
     sync_detected    : std_logic;
   end record;
 
-  constant c_reg_rst : t_crosslets_control_reg := ( 0, 0, 0, 0, (others => 0), '0', (others => '0'), c_mem_mosi_rst, '0');
+  constant c_reg_rst : t_crosslets_control_reg :=
+                           ( 0, 0, 0, 0, (others => 0), '0', (others => '0'), c_mem_mosi_rst, '0');
 
   -- Define the local registers in t_crosslets_control_reg record
   signal r     : t_crosslets_control_reg;
@@ -181,7 +182,8 @@ begin
     crosslets_info_reg_in <= cur_crosslets_info;  -- Always use crosslets info 6:0 + step(@ index 15)
     -- Set crosslets 14:7 to -1
     for I in g_N_crosslets to c_sdp_mm_reg_crosslets_info.nof_dat - 2 loop
-      crosslets_info_reg_in((I + 1) * c_sdp_crosslets_index_w - 1 downto I * c_sdp_crosslets_index_w ) <= TO_SVEC(-1, c_sdp_crosslets_index_w);
+      crosslets_info_reg_in((I + 1) * c_sdp_crosslets_index_w - 1 downto I * c_sdp_crosslets_index_w ) <=
+                                                                                   TO_SVEC(-1, c_sdp_crosslets_index_w);
     end loop;
   end process;
 
@@ -197,10 +199,12 @@ begin
     end if;
   end process;
 
-  p_comb_crosslets_control : process(r, start_trigger, crosslets_info_reg, dp_bsn_sync_scheduler_src_out_arr, col_select_miso)
+  p_comb_crosslets_control : process(r, start_trigger, crosslets_info_reg,
+                                     dp_bsn_sync_scheduler_src_out_arr, col_select_miso)
     variable v : t_crosslets_control_reg;
     -- Use extra variable to simplify col_select_mosi address selection.
-    -- Also using v_offsets instead of v.offsets to clearly indicate we do not only use this variable on the left side but also on the right side of assignments.
+    -- Also using v_offsets instead of v.offsets to clearly indicate we do not only use this variable on the left side
+    -- but also on the right side of assignments.
     variable v_offsets : t_natural_arr(g_N_crosslets - 1 downto 0);
   begin
     v := r;
@@ -209,17 +213,22 @@ begin
 
     -- start/restart
     if start_trigger = '1' then
-      v.started       := '1';  -- Once started r.started remains active. This is to prevent read/write actions before the initial start_trigger.
+      v.started       := '1';  -- Once started r.started remains active. This is to prevent read/write actions before
+                               -- the initial start_trigger.
       v.offset_index  := 0;
       v.row_index     := 0;
       v.col_index     := 0;
-      v.sync_detected := '0';  -- set sync_detected to 0 in the case that a sync has been detected before the initial start_trigger.
-
-      -- start_trigger is active on the sync so we can immediatly reset the offsets/step such that they are used in the next packet.
-      -- It is up to the user to schedule the start trigger on a BSN that coincides with a sync interval if that is desired.
-      v.step := TO_UINT(crosslets_info_reg(c_sdp_crosslets_info_reg_w - 1 downto c_sdp_crosslets_info_reg_w - c_sdp_crosslets_index_w));
+      v.sync_detected := '0';  -- set sync_detected to 0 in the case that a sync has been detected before the initial
+                               -- start_trigger.
+
+      -- start_trigger is active on the sync so we can immediatly reset the offsets/step such that they are used in
+      -- the next packet. It is up to the user to schedule the start trigger on a BSN that coincides with a sync
+      -- interval if that is desired.
+      v.step := TO_UINT(crosslets_info_reg(c_sdp_crosslets_info_reg_w - 1 downto
+                                           c_sdp_crosslets_info_reg_w - c_sdp_crosslets_index_w));
       for I in 0 to g_N_crosslets - 1 loop
-        v_offsets(I) := TO_UINT(crosslets_info_reg((I + 1) * c_sdp_crosslets_index_w - 1 downto I * c_sdp_crosslets_index_w));
+        v_offsets(I) := TO_UINT(crosslets_info_reg((I + 1) * c_sdp_crosslets_index_w - 1 downto
+                                                   I * c_sdp_crosslets_index_w));
       end loop;
     end if;
 
@@ -231,7 +240,9 @@ begin
 
     if r.started = '1' then  -- Once started r.started remains active.
       -- add step to offsets
-      if dp_bsn_sync_scheduler_src_out_arr(0).eop = '1' and r.sync_detected = '1' then  -- using r.sync_detected to change offsets 1 packet after the sync due to the buffered packet in reorder_col_wide_select
+      -- . using r.sync_detected to change offsets 1 packet after the sync due to the buffered packet in
+      --   reorder_col_wide_select
+      if dp_bsn_sync_scheduler_src_out_arr(0).eop = '1' and r.sync_detected = '1' then
         v.sync_detected := '0';
         for I in 0 to g_N_crosslets - 1 loop
           v_offsets(I) := r.offsets(I) + r.step;
@@ -257,7 +268,8 @@ begin
         end if;
 
         v.col_select_mosi.rd := '1';
-        v.col_select_mosi.address(c_col_select_addr_w - 1 downto 0) := TO_UVEC(c_sdp_Q_fft * v_offsets(r.offset_index) + r.col_index, c_col_select_addr_w);
+        v.col_select_mosi.address(c_col_select_addr_w - 1 downto 0) :=
+                                   TO_UVEC(c_sdp_Q_fft * v_offsets(r.offset_index) + r.col_index, c_col_select_addr_w);
         v.row_select_slv := TO_UVEC(r.row_index, c_row_select_slv_w);
       end if;
     end if;
@@ -328,10 +340,12 @@ begin
   ---------------------------------------------------------------
   -- Out Crosslet info pipeline
   ---------------------------------------------------------------
-  active_crosslets_info(c_sdp_crosslets_info_reg_w - 1 downto c_sdp_crosslets_info_reg_w - c_sdp_crosslets_index_w) <= TO_UVEC(r.step, c_sdp_crosslets_index_w);
+  active_crosslets_info(c_sdp_crosslets_info_reg_w - 1 downto c_sdp_crosslets_info_reg_w - c_sdp_crosslets_index_w) <=
+                                                                               TO_UVEC(r.step, c_sdp_crosslets_index_w);
 
   gen_crosslets_info : for I in 0 to g_N_crosslets - 1 generate
-    active_crosslets_info((I + 1) * c_sdp_crosslets_index_w - 1 downto I * c_sdp_crosslets_index_w) <= TO_UVEC(r.offsets(I), c_sdp_crosslets_index_w);
+    active_crosslets_info((I + 1) * c_sdp_crosslets_index_w - 1 downto I * c_sdp_crosslets_index_w) <=
+                                                                         TO_UVEC(r.offsets(I), c_sdp_crosslets_index_w);
   end generate;
 
   -- pipeline for alignment with sync
diff --git a/applications/lofar2/libraries/sdp/src/vhdl/sdp_info_reg.vhd b/applications/lofar2/libraries/sdp/src/vhdl/sdp_info_reg.vhd
index 3feac6001af561964fa7328c52b3505040ee1f55..00c1c901362062d433e6b6c66658bf664315634d 100644
--- a/applications/lofar2/libraries/sdp/src/vhdl/sdp_info_reg.vhd
+++ b/applications/lofar2/libraries/sdp/src/vhdl/sdp_info_reg.vhd
@@ -110,15 +110,24 @@ begin
   );
 
   -- add "RO" fields to mm_fields
-  mm_fields_in(field_hi(c_field_arr, "f_adc") downto field_lo(c_field_arr, "f_adc"))               <= slv(sdp_info_rd.f_adc);
-  mm_fields_in(field_hi(c_field_arr, "fsub_type") downto field_lo(c_field_arr, "fsub_type"))       <= slv(sdp_info_rd.fsub_type);
-  mm_fields_in(field_hi(c_field_arr, "block_period") downto field_lo(c_field_arr, "block_period")) <= sdp_info_rd.block_period;
+  mm_fields_in(field_hi(c_field_arr, "f_adc") downto
+               field_lo(c_field_arr, "f_adc")) <= slv(sdp_info_rd.f_adc);
+  mm_fields_in(field_hi(c_field_arr, "fsub_type") downto
+               field_lo(c_field_arr, "fsub_type")) <= slv(sdp_info_rd.fsub_type);
+  mm_fields_in(field_hi(c_field_arr, "block_period") downto
+               field_lo(c_field_arr, "block_period")) <= sdp_info_rd.block_period;
 
   -- get "RW" fields from mm_fields
-  sdp_info_wr.antenna_field_index     <= mm_fields_out(field_hi(c_field_arr, "antenna_field_index") downto field_lo(c_field_arr, "antenna_field_index"));
-  sdp_info_wr.station_id              <= mm_fields_out(field_hi(c_field_arr, "station_id") downto field_lo(c_field_arr, "station_id"));
-  sdp_info_wr.antenna_band_index      <= sl(mm_fields_out(field_hi(c_field_arr, "antenna_band_index") downto field_lo(c_field_arr, "antenna_band_index")));
-  sdp_info_wr.observation_id          <= mm_fields_out(field_hi(c_field_arr, "observation_id") downto field_lo(c_field_arr, "observation_id"));
-  sdp_info_wr.nyquist_zone_index      <= mm_fields_out(field_hi(c_field_arr, "nyquist_zone_index") downto field_lo(c_field_arr, "nyquist_zone_index"));
-  sdp_info_wr.beam_repositioning_flag <= sl(mm_fields_out(field_hi(c_field_arr, "beam_repositioning_flag") downto field_lo(c_field_arr, "beam_repositioning_flag")));
+  sdp_info_wr.antenna_field_index     <= mm_fields_out(field_hi(c_field_arr, "antenna_field_index") downto
+                                                       field_lo(c_field_arr, "antenna_field_index"));
+  sdp_info_wr.station_id              <= mm_fields_out(field_hi(c_field_arr, "station_id") downto
+                                                       field_lo(c_field_arr, "station_id"));
+  sdp_info_wr.antenna_band_index      <= sl(mm_fields_out(field_hi(c_field_arr, "antenna_band_index") downto
+                                                          field_lo(c_field_arr, "antenna_band_index")));
+  sdp_info_wr.observation_id          <= mm_fields_out(field_hi(c_field_arr, "observation_id") downto
+                                                       field_lo(c_field_arr, "observation_id"));
+  sdp_info_wr.nyquist_zone_index      <= mm_fields_out(field_hi(c_field_arr, "nyquist_zone_index") downto
+                                                       field_lo(c_field_arr, "nyquist_zone_index"));
+  sdp_info_wr.beam_repositioning_flag <= sl(mm_fields_out(field_hi(c_field_arr, "beam_repositioning_flag") downto
+                                                          field_lo(c_field_arr, "beam_repositioning_flag")));
 end str;
diff --git a/applications/lofar2/libraries/sdp/src/vhdl/sdp_pkg.vhd b/applications/lofar2/libraries/sdp/src/vhdl/sdp_pkg.vhd
index fb42c311a0c57a2ae01469afbc05cb89dee15aeb..68bd999994459b6339d4c18df7797f499cb7cfaa 100644
--- a/applications/lofar2/libraries/sdp/src/vhdl/sdp_pkg.vhd
+++ b/applications/lofar2/libraries/sdp/src/vhdl/sdp_pkg.vhd
@@ -28,18 +28,18 @@
 -- . [1] https://support.astron.nl/confluence/display/L2M/L3+SDP+Decision%3A+SDP+Parameter+definitions
 -------------------------------------------------------------------------------
 library IEEE, common_lib, rTwoSDF_lib, fft_lib, filter_lib, wpfb_lib, diag_lib, tech_jesd204b_lib;
-use IEEE.std_logic_1164.all;
-use IEEE.math_real.all;
-use common_lib.common_pkg.all;
-use common_lib.common_mem_pkg.all;
-use common_lib.common_field_pkg.all;
-use common_lib.common_network_layers_pkg.all;
-use diag_lib.diag_pkg.all;
-use rTwoSDF_lib.rTwoSDFPkg.all;
-use fft_lib.fft_pkg.all;
-use filter_lib.fil_pkg.all;
-use wpfb_lib.wpfb_pkg.all;
-use tech_jesd204b_lib.tech_jesd204b_pkg.all;
+  use IEEE.std_logic_1164.all;
+  use IEEE.math_real.all;
+  use common_lib.common_pkg.all;
+  use common_lib.common_mem_pkg.all;
+  use common_lib.common_field_pkg.all;
+  use common_lib.common_network_layers_pkg.all;
+  use diag_lib.diag_pkg.all;
+  use rTwoSDF_lib.rTwoSDFPkg.all;
+  use fft_lib.fft_pkg.all;
+  use filter_lib.fil_pkg.all;
+  use wpfb_lib.wpfb_pkg.all;
+  use tech_jesd204b_lib.tech_jesd204b_pkg.all;
 
 package sdp_pkg is
   -------------------------------------------------
@@ -112,43 +112,63 @@ package sdp_pkg is
   constant c_sdp_W_bf_weight_magnitude     : natural := c_sdp_W_bf_weight - c_sdp_W_bf_weight_fraction - 1;  -- = 1
   constant c_sdp_W_local_oscillator           : natural := 16;  -- = w in s(w, p), s = signed
   constant c_sdp_W_local_oscillator_fraction  : natural := 15;  -- = p in s(w, p)
-  constant c_sdp_W_local_oscillator_magnitude : natural := c_sdp_W_local_oscillator - c_sdp_W_local_oscillator_fraction - 1;  -- = 0
+  constant c_sdp_W_local_oscillator_magnitude : natural := c_sdp_W_local_oscillator -
+                                                           c_sdp_W_local_oscillator_fraction - 1;  -- = 0
   constant c_sdp_N_ring_nof_mac10g            : natural := 3;  -- for sdp_station_xsub_ring design.
 
   -- Derived constants
-  constant c_sdp_FS_adc                  : natural := 2**(c_sdp_W_adc - 1);  -- full scale FS corresponds to amplitude 1.0, will just cause clipping of +FS to +FS-1
-  constant c_sdp_wg_ampl_lsb             : real := c_diag_wg_ampl_unit / real(c_sdp_FS_adc);  -- WG amplitude in number of LSbit resolution steps
-  constant c_sdp_wg_subband_freq_unit    : real := c_diag_wg_freq_unit / real(c_sdp_N_fft);  -- subband freq = Fs/1024 = 200 MSps/1024 = 195312.5 Hz sinus
+  constant c_sdp_FS_adc                  : natural := 2**(c_sdp_W_adc - 1);  -- full scale FS corresponds to amplitude
+                                                                             -- 1.0, will just cause clipping of +FS
+                                                                             -- to +FS-1
+  constant c_sdp_wg_ampl_lsb             : real := c_diag_wg_ampl_unit / real(c_sdp_FS_adc);  -- WG amplitude in number
+                                                                             -- of LSbit resolution steps
+  constant c_sdp_wg_subband_freq_unit    : real := c_diag_wg_freq_unit / real(c_sdp_N_fft);  -- subband freq = Fs/1024
+                                                                             -- = 200 MSps/1024 = 195312.5 Hz sinus
   constant c_sdp_N_clk_per_second        : natural := c_sdp_f_adc_MHz * 10**6;  -- Default 200M clock cycles per second
-  constant c_sdp_N_clk_per_sync          : natural := c_sdp_N_clk_per_second;  -- Default 200M clock cycles per sync interval of 1 second
+  constant c_sdp_N_clk_per_sync          : natural := c_sdp_N_clk_per_second;  -- Default 200M clock cycles per sync
+                                                                               -- interval of 1 second
   constant c_sdp_N_clk_per_sync_max      : natural := c_sdp_N_clk_per_second * 10;  -- 10 seconds
   constant c_sdp_N_clk_per_sync_min      : natural := c_sdp_N_clk_per_second / 10;  -- 0.1 second
-  constant c_sdp_N_clk_sync_timeout      : natural := c_sdp_N_clk_per_second + c_sdp_N_clk_per_second / 10;  -- 10% margin.
-  constant c_sdp_N_clk_sync_timeout_xsub : natural := 2147483647;  -- = 2**31 - 1 = largest value for NATURAL for 10.7 seconds. Do not use 2*31 to avoid Modelsim NATURAL overflow warning.
-  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_N_clk_sync_timeout      : natural := c_sdp_N_clk_per_second + c_sdp_N_clk_per_second / 10;  -- 10%
+                                                                                                             -- margin.
+  constant c_sdp_N_clk_sync_timeout_xsub : natural := 2147483647;  -- = 2**31 - 1 = largest value for NATURAL for 10.7
+                                                                   -- seconds. Do not use 2*31 to avoid Modelsim
+                                                                   -- natural overflow warning.
+  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_f_sub_Hz                : real := real(c_sdp_N_clk_per_second) / real(c_sdp_N_fft);  -- = 195312.5
-  constant c_sdp_N_int                   : natural := c_sdp_N_clk_per_second;  -- nof ADC sample periods per 1 s integration interval
-  constant c_sdp_N_int_sub               : real := c_sdp_f_sub_Hz;  -- nof subband sample periods per 1 s integration interval
+  constant c_sdp_N_int                   : natural := c_sdp_N_clk_per_second;  -- nof ADC sample periods per 1 s
+                                                                               -- integration interval
+  constant c_sdp_N_int_sub               : real := c_sdp_f_sub_Hz;  -- nof subband sample periods per 1 s integration
+                                                                    -- interval
   constant c_sdp_N_int_sub_lo            : natural := natural(FLOOR(c_sdp_N_int_sub));  -- = 195312
   constant c_sdp_N_int_sub_hi            : natural := natural(CEIL(c_sdp_N_int_sub));  -- = 195313
-  constant c_sdp_A_pn                    : natural := c_sdp_S_pn / c_sdp_N_pol;  -- = 6 dual pol antenna per PN, is 6 signal input pairs
-  constant c_sdp_P_pfb                   : natural := c_sdp_S_pn / c_sdp_Q_fft;  -- = 6 PFB units, for 6 signal input pairs
+  constant c_sdp_A_pn                    : natural := c_sdp_S_pn / c_sdp_N_pol;  -- = 6 dual pol antenna per PN, is 6
+                                                                                 -- signal input pairs
+  constant c_sdp_P_pfb                   : natural := c_sdp_S_pn / c_sdp_Q_fft;  -- = 6 PFB units, for 6 signal input
+                                                                                 -- pairs
   constant c_sdp_T_adc                   : time    := (10**6 / c_sdp_f_adc_MHz) * 1 ps;  -- = 5 ns @ 200MHz
   constant c_sdp_T_sub                   : time    := c_sdp_N_fft * c_sdp_T_adc;  -- = 5.12 us @ 200MHz
   constant c_sdp_X_sq                    : natural := c_sdp_S_pn * c_sdp_S_pn;  -- = 144
   constant c_sdp_block_period            : natural := c_sdp_N_fft * 1000 / c_sdp_f_adc_MHz;  -- = 5120 [ns]
   constant c_sdp_N_beamlets_sdp          : natural := c_sdp_N_beamsets * c_sdp_S_sub_bf;  -- = 976
-  constant c_sdp_W_dual_pol_beamlet      : natural := c_sdp_N_pol_bf * c_nof_complex * c_sdp_W_beamlet;  -- 2 * 2 * 8 = 32b
+  constant c_sdp_W_dual_pol_beamlet      : natural := c_sdp_N_pol_bf * c_nof_complex * c_sdp_W_beamlet;  -- 2 * 2 * 8
+                                                                                                         -- = 32b
 
-  constant c_sdp_nof_words_per_beamlet     : natural := 1;  -- 1 dual pol, complex, 8bit beamlet (Xre, Xim, Yre, Yim) per 32b word
-  constant c_sdp_nof_beamlets_per_longword : natural := 2;  -- 2 dual pol, complex, 8bit beamlets fit in 1 64bit longword
+  constant c_sdp_nof_words_per_beamlet     : natural := 1;  -- 1 dual pol, complex, 8bit beamlet (Xre, Xim, Yre, Yim)
+                                                            -- per 32b word
+  constant c_sdp_nof_beamlets_per_longword : natural := 2;  -- 2 dual pol, complex, 8bit beamlets fit in 1 64bit
+                                                            -- longword
   constant c_sdp_nof_beamlets_per_block    : natural := c_sdp_S_sub_bf;  -- number of dual pol beamlets per block
   constant c_sdp_nof_beamlets_per_block_w  : natural := ceil_log2(c_sdp_nof_beamlets_per_block + 1);
 
   -- . unit weights
-  constant c_sdp_unit_sub_weight      : natural := 2**c_sdp_W_sub_weight_fraction;  -- 2**13, so range +-4.0 for 16 bit signed weight
-  constant c_sdp_unit_bf_weight       : natural := 2**c_sdp_W_bf_weight_fraction;  -- 2**14, so range +-2.0 for 16 bit signed weight
-  constant c_sdp_unit_beamlet_scale   : natural := 2**c_sdp_W_beamlet_scale_fraction;  -- 2**15, so range +-1.0 for 16 bit signed weight
+  constant c_sdp_unit_sub_weight      : natural := 2**c_sdp_W_sub_weight_fraction;  -- 2**13, so range +-4.0 for 16 bit
+                                                                                    -- signed weight
+  constant c_sdp_unit_bf_weight       : natural := 2**c_sdp_W_bf_weight_fraction;  -- 2**14, so range +-2.0 for 16 bit
+                                                                                   -- signed weight
+  constant c_sdp_unit_beamlet_scale   : natural := 2**c_sdp_W_beamlet_scale_fraction;  -- 2**15, so range +-1.0 for 16
+                                                                                       -- bit signed weight
 
   -- One dual polarization beamlet fits in a 32b word:
   -- [0:3] = [Xre, Xim, Yre, Yim] parts of c_sdp_W_beamlet = 8 bit, so
@@ -250,12 +270,15 @@ package sdp_pkg is
      c_sdp_W_stat_data, c_sdp_W_statistic_sz, c_sdp_N_int_sub_hi,
      c_fft_pipeline, c_fft_pipeline, c_fil_ppf_pipeline);  -- = c_wpfb_lofar2_subbands_l2ts_18b
 
-  constant c_sdp_wpfb_complex_subbands : t_wpfb := func_wpfb_map_real_input_wpfb_parameters_to_complex_input(c_sdp_wpfb_subbands);
+  constant c_sdp_wpfb_complex_subbands : t_wpfb :=
+                                         func_wpfb_map_real_input_wpfb_parameters_to_complex_input(c_sdp_wpfb_subbands);
 
-  -- DC gain of WPFB FIR filter obtained from applications/lofar2/model/run_pfir_coef.m using application = 'lofar_subband'
-  -- Not used in RTL, only used in test benches to verify expected suband levels
-  constant c_sdp_wpfb_fir_filter_dc_gain    : real := c_fil_lofar1_fir_filter_dc_gain;  -- = 0.994817, almost unit DC gain
-  constant c_sdp_wpfb_subband_sp_ampl_ratio : real := func_wpfb_subband_gain(c_sdp_wpfb_subbands, c_sdp_wpfb_fir_filter_dc_gain);
+  -- DC gain of WPFB FIR filter obtained from applications/lofar2/model/run_pfir_coef.m using application =
+  -- 'lofar_subband'. Not used in RTL, only used in test benches to verify expected suband levels
+  constant c_sdp_wpfb_fir_filter_dc_gain    : real := c_fil_lofar1_fir_filter_dc_gain;  -- = 0.994817, almost unit DC
+                                                                                        -- gain
+  constant c_sdp_wpfb_subband_sp_ampl_ratio : real :=
+                                             func_wpfb_subband_gain(c_sdp_wpfb_subbands, c_sdp_wpfb_fir_filter_dc_gain);
 
   -----------------------------------------------------------------------------
   -- Subband Equalizer
@@ -266,7 +289,8 @@ package sdp_pkg is
   -- Statistics offload
   -----------------------------------------------------------------------------
 
-  -- The statistics offload uses the same 1GbE port as the NiosII for M&C. The 1GbE addresses defined in SW and here in FW.
+  -- The statistics offload uses the same 1GbE port as the NiosII for M&C. The 1GbE addresses defined in SW and here
+  -- in FW.
   -- See NiosII code:
   --   https://git.astron.nl/rtsd/hdl/-/blob/master/libraries/unb_osy/unbos_eth.h
   --   https://git.astron.nl/rtsd/hdl/-/blob/master/libraries/unb_osy/unbos_eth.c
@@ -290,12 +314,17 @@ package sdp_pkg is
 
   constant c_sdp_stat_app_header_len    : natural := 32;
 
-  constant c_sdp_stat_eth_dst_mac       : std_logic_vector(47 downto 0) := x"001B217176B9";  -- 001B217176B9 = DOP36-enp2s0
-  constant c_sdp_stat_eth_src_mac_47_16 : std_logic_vector(31 downto 0) := x"00228608";  -- 00:22:86:08:pp:qq = UNB_ETH_SRC_MAC_BASE in libraries/unb_osy/unbos_eth.h
-  constant c_sdp_stat_ip_dst_addr       : std_logic_vector(31 downto 0) := x"0A6300FE";  -- 0A6300FE = '10.99.0.254' = DOP36-enp2s0
-  constant c_sdp_stat_ip_src_addr_31_16 : std_logic_vector(15 downto 0) := x"0A63";  -- 10.99.xx.yy = g_base_ip in ctrl_unb2#_board.vhd used in libraries/unb_osy/unbos_eth.c
+  -- MAC : 001B217176B9 = DOP36-enp2s0
+  -- MAC_47_16 : 00:22:86:08:pp:qq = UNB_ETH_SRC_MAC_BASE in libraries/unb_osy/unbos_eth.h
+  -- IP : 0A6300FE = '10.99.0.254' = DOP36-enp2s0
+  -- IP_31_16: 10.99.xx.yy = g_base_ip in ctrl_unb2#_board.vhd used in libraries/unb_osy/unbos_eth.c
+  -- UDP_SRC_PORT[15:8] = gn_id (= ID[7:0] = backplane[5:0] & node[1:0])
+  constant c_sdp_stat_eth_dst_mac       : std_logic_vector(47 downto 0) := x"001B217176B9";
+  constant c_sdp_stat_eth_src_mac_47_16 : std_logic_vector(31 downto 0) := x"00228608";
+  constant c_sdp_stat_ip_dst_addr       : std_logic_vector(31 downto 0) := x"0A6300FE";
+  constant c_sdp_stat_ip_src_addr_31_16 : std_logic_vector(15 downto 0) := x"0A63";
   constant c_sdp_stat_udp_dst_port      : std_logic_vector(15 downto 0) := TO_UVEC(5001, 16);  -- 0x1389 = 5001
-  constant c_sdp_sst_udp_src_port_15_8  : std_logic_vector( 7 downto 0) := x"D0";  -- TBC, 7:0 = gn_id (= ID[7:0] = backplane[5:0] & node[1:0])
+  constant c_sdp_sst_udp_src_port_15_8  : std_logic_vector( 7 downto 0) := x"D0";  -- TBC
   constant c_sdp_bst_udp_src_port_15_8  : std_logic_vector( 7 downto 0) := x"D1";  -- TBC
   constant c_sdp_xst_udp_src_port_15_8  : std_logic_vector( 7 downto 0) := x"D2";  -- TBC
 
@@ -315,61 +344,68 @@ package sdp_pkg is
   --   on the state of the FW.
   -- . If a data path controlled field is not set in the FW, then it defaults to 0 by declaring
   --   hdr_fields_in_arr with all 0. Hence e.g. udp_checksum = 0 can be achieve via data path
+  --
   --   and default hdr_fields_in_arr = 0 or via MM controlled and field_default(0).
-  --                                                                                                     eth   ip             udp    app
-  constant c_sdp_stat_hdr_field_sel     : std_logic_vector(c_sdp_stat_nof_hdr_fields - 1 downto 0) := "1" & "101" & "111011111001" & "0100" & "0100" & "00000000" & "1000000" & "0";  -- current
---CONSTANT c_sdp_stat_hdr_field_sel     : STD_LOGIC_VECTOR(c_sdp_stat_nof_hdr_fields-1 DOWNTO 0) := "1"&"101"&"111011111001"&"0101"&"0100"&"00000000"&"0000100"&"0";  -- previous 26 nov 2021
---CONSTANT c_sdp_stat_hdr_field_sel     : STD_LOGIC_VECTOR(c_sdp_stat_nof_hdr_fields-1 DOWNTO 0) := "0"&"100"&"000000010001"&"0100"&"0100"&"00000000"&"1000000"&"0";  -- initial
+  --         eth     ip               udp      app
+  constant c_sdp_stat_hdr_field_sel     : std_logic_vector(c_sdp_stat_nof_hdr_fields - 1 downto 0) :=
+      "1" & "101" & "111011111001" & "0100" & "0100" & "00000000" & "1000000" & "0";  -- current
+--constant c_sdp_stat_hdr_field_sel     : STD_LOGIC_VECTOR(c_sdp_stat_nof_hdr_fields-1 DOWNTO 0) :=
+--    "1" & "101" & "111011111001" & "0101" & "0100" & "00000000" & "0000100" & "0";  -- previous 26 nov 2021
+--constant c_sdp_stat_hdr_field_sel     : STD_LOGIC_VECTOR(c_sdp_stat_nof_hdr_fields-1 DOWNTO 0) :=
+--    "0" & "100" & "000000010001" & "0100" & "0100" & "00000000" & "1000000" & "0";  -- initial
 
   -- Default use destination MAC/IP/UDP = 0, so these have to be MM programmed before
   -- statistics offload packets can be send.
   constant c_sdp_stat_hdr_field_arr : t_common_field_arr(c_sdp_stat_nof_hdr_fields - 1 downto 0) := (
-      ( field_name_pad("word_align"                              ), "RW", 16, field_default(0) ),  -- Tx TSE IP will strip these 2 padding bytes
-      ( field_name_pad("eth_dst_mac"                             ), "RW", 48, field_default(0) ),  -- c_sdp_stat_eth_dst_mac
-      ( field_name_pad("eth_src_mac"                             ), "RW", 48, field_default(0) ),
-      ( field_name_pad("eth_type"                                ), "RW", 16, field_default(x"0800") ),
-
-      ( field_name_pad("ip_version"                              ), "RW",  4, field_default(4) ),
-      ( field_name_pad("ip_header_length"                        ), "RW",  4, field_default(5) ),
-      ( field_name_pad("ip_services"                             ), "RW",  8, field_default(0) ),
-      ( field_name_pad("ip_total_length"                         ), "RW", 16, field_default(0) ),  -- differs for SST, BST, XST so set by data path
-      ( field_name_pad("ip_identification"                       ), "RW", 16, field_default(0) ),
-      ( field_name_pad("ip_flags"                                ), "RW",  3, field_default(2) ),
-      ( field_name_pad("ip_fragment_offset"                      ), "RW", 13, field_default(0) ),
-      ( field_name_pad("ip_time_to_live"                         ), "RW",  8, field_default(127) ),
-      ( field_name_pad("ip_protocol"                             ), "RW",  8, field_default(17) ),
-      ( field_name_pad("ip_header_checksum"                      ), "RW", 16, field_default(0) ),
-      ( field_name_pad("ip_src_addr"                             ), "RW", 32, field_default(0) ),
-      ( field_name_pad("ip_dst_addr"                             ), "RW", 32, field_default(0) ),  -- c_sdp_stat_ip_dst_addr
-
-      ( field_name_pad("udp_src_port"                            ), "RW", 16, field_default(0) ),
-      ( field_name_pad("udp_dst_port"                            ), "RW", 16, field_default(0) ),  -- c_sdp_stat_udp_dst_port
-      ( field_name_pad("udp_total_length"                        ), "RW", 16, field_default(0) ),  -- differs for SST, BST, XST so set by data path
-      ( field_name_pad("udp_checksum"                            ), "RW", 16, field_default(0) ),
-
-      ( field_name_pad("sdp_marker"                              ), "RW",  8, field_default(0) ),  -- differs for SST, BST, XST so set by data path
-      ( field_name_pad("sdp_version_id"                          ), "RW",  8, field_default(c_sdp_stat_version_id) ),
-      ( field_name_pad("sdp_observation_id"                      ), "RW", 32, field_default(0) ),
-      ( field_name_pad("sdp_station_info"                        ), "RW", 16, field_default(0) ),
-
-      ( field_name_pad("sdp_source_info_antenna_band_id"         ), "RW",  1, field_default(0) ),
-      ( field_name_pad("sdp_source_info_nyquist_zone_id"         ), "RW",  2, field_default(0) ),
-      ( field_name_pad("sdp_source_info_f_adc"                   ), "RW",  1, field_default(0) ),
-      ( field_name_pad("sdp_source_info_fsub_type"               ), "RW",  1, field_default(0) ),
-      ( field_name_pad("sdp_source_info_payload_error"           ), "RW",  1, field_default(0) ),
-      ( field_name_pad("sdp_source_info_beam_repositioning_flag" ), "RW",  1, field_default(0) ),
-      ( field_name_pad("sdp_source_info_weighted_subbands_flag"  ), "RW",  1, field_default(0) ),
-      ( field_name_pad("sdp_source_info_gn_id"                   ), "RW",  8, field_default(0) ),
-
-      ( field_name_pad("sdp_reserved"                            ), "RW",  8, field_default(0) ),
-      ( field_name_pad("sdp_integration_interval"                ), "RW", 24, field_default(0) ),
-      ( field_name_pad("sdp_data_id"                             ), "RW", 32, field_default(0) ),
-      ( field_name_pad("sdp_nof_signal_inputs"                   ), "RW",  8, field_default(0) ),
-      ( field_name_pad("sdp_nof_bytes_per_statistic"             ), "RW",  8, field_default(c_sdp_nof_bytes_per_statistic) ),
-      ( field_name_pad("sdp_nof_statistics_per_packet"           ), "RW", 16, field_default(0) ),
-      ( field_name_pad("sdp_block_period"                        ), "RW", 16, field_default(c_sdp_block_period) ),
-
-      ( field_name_pad("dp_bsn"                                  ), "RW", 64, field_default(0) )
+      ( field_name_pad("word_align" ), "RW", 16, field_default(0) ),  -- Tx TSE IP will strip these 2 padding bytes
+      ( field_name_pad("eth_dst_mac"), "RW", 48, field_default(0) ),  -- c_sdp_stat_eth_dst_mac
+      ( field_name_pad("eth_src_mac"), "RW", 48, field_default(0) ),
+      ( field_name_pad("eth_type"   ), "RW", 16, field_default(x"0800") ),
+
+      ( field_name_pad("ip_version"        ), "RW",  4, field_default(4) ),
+      ( field_name_pad("ip_header_length"  ), "RW",  4, field_default(5) ),
+      ( field_name_pad("ip_services"       ), "RW",  8, field_default(0) ),
+      ( field_name_pad("ip_total_length"   ), "RW", 16, field_default(0) ),  -- differs for SST, BST, XST so set by
+                                                                             -- data path
+      ( field_name_pad("ip_identification" ), "RW", 16, field_default(0) ),
+      ( field_name_pad("ip_flags"          ), "RW",  3, field_default(2) ),
+      ( field_name_pad("ip_fragment_offset"), "RW", 13, field_default(0) ),
+      ( field_name_pad("ip_time_to_live"   ), "RW",  8, field_default(127) ),
+      ( field_name_pad("ip_protocol"       ), "RW",  8, field_default(17) ),
+      ( field_name_pad("ip_header_checksum"), "RW", 16, field_default(0) ),
+      ( field_name_pad("ip_src_addr"       ), "RW", 32, field_default(0) ),
+      ( field_name_pad("ip_dst_addr"       ), "RW", 32, field_default(0) ),  -- c_sdp_stat_ip_dst_addr
+
+      ( field_name_pad("udp_src_port"    ), "RW", 16, field_default(0) ),
+      ( field_name_pad("udp_dst_port"    ), "RW", 16, field_default(0) ),  -- c_sdp_stat_udp_dst_port
+      ( field_name_pad("udp_total_length"), "RW", 16, field_default(0) ),  -- differs for SST, BST, XST so set by
+                                                                           -- data path
+      ( field_name_pad("udp_checksum"    ), "RW", 16, field_default(0) ),
+
+      ( field_name_pad("sdp_marker"        ), "RW",  8, field_default(0) ),  -- differs for SST, BST, XST so set by
+                                                                             -- data path
+      ( field_name_pad("sdp_version_id"    ), "RW",  8, field_default(c_sdp_stat_version_id) ),
+      ( field_name_pad("sdp_observation_id"), "RW", 32, field_default(0) ),
+      ( field_name_pad("sdp_station_info"  ), "RW", 16, field_default(0) ),
+
+      ( field_name_pad("sdp_source_info_antenna_band_id"        ), "RW",  1, field_default(0) ),
+      ( field_name_pad("sdp_source_info_nyquist_zone_id"        ), "RW",  2, field_default(0) ),
+      ( field_name_pad("sdp_source_info_f_adc"                  ), "RW",  1, field_default(0) ),
+      ( field_name_pad("sdp_source_info_fsub_type"              ), "RW",  1, field_default(0) ),
+      ( field_name_pad("sdp_source_info_payload_error"          ), "RW",  1, field_default(0) ),
+      ( field_name_pad("sdp_source_info_beam_repositioning_flag"), "RW",  1, field_default(0) ),
+      ( field_name_pad("sdp_source_info_weighted_subbands_flag" ), "RW",  1, field_default(0) ),
+      ( field_name_pad("sdp_source_info_gn_id"                  ), "RW",  8, field_default(0) ),
+
+      ( field_name_pad("sdp_reserved"                 ), "RW",  8, field_default(0) ),
+      ( field_name_pad("sdp_integration_interval"     ), "RW", 24, field_default(0) ),
+      ( field_name_pad("sdp_data_id"                  ), "RW", 32, field_default(0) ),
+      ( field_name_pad("sdp_nof_signal_inputs"        ), "RW",  8, field_default(0) ),
+      ( field_name_pad("sdp_nof_bytes_per_statistic"  ), "RW",  8, field_default(c_sdp_nof_bytes_per_statistic) ),
+      ( field_name_pad("sdp_nof_statistics_per_packet"), "RW", 16, field_default(0) ),
+      ( field_name_pad("sdp_block_period"             ), "RW", 16, field_default(c_sdp_block_period) ),
+
+      ( field_name_pad("dp_bsn"), "RW", 64, field_default(0) )
   );
   constant c_sdp_reg_stat_hdr_dat_addr_w : natural := ceil_log2(field_nof_words(c_sdp_stat_hdr_field_arr, c_word_w));
 
@@ -426,22 +462,32 @@ package sdp_pkg is
   constant c_sdp_marker_beamlets       : natural := 98;  -- = x"62" = 'b'
 
   constant c_sdp_cep_eth_dst_mac       : std_logic_vector(47 downto 0) := x"00074306C700";  -- 00074306C700 = DOP36-eth0
-  constant c_sdp_cep_eth_src_mac_47_16 : std_logic_vector(31 downto 0) := x"00228608";  -- 47:16, 15:8 = backplane, 7:0 = node
-  constant c_sdp_cep_ip_dst_addr       : std_logic_vector(31 downto 0) := x"C0A80001";  -- C0A80001 = '192.168.0.1' = DOP36-eth0
-  constant c_sdp_cep_ip_src_addr_31_16 : std_logic_vector(15 downto 0) := x"C0A8";  -- 31:16, 15:8 = backplane, 7:0 = node + 1 = 192.168.xx.yy
+  constant c_sdp_cep_eth_src_mac_47_16 : std_logic_vector(31 downto 0) := x"00228608";  -- 47:16, 15:8 = backplane,
+                                                                                        -- 7:0 = node
+  constant c_sdp_cep_ip_dst_addr       : std_logic_vector(31 downto 0) := x"C0A80001";  -- C0A80001 = '192.168.0.1' =
+                                                                                        -- DOP36-eth0
+  constant c_sdp_cep_ip_src_addr_31_16 : std_logic_vector(15 downto 0) := x"C0A8";  -- 31:16, 15:8 = backplane, 7:0 =
+                                                                                    -- node + 1 = 192.168.xx.yy
   constant c_sdp_cep_ip_total_length   : std_logic_vector(15 downto 0) := TO_UVEC(7868, 16);  -- see ICD STAT-CEP
   constant c_sdp_cep_udp_total_length  : std_logic_vector(15 downto 0) := TO_UVEC(7848, 16);  -- see ICD STAT-CEP
   constant c_sdp_cep_udp_dst_port      : std_logic_vector(15 downto 0) := TO_UVEC(5000, 16);  -- 0x1388 = 5000
-  constant c_sdp_cep_udp_src_port_15_8 : std_logic_vector( 7 downto 0) := x"D0";  -- 15:8, 7:0 = gn_id (= ID[7:0] = backplane[5:0] & node[1:0])
+  constant c_sdp_cep_udp_src_port_15_8 : std_logic_vector( 7 downto 0) := x"D0";  -- 15:8, 7:0 = gn_id (= ID[7:0] =
+                                                                                  -- backplane[5:0] & node[1:0])
 
   constant c_sdp_cep_app_header_len    : natural := 32;  -- octets, see ICD STAT-CEP
-  constant c_sdp_cep_header_len        : natural := 14 + 20 + 8 + c_sdp_cep_app_header_len;  -- = eth + ip + udp + app = 74 octets, see ICD STAT-CEP
-
-  constant c_sdp_cep_nof_blocks_per_packet     : natural := 4;  -- number of time blocks of beamlets per output packet
-  constant c_sdp_cep_nof_beamlets_per_block    : natural := c_sdp_nof_beamlets_per_block;  -- number of dual pol beamlets (c_sdp_N_pol_bf = 2)
-  constant c_sdp_cep_nof_beamlets_per_packet   : natural := c_sdp_cep_nof_blocks_per_packet * c_sdp_cep_nof_beamlets_per_block;
-  constant c_sdp_cep_payload_nof_longwords     : natural := c_sdp_cep_nof_beamlets_per_packet / c_sdp_nof_beamlets_per_longword;  -- = 976
-  constant c_sdp_cep_packet_nof_longwords      : natural := ceil_div(c_sdp_cep_header_len, c_longword_sz) + c_sdp_cep_payload_nof_longwords;  -- without tail CRC, the CRC is applied by 10GbE MAC
+  constant c_sdp_cep_header_len        : natural := 14 + 20 + 8 + c_sdp_cep_app_header_len;  -- = eth + ip + udp + app
+                                                                                       -- = 74 octets, see ICD STAT-CEP
+
+  constant c_sdp_cep_nof_blocks_per_packet   : natural := 4;  -- number of time blocks of beamlets per output packet
+  constant c_sdp_cep_nof_beamlets_per_block  : natural := c_sdp_nof_beamlets_per_block;  -- number of dual pol
+                                                                                       -- beamlets (c_sdp_N_pol_bf = 2)
+  constant c_sdp_cep_nof_beamlets_per_packet : natural := c_sdp_cep_nof_blocks_per_packet *
+                                                          c_sdp_cep_nof_beamlets_per_block;
+  constant c_sdp_cep_payload_nof_longwords   : natural := c_sdp_cep_nof_beamlets_per_packet /
+                                                          c_sdp_nof_beamlets_per_longword;  -- = 976
+  constant c_sdp_cep_packet_nof_longwords    : natural := ceil_div(c_sdp_cep_header_len, c_longword_sz) +
+                                                          c_sdp_cep_payload_nof_longwords;  -- without tail CRC, the
+                                                                                         -- CRC is applied by 10GbE MAC
 
   -- CEP packet header
   constant c_sdp_cep_nof_hdr_fields : natural := 3 + 12 + 4 + 4 + 9 + 6 + 1;  -- = 39 fields
@@ -451,11 +497,15 @@ package sdp_pkg is
   -- . 1 = MM controlled, value is set via MM or by the field_default(), so any data path setting in
   --       sdp_beamformer_output.vhd is not used.
   -- Remarks: see remarks at c_sdp_stat_nof_hdr_fields.
-  --                                                                                             eth     ip               udp      app
-  constant c_sdp_cep_hdr_field_sel  : std_logic_vector(c_sdp_cep_nof_hdr_fields - 1 downto 0) := "111" & "111111111011" & "1110" & "1100" & "100000010" & "100000" & "0";  -- current
---constant c_sdp_cep_hdr_field_sel  : std_logic_vector(c_sdp_cep_nof_hdr_fields - 1 downto 0) := "111" & "111111111011" & "1110" & "1100" & "100000010" & "100110" & "0";  -- 18 sep 2023
---constant c_sdp_cep_hdr_field_sel  : STD_LOGIC_VECTOR(c_sdp_cep_nof_hdr_fields-1 downto 0) := "101"&"111111111001"&"0111"&"1100"&"100000010"&"000110"&"0";  -- previous 27 sep 2022
---constant c_sdp_cep_hdr_field_sel  : STD_LOGIC_VECTOR(c_sdp_cep_nof_hdr_fields-1 downto 0) := "100"&"000000010001"&"0100"&"0100"&"100000000"&"101000"&"0";  -- initial
+  --   eth     ip               udp      app
+  constant c_sdp_cep_hdr_field_sel  : std_logic_vector(c_sdp_cep_nof_hdr_fields - 1 downto 0) :=
+      "111" & "111111111011" & "1110" & "1100" & "100000010" & "100000" & "0";  -- current
+--constant c_sdp_cep_hdr_field_sel  : std_logic_vector(c_sdp_cep_nof_hdr_fields - 1 downto 0) :=
+--    "111" & "111111111011" & "1110" & "1100" & "100000010" & "100110" & "0";  -- 18 sep 2023
+--constant c_sdp_cep_hdr_field_sel  : STD_LOGIC_VECTOR(c_sdp_cep_nof_hdr_fields-1 downto 0) :=
+--    "101" & "111111111001" & "0111" & "1100" & "100000010" & "000110" & "0";  -- previous 27 sep 2022
+--constant c_sdp_cep_hdr_field_sel  : STD_LOGIC_VECTOR(c_sdp_cep_nof_hdr_fields-1 downto 0) :=
+--    "100" & "000000010001" & "0100" & "0100" & "100000000" & "101000"&"0";  -- initial
 
   -- Default use source MAC/IP/UDP = 0 and destination MAC/IP/UDP = 0, so these have to be MM programmed
   -- before beamlet output packets can be send.
@@ -497,14 +547,14 @@ package sdp_pkg is
       ( field_name_pad("sdp_source_info_beamlet_width"          ), "RW",  4, field_default(c_sdp_W_beamlet) ),
       ( field_name_pad("sdp_source_info_gn_id"                  ), "RW",  8, field_default(0) ),
 
-      ( field_name_pad("sdp_reserved"                       ), "RW", 32, field_default(0) ),
-      ( field_name_pad("sdp_beamlet_scale"                  ), "RW", 16, field_default(c_sdp_unit_beamlet_scale) ),
-      ( field_name_pad("sdp_beamlet_index"                  ), "RW", 16, field_default(0) ),
-      ( field_name_pad("sdp_nof_blocks_per_packet"          ), "RW",  8, field_default(c_sdp_cep_nof_blocks_per_packet) ),
-      ( field_name_pad("sdp_nof_beamlets_per_block"         ), "RW", 16, field_default(c_sdp_cep_nof_beamlets_per_block) ),
-      ( field_name_pad("sdp_block_period"                   ), "RW", 16, field_default(c_sdp_block_period) ),
+      ( field_name_pad("sdp_reserved"              ), "RW", 32, field_default(0) ),
+      ( field_name_pad("sdp_beamlet_scale"         ), "RW", 16, field_default(c_sdp_unit_beamlet_scale) ),
+      ( field_name_pad("sdp_beamlet_index"         ), "RW", 16, field_default(0) ),
+      ( field_name_pad("sdp_nof_blocks_per_packet" ), "RW",  8, field_default(c_sdp_cep_nof_blocks_per_packet) ),
+      ( field_name_pad("sdp_nof_beamlets_per_block"), "RW", 16, field_default(c_sdp_cep_nof_beamlets_per_block) ),
+      ( field_name_pad("sdp_block_period"          ), "RW", 16, field_default(c_sdp_block_period) ),
 
-      ( field_name_pad("dp_bsn"                             ), "RW", 64, field_default(0) )
+      ( field_name_pad("dp_bsn"), "RW", 64, field_default(0) )
   );
   constant c_sdp_reg_cep_hdr_dat_addr_w : natural := ceil_log2(field_nof_words(c_sdp_cep_hdr_field_arr, c_word_w));
 
@@ -562,7 +612,8 @@ package sdp_pkg is
                                                          init_sl  => '0');  -- PIO_JESD_CTRL
 
   -- AIT MM address widths
-  constant c_sdp_jesd204b_addr_w               : natural := ceil_log2(c_sdp_S_pn) + tech_jesd204b_port_span_w;  -- = 4 + 8
+  constant c_sdp_jesd204b_addr_w               : natural := ceil_log2(c_sdp_S_pn) + tech_jesd204b_port_span_w;
+                                                            -- = 4 + 8
   constant c_sdp_jesd_ctrl_addr_w              : natural := c_sdp_mm_jesd_ctrl_reg.adr_w;  -- = 1
   constant c_sdp_jesd_ctrl_reset_bi            : natural := 31;
   constant c_sdp_jesd_ctrl_enable_w            : natural := 31;
@@ -572,17 +623,21 @@ package sdp_pkg is
   constant c_sdp_reg_dp_shiftram_addr_w        : natural := ceil_log2(c_sdp_S_pn) + 1;
   constant c_sdp_reg_bsn_source_v2_addr_w      : natural := 3;
   constant c_sdp_reg_bsn_scheduler_addr_w      : natural := 1;
-  constant c_sdp_ram_diag_data_buf_bsn_addr_w  : natural := ceil_log2(c_sdp_S_pn) + ceil_log2(c_sdp_V_si_db_large);  -- Dimension DB address range for largest DB, so that both the large and the default small DB fit.
+  constant c_sdp_ram_diag_data_buf_bsn_addr_w  : natural := ceil_log2(c_sdp_S_pn) + ceil_log2(c_sdp_V_si_db_large);
+                                                            -- Dimension DB address range for largest DB, so that both
+                                                            -- the large and the default small DB fit.
   constant c_sdp_reg_diag_data_buf_bsn_addr_w  : natural := ceil_log2(c_sdp_S_pn) + 1;
   constant c_sdp_ram_st_histogram_addr_w       : natural := ceil_log2(c_sdp_S_pn) + ceil_log2(c_sdp_V_si_histogram);
   constant c_sdp_reg_aduh_monitor_addr_w       : natural := ceil_log2(c_sdp_S_pn) + 2;
 
   -- FSUB MM address widths
-  constant c_sdp_ram_fil_coefs_addr_w                  : natural := ceil_log2(c_sdp_R_os) + ceil_log2(c_sdp_N_fft * c_sdp_N_taps);
-  constant c_sdp_ram_st_sst_addr_w                     : natural := ceil_log2(c_sdp_R_os * c_sdp_P_pfb) + ceil_log2(c_sdp_N_sub * c_sdp_Q_fft * c_sdp_W_statistic_sz);
-  constant c_sdp_reg_si_addr_w                         : natural := 1;  -- enable/disable
-  constant c_sdp_ram_equalizer_gains_addr_w            : natural := ceil_log2(c_sdp_R_os * c_sdp_P_pfb) + ceil_log2(c_sdp_N_sub * c_sdp_Q_fft);
-  constant c_sdp_reg_dp_selector_addr_w                : natural := 1;  -- Select input 0 or 1.
+  constant c_sdp_ram_fil_coefs_addr_w       : natural := ceil_log2(c_sdp_R_os) + ceil_log2(c_sdp_N_fft * c_sdp_N_taps);
+  constant c_sdp_ram_st_sst_addr_w          : natural := ceil_log2(c_sdp_R_os * c_sdp_P_pfb) +
+                                                         ceil_log2(c_sdp_N_sub * c_sdp_Q_fft * c_sdp_W_statistic_sz);
+  constant c_sdp_reg_si_addr_w              : natural := 1;  -- enable/disable
+  constant c_sdp_ram_equalizer_gains_addr_w : natural := ceil_log2(c_sdp_R_os * c_sdp_P_pfb) +
+                                                         ceil_log2(c_sdp_N_sub * c_sdp_Q_fft);
+  constant c_sdp_reg_dp_selector_addr_w     : natural := 1;  -- Select input 0 or 1.
   constant c_sdp_reg_bsn_monitor_v2_sst_offload_addr_w : natural := c_sdp_reg_bsn_monitor_v2_addr_w;
 
   -- STAT UDP offload MM address widths
@@ -590,25 +645,43 @@ package sdp_pkg is
 
   -- BF MM address widths
   constant c_sdp_reg_sdp_info_addr_w                         : natural := 4;
-  constant c_sdp_ram_ss_ss_wide_addr_w                       : natural := ceil_log2(c_sdp_N_beamsets) + ceil_log2(c_sdp_P_pfb * c_sdp_S_sub_bf * c_sdp_Q_fft);
-  constant c_sdp_ram_bf_weights_addr_w                       : natural := ceil_log2(c_sdp_N_beamsets) + ceil_log2(c_sdp_N_pol_bf * c_sdp_P_pfb * c_sdp_S_sub_bf * c_sdp_Q_fft);
+  constant c_sdp_ram_ss_ss_wide_addr_w                       : natural := ceil_log2(c_sdp_N_beamsets) +
+                                                                          ceil_log2(c_sdp_P_pfb *
+                                                                                    c_sdp_S_sub_bf * c_sdp_Q_fft);
+  constant c_sdp_ram_bf_weights_addr_w                       : natural := ceil_log2(c_sdp_N_beamsets) +
+                                                                          ceil_log2(c_sdp_N_pol_bf * c_sdp_P_pfb *
+                                                                                    c_sdp_S_sub_bf * c_sdp_Q_fft);
   constant c_sdp_reg_bf_scale_addr_w                         : natural := ceil_log2(c_sdp_N_beamsets) + 1;
   constant c_sdp_reg_dp_xonoff_addr_w                        : natural := ceil_log2(c_sdp_N_beamsets) + 1;
-  constant c_sdp_ram_st_bst_addr_w                           : natural := ceil_log2(c_sdp_N_beamsets) + ceil_log2(c_sdp_S_sub_bf * c_sdp_N_pol_bf * c_sdp_W_statistic_sz);
-  constant c_sdp_reg_stat_enable_bst_addr_w                  : natural := ceil_log2(c_sdp_N_beamsets) + c_sdp_reg_stat_enable_addr_w;
-  constant c_sdp_reg_stat_hdr_dat_bst_addr_w                 : natural := ceil_log2(c_sdp_N_beamsets) + c_sdp_reg_stat_hdr_dat_addr_w;
-  constant c_sdp_reg_bsn_monitor_v2_bst_offload_addr_w       : natural := ceil_log2(c_sdp_N_beamsets) + c_sdp_reg_bsn_monitor_v2_addr_w;
-  constant c_sdp_reg_bsn_monitor_v2_beamlet_output_addr_w    : natural := ceil_log2(c_sdp_N_beamsets) + c_sdp_reg_bsn_monitor_v2_addr_w;
-  constant c_sdp_reg_bsn_align_v2_bf_addr_w                  : natural := ceil_log2(c_sdp_N_beamsets) + ceil_log2(c_sdp_P_sum) + c_sdp_reg_bsn_align_v2_addr_w;
-  constant c_sdp_reg_bsn_monitor_v2_rx_align_bf_addr_w       : natural := ceil_log2(c_sdp_N_beamsets) + ceil_log2(c_sdp_P_sum) + c_sdp_reg_bsn_monitor_v2_addr_w;
-  constant c_sdp_reg_bsn_monitor_v2_aligned_bf_addr_w        : natural := ceil_log2(c_sdp_N_beamsets) + c_sdp_reg_bsn_monitor_v2_addr_w;
+  constant c_sdp_ram_st_bst_addr_w                           : natural := ceil_log2(c_sdp_N_beamsets) +
+                                                                          ceil_log2(c_sdp_S_sub_bf * c_sdp_N_pol_bf *
+                                                                                    c_sdp_W_statistic_sz);
+  constant c_sdp_reg_stat_enable_bst_addr_w                  : natural := ceil_log2(c_sdp_N_beamsets) +
+                                                                          c_sdp_reg_stat_enable_addr_w;
+  constant c_sdp_reg_stat_hdr_dat_bst_addr_w                 : natural := ceil_log2(c_sdp_N_beamsets) +
+                                                                          c_sdp_reg_stat_hdr_dat_addr_w;
+  constant c_sdp_reg_bsn_monitor_v2_bst_offload_addr_w       : natural := ceil_log2(c_sdp_N_beamsets) +
+                                                                          c_sdp_reg_bsn_monitor_v2_addr_w;
+  constant c_sdp_reg_bsn_monitor_v2_beamlet_output_addr_w    : natural := ceil_log2(c_sdp_N_beamsets) +
+                                                                          c_sdp_reg_bsn_monitor_v2_addr_w;
+  constant c_sdp_reg_bsn_align_v2_bf_addr_w                  : natural := ceil_log2(c_sdp_N_beamsets) +
+                                                                          ceil_log2(c_sdp_P_sum) +
+                                                                          c_sdp_reg_bsn_align_v2_addr_w;
+  constant c_sdp_reg_bsn_monitor_v2_rx_align_bf_addr_w       : natural := ceil_log2(c_sdp_N_beamsets) +
+                                                                          ceil_log2(c_sdp_P_sum) +
+                                                                          c_sdp_reg_bsn_monitor_v2_addr_w;
+  constant c_sdp_reg_bsn_monitor_v2_aligned_bf_addr_w        : natural := ceil_log2(c_sdp_N_beamsets) +
+                                                                          c_sdp_reg_bsn_monitor_v2_addr_w;
   constant c_sdp_reg_ring_lane_info_bf_addr_w                : natural := ceil_log2(c_sdp_N_beamsets) + 1;
-  constant c_sdp_reg_bsn_monitor_v2_ring_rx_bf_addr_w        : natural := ceil_log2(c_sdp_N_beamsets) + c_sdp_reg_bsn_monitor_v2_addr_w;
-  constant c_sdp_reg_bsn_monitor_v2_ring_tx_bf_addr_w        : natural := ceil_log2(c_sdp_N_beamsets) + c_sdp_reg_bsn_monitor_v2_addr_w;
+  constant c_sdp_reg_bsn_monitor_v2_ring_rx_bf_addr_w        : natural := ceil_log2(c_sdp_N_beamsets) +
+                                                                          c_sdp_reg_bsn_monitor_v2_addr_w;
+  constant c_sdp_reg_bsn_monitor_v2_ring_tx_bf_addr_w        : natural := ceil_log2(c_sdp_N_beamsets) +
+                                                                          c_sdp_reg_bsn_monitor_v2_addr_w;
   constant c_sdp_reg_dp_block_validate_err_bf_addr_w         : natural := ceil_log2(c_sdp_N_beamsets) + 4;
   constant c_sdp_reg_dp_block_validate_bsn_at_sync_bf_addr_w : natural := ceil_log2(c_sdp_N_beamsets) + 2;
   constant c_sdp_reg_bdo_destinations_info_w_one             : natural := ceil_log2(256);
-  constant c_sdp_reg_bdo_destinations_info_w                 : natural := ceil_log2(c_sdp_N_beamsets) + c_sdp_reg_bdo_destinations_info_w_one;
+  constant c_sdp_reg_bdo_destinations_info_w                 : natural := ceil_log2(c_sdp_N_beamsets) +
+                                                                          c_sdp_reg_bdo_destinations_info_w_one;
 
   -- XSUB
   constant c_sdp_crosslets_index_w          : natural := ceil_log2(c_sdp_N_sub);
@@ -617,7 +690,8 @@ package sdp_pkg is
                                                      dat_w    => c_sdp_crosslets_index_w,
                                                      nof_dat  => 16,  -- 15 offsets + 1 step
                                                      init_sl  => '0');
-  constant c_sdp_crosslets_info_reg_w       : natural := c_sdp_mm_reg_crosslets_info.nof_dat * c_sdp_mm_reg_crosslets_info.dat_w;
+  constant c_sdp_crosslets_info_reg_w       : natural := c_sdp_mm_reg_crosslets_info.nof_dat *
+                                                         c_sdp_mm_reg_crosslets_info.dat_w;
   constant c_sdp_crosslets_info_nof_offsets : natural := c_sdp_mm_reg_crosslets_info.nof_dat - 1;
 
   type t_sdp_crosslets_info is record
@@ -632,27 +706,36 @@ package sdp_pkg is
                                                      dat_w    => ceil_log2(c_sdp_N_crosslets_max + 1),
                                                      nof_dat  => 1,
                                                      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_nof_crosslets_reg_w : natural := c_sdp_mm_reg_nof_crosslets.nof_dat *
+                                                  c_sdp_mm_reg_nof_crosslets.dat_w;
 
   -- XSUB MM address widths
-  constant c_sdp_reg_crosslets_info_addr_w                     : natural := c_sdp_mm_reg_crosslets_info.adr_w;
-  constant c_sdp_reg_nof_crosslets_addr_w                      : natural := c_sdp_mm_reg_nof_crosslets.adr_w;
-  constant c_sdp_reg_bsn_sync_scheduler_xsub_addr_w            : natural := 4;
-  constant c_sdp_ram_st_xsq_addr_w                             : natural := ceil_log2(c_sdp_N_crosslets_max * c_sdp_X_sq * c_nof_complex * c_sdp_W_statistic_sz);
-  constant c_sdp_ram_st_xsq_arr_addr_w                         : natural := ceil_log2(c_sdp_P_sq) + c_sdp_ram_st_xsq_addr_w;
-  constant c_sdp_reg_bsn_align_v2_xsub_addr_w                  : natural := ceil_log2(c_sdp_P_sq) + c_sdp_reg_bsn_align_v2_addr_w;
-  constant c_sdp_reg_bsn_monitor_v2_rx_align_xsub_addr_w       : natural := ceil_log2(c_sdp_P_sq) + c_sdp_reg_bsn_monitor_v2_addr_w;
+  constant c_sdp_reg_crosslets_info_addr_w          : natural := c_sdp_mm_reg_crosslets_info.adr_w;
+  constant c_sdp_reg_nof_crosslets_addr_w           : natural := c_sdp_mm_reg_nof_crosslets.adr_w;
+  constant c_sdp_reg_bsn_sync_scheduler_xsub_addr_w : natural := 4;
+  constant c_sdp_ram_st_xsq_addr_w                  : natural := ceil_log2(c_sdp_N_crosslets_max * c_sdp_X_sq *
+                                                                           c_nof_complex * c_sdp_W_statistic_sz);
+  constant c_sdp_ram_st_xsq_arr_addr_w              : natural := ceil_log2(c_sdp_P_sq) + c_sdp_ram_st_xsq_addr_w;
+  constant c_sdp_reg_bsn_align_v2_xsub_addr_w       : natural := ceil_log2(c_sdp_P_sq) + c_sdp_reg_bsn_align_v2_addr_w;
+  constant c_sdp_reg_bsn_monitor_v2_rx_align_xsub_addr_w       : natural := ceil_log2(c_sdp_P_sq) +
+                                                                            c_sdp_reg_bsn_monitor_v2_addr_w;
   constant c_sdp_reg_bsn_monitor_v2_aligned_xsub_addr_w        : natural := c_sdp_reg_bsn_monitor_v2_addr_w;
   constant c_sdp_reg_bsn_monitor_v2_xst_offload_addr_w         : natural := c_sdp_reg_bsn_monitor_v2_addr_w;
   constant c_sdp_reg_ring_lane_info_xst_addr_w                 : natural := 1;
-  constant c_sdp_reg_bsn_monitor_v2_ring_rx_xst_addr_w         : natural := ceil_log2(c_sdp_N_pn_max) + c_sdp_reg_bsn_monitor_v2_addr_w;
-  constant c_sdp_reg_bsn_monitor_v2_ring_tx_xst_addr_w         : natural := ceil_log2(c_sdp_N_pn_max) + c_sdp_reg_bsn_monitor_v2_addr_w;
+  constant c_sdp_reg_bsn_monitor_v2_ring_rx_xst_addr_w         : natural := ceil_log2(c_sdp_N_pn_max) +
+                                                                            c_sdp_reg_bsn_monitor_v2_addr_w;
+  constant c_sdp_reg_bsn_monitor_v2_ring_tx_xst_addr_w         : natural := ceil_log2(c_sdp_N_pn_max) +
+                                                                            c_sdp_reg_bsn_monitor_v2_addr_w;
   constant c_sdp_reg_dp_block_validate_err_xst_addr_w          : natural := 4;
   constant c_sdp_reg_dp_block_validate_bsn_at_sync_xst_addr_w  : natural := 2;
 
   -- RING MM address widths
-  constant c_sdp_reg_bsn_monitor_v2_ring_rx_addr_w        : natural := ceil_log2(c_sdp_N_ring_lanes_max) + ceil_log2(c_sdp_N_pn_max) + c_sdp_reg_bsn_monitor_v2_addr_w;
-  constant c_sdp_reg_bsn_monitor_v2_ring_tx_addr_w        : natural := ceil_log2(c_sdp_N_ring_lanes_max) + ceil_log2(c_sdp_N_pn_max) + c_sdp_reg_bsn_monitor_v2_addr_w;
+  constant c_sdp_reg_bsn_monitor_v2_ring_rx_addr_w        : natural := ceil_log2(c_sdp_N_ring_lanes_max) +
+                                                                       ceil_log2(c_sdp_N_pn_max) +
+                                                                       c_sdp_reg_bsn_monitor_v2_addr_w;
+  constant c_sdp_reg_bsn_monitor_v2_ring_tx_addr_w        : natural := ceil_log2(c_sdp_N_ring_lanes_max) +
+                                                                       ceil_log2(c_sdp_N_pn_max) +
+                                                                       c_sdp_reg_bsn_monitor_v2_addr_w;
   constant c_sdp_reg_ring_lane_info_addr_w                : natural := ceil_log2(c_sdp_N_ring_lanes_max) + 1;
   constant c_sdp_reg_dp_xonoff_lane_addr_w                : natural := ceil_log2(c_sdp_N_ring_lanes_max) + 1;
   constant c_sdp_reg_dp_xonoff_local_addr_w               : natural := ceil_log2(c_sdp_N_ring_lanes_max) + 1;
@@ -702,7 +785,8 @@ package sdp_pkg is
   function func_sdp_get_stat_ip_total_length(g_statistics_type : string) return natural;
   function func_sdp_get_stat_udp_src_port(g_statistics_type : string; gn_index : natural) return std_logic_vector;
   function func_sdp_get_stat_nof_packets(g_statistics_type : string; S_pn, P_sq, N_crosslets : natural) return natural;
-  function func_sdp_get_stat_nof_packets(g_statistics_type : string) return natural;  -- use c_sdp_S_pn, c_sdp_P_sq, c_sdp_N_crosslets_max
+  function func_sdp_get_stat_nof_packets(g_statistics_type : string) return natural;  -- use c_sdp_S_pn, c_sdp_P_sq,
+                                                                                      -- c_sdp_N_crosslets_max
 
   function func_sdp_map_stat_header(hdr_fields_raw : std_logic_vector) return t_sdp_stat_header;
   function func_sdp_map_cep_header(hdr_fields_raw : std_logic_vector) return t_sdp_cep_header;
@@ -710,12 +794,17 @@ package sdp_pkg is
   -- Select header destination MAC, IP, UDP fields from DP (sl = 0) or from MM (sl = '1') in dp_offload_tx_v3
   function func_sdp_cep_hdr_field_sel_dst(sl : std_logic) return std_logic_vector;
 
-  function func_sdp_map_stat_data_id(g_statistics_type : string; data_id_slv : std_logic_vector) return t_sdp_stat_data_id;
-  function func_sdp_map_stat_data_id(g_statistics_type : string; data_id_rec : t_sdp_stat_data_id) return std_logic_vector;
-
-  function func_sdp_map_crosslets_info(info_slv : std_logic_vector) return t_sdp_crosslets_info;  -- map all c_sdp_N_crosslets_max offsets
-  function func_sdp_map_crosslets_info(info_rec : t_sdp_crosslets_info) return std_logic_vector;  -- map all c_sdp_N_crosslets_max offsets
-  function func_sdp_step_crosslets_info(info_rec : t_sdp_crosslets_info) return t_sdp_crosslets_info;  -- step all c_sdp_N_crosslets_max offsets
+  function func_sdp_map_stat_data_id(g_statistics_type : string; data_id_slv : std_logic_vector)
+      return t_sdp_stat_data_id;
+  function func_sdp_map_stat_data_id(g_statistics_type : string; data_id_rec : t_sdp_stat_data_id)
+      return std_logic_vector;
+
+  function func_sdp_map_crosslets_info(info_slv : std_logic_vector)
+      return t_sdp_crosslets_info;  -- map all c_sdp_N_crosslets_max offsets
+  function func_sdp_map_crosslets_info(info_rec : t_sdp_crosslets_info)
+      return std_logic_vector;  -- map all c_sdp_N_crosslets_max offsets
+  function func_sdp_step_crosslets_info(info_rec : t_sdp_crosslets_info)
+      return t_sdp_crosslets_info;  -- step all c_sdp_N_crosslets_max offsets
 end package sdp_pkg;
 
 package body sdp_pkg is
@@ -844,10 +933,12 @@ package body sdp_pkg is
   begin
     return sel_a_b(g_statistics_type = "BST", c_sdp_bst_udp_src_port_15_8 & c_gn_index,  -- BST = 0xD1 & gn_index
            sel_a_b(g_statistics_type = "XST", c_sdp_xst_udp_src_port_15_8 & c_gn_index,  -- XST = 0xD2 & gn_index
-                                            c_sdp_sst_udp_src_port_15_8 & c_gn_index));  -- SST = 0xD0 & gn_index, SST_OS
+                                              c_sdp_sst_udp_src_port_15_8 & c_gn_index));  -- SST = 0xD0 & gn_index,
+                                                                                           -- SST_OS
   end func_sdp_get_stat_udp_src_port;
 
-  function func_sdp_get_stat_nof_packets(g_statistics_type : string; S_pn, P_sq, N_crosslets : natural) return natural is
+  function func_sdp_get_stat_nof_packets(g_statistics_type : string; S_pn, P_sq, N_crosslets : natural)
+      return natural is
   begin
     return sel_a_b(g_statistics_type = "BST", 1,
            sel_a_b(g_statistics_type = "XST", P_sq * N_crosslets,
@@ -861,117 +952,206 @@ package body sdp_pkg is
   end func_sdp_get_stat_nof_packets;
 
   function func_sdp_map_stat_header(hdr_fields_raw : std_logic_vector) return t_sdp_stat_header is
+    constant c_stat_hfa : t_common_field_arr(c_sdp_stat_hdr_field_arr'range) := c_sdp_stat_hdr_field_arr;
     variable v : t_sdp_stat_header;
   begin
     -- eth header
-    v.eth.dst_mac        := hdr_fields_raw(field_hi(c_sdp_stat_hdr_field_arr, "eth_dst_mac") downto field_lo(c_sdp_stat_hdr_field_arr, "eth_dst_mac"));
-    v.eth.src_mac        := hdr_fields_raw(field_hi(c_sdp_stat_hdr_field_arr, "eth_src_mac") downto field_lo(c_sdp_stat_hdr_field_arr, "eth_src_mac"));
-    v.eth.eth_type       := hdr_fields_raw(field_hi(c_sdp_stat_hdr_field_arr, "eth_type")    downto field_lo(c_sdp_stat_hdr_field_arr, "eth_type"));
+    v.eth.dst_mac  := hdr_fields_raw(field_hi(c_stat_hfa, "eth_dst_mac") downto field_lo(c_stat_hfa, "eth_dst_mac"));
+    v.eth.src_mac  := hdr_fields_raw(field_hi(c_stat_hfa, "eth_src_mac") downto field_lo(c_stat_hfa, "eth_src_mac"));
+    v.eth.eth_type := hdr_fields_raw(field_hi(c_stat_hfa, "eth_type")    downto field_lo(c_stat_hfa, "eth_type"));
 
     -- ip header
-    v.ip.version         := hdr_fields_raw(field_hi(c_sdp_stat_hdr_field_arr, "ip_version")         downto field_lo(c_sdp_stat_hdr_field_arr, "ip_version"));
-    v.ip.header_length   := hdr_fields_raw(field_hi(c_sdp_stat_hdr_field_arr, "ip_header_length")   downto field_lo(c_sdp_stat_hdr_field_arr, "ip_header_length"));
-    v.ip.services        := hdr_fields_raw(field_hi(c_sdp_stat_hdr_field_arr, "ip_services")        downto field_lo(c_sdp_stat_hdr_field_arr, "ip_services"));
-    v.ip.total_length    := hdr_fields_raw(field_hi(c_sdp_stat_hdr_field_arr, "ip_total_length")    downto field_lo(c_sdp_stat_hdr_field_arr, "ip_total_length"));
-    v.ip.identification  := hdr_fields_raw(field_hi(c_sdp_stat_hdr_field_arr, "ip_identification")  downto field_lo(c_sdp_stat_hdr_field_arr, "ip_identification"));
-    v.ip.flags           := hdr_fields_raw(field_hi(c_sdp_stat_hdr_field_arr, "ip_flags")           downto field_lo(c_sdp_stat_hdr_field_arr, "ip_flags"));
-    v.ip.fragment_offset := hdr_fields_raw(field_hi(c_sdp_stat_hdr_field_arr, "ip_fragment_offset") downto field_lo(c_sdp_stat_hdr_field_arr, "ip_fragment_offset"));
-    v.ip.time_to_live    := hdr_fields_raw(field_hi(c_sdp_stat_hdr_field_arr, "ip_time_to_live")    downto field_lo(c_sdp_stat_hdr_field_arr, "ip_time_to_live"));
-    v.ip.protocol        := hdr_fields_raw(field_hi(c_sdp_stat_hdr_field_arr, "ip_protocol")        downto field_lo(c_sdp_stat_hdr_field_arr, "ip_protocol"));
-    v.ip.header_checksum := hdr_fields_raw(field_hi(c_sdp_stat_hdr_field_arr, "ip_header_checksum") downto field_lo(c_sdp_stat_hdr_field_arr, "ip_header_checksum"));
-    v.ip.src_ip_addr     := hdr_fields_raw(field_hi(c_sdp_stat_hdr_field_arr, "ip_src_addr")        downto field_lo(c_sdp_stat_hdr_field_arr, "ip_src_addr"));
-    v.ip.dst_ip_addr     := hdr_fields_raw(field_hi(c_sdp_stat_hdr_field_arr, "ip_dst_addr")        downto field_lo(c_sdp_stat_hdr_field_arr, "ip_dst_addr"));
+    v.ip.version         := hdr_fields_raw(field_hi(c_stat_hfa, "ip_version") downto
+                                           field_lo(c_stat_hfa, "ip_version"));
+    v.ip.header_length   := hdr_fields_raw(field_hi(c_stat_hfa, "ip_header_length") downto
+                                           field_lo(c_stat_hfa, "ip_header_length"));
+    v.ip.services        := hdr_fields_raw(field_hi(c_stat_hfa, "ip_services") downto
+                                           field_lo(c_stat_hfa, "ip_services"));
+    v.ip.total_length    := hdr_fields_raw(field_hi(c_stat_hfa, "ip_total_length") downto
+                                           field_lo(c_stat_hfa, "ip_total_length"));
+    v.ip.identification  := hdr_fields_raw(field_hi(c_stat_hfa, "ip_identification") downto
+                                           field_lo(c_stat_hfa, "ip_identification"));
+    v.ip.flags           := hdr_fields_raw(field_hi(c_stat_hfa, "ip_flags") downto
+                                           field_lo(c_stat_hfa, "ip_flags"));
+    v.ip.fragment_offset := hdr_fields_raw(field_hi(c_stat_hfa, "ip_fragment_offset") downto
+                                           field_lo(c_stat_hfa, "ip_fragment_offset"));
+    v.ip.time_to_live    := hdr_fields_raw(field_hi(c_stat_hfa, "ip_time_to_live") downto
+                                           field_lo(c_stat_hfa, "ip_time_to_live"));
+    v.ip.protocol        := hdr_fields_raw(field_hi(c_stat_hfa, "ip_protocol") downto
+                                           field_lo(c_stat_hfa, "ip_protocol"));
+    v.ip.header_checksum := hdr_fields_raw(field_hi(c_stat_hfa, "ip_header_checksum") downto
+                                           field_lo(c_stat_hfa, "ip_header_checksum"));
+    v.ip.src_ip_addr     := hdr_fields_raw(field_hi(c_stat_hfa, "ip_src_addr") downto
+                                           field_lo(c_stat_hfa, "ip_src_addr"));
+    v.ip.dst_ip_addr     := hdr_fields_raw(field_hi(c_stat_hfa, "ip_dst_addr") downto
+                                           field_lo(c_stat_hfa, "ip_dst_addr"));
 
     -- udp header
-    v.udp.src_port       := hdr_fields_raw(field_hi(c_sdp_stat_hdr_field_arr, "udp_src_port")     downto field_lo(c_sdp_stat_hdr_field_arr, "udp_src_port"));
-    v.udp.dst_port       := hdr_fields_raw(field_hi(c_sdp_stat_hdr_field_arr, "udp_dst_port")     downto field_lo(c_sdp_stat_hdr_field_arr, "udp_dst_port"));
-    v.udp.total_length   := hdr_fields_raw(field_hi(c_sdp_stat_hdr_field_arr, "udp_total_length") downto field_lo(c_sdp_stat_hdr_field_arr, "udp_total_length"));
-    v.udp.checksum       := hdr_fields_raw(field_hi(c_sdp_stat_hdr_field_arr, "udp_checksum")     downto field_lo(c_sdp_stat_hdr_field_arr, "udp_checksum"));
+    v.udp.src_port       := hdr_fields_raw(field_hi(c_stat_hfa, "udp_src_port") downto
+                                           field_lo(c_stat_hfa, "udp_src_port"));
+    v.udp.dst_port       := hdr_fields_raw(field_hi(c_stat_hfa, "udp_dst_port") downto
+                                           field_lo(c_stat_hfa, "udp_dst_port"));
+    v.udp.total_length   := hdr_fields_raw(field_hi(c_stat_hfa, "udp_total_length") downto
+                                           field_lo(c_stat_hfa, "udp_total_length"));
+    v.udp.checksum       := hdr_fields_raw(field_hi(c_stat_hfa, "udp_checksum") downto
+                                           field_lo(c_stat_hfa, "udp_checksum"));
 
     -- app header
-    v.app.sdp_marker                              := hdr_fields_raw(field_hi(c_sdp_stat_hdr_field_arr, "sdp_marker")         downto field_lo(c_sdp_stat_hdr_field_arr, "sdp_marker"));
-    v.app.sdp_version_id                          := hdr_fields_raw(field_hi(c_sdp_stat_hdr_field_arr, "sdp_version_id")     downto field_lo(c_sdp_stat_hdr_field_arr, "sdp_version_id"));
-    v.app.sdp_observation_id                      := hdr_fields_raw(field_hi(c_sdp_stat_hdr_field_arr, "sdp_observation_id") downto field_lo(c_sdp_stat_hdr_field_arr, "sdp_observation_id"));
-    v.app.sdp_station_info                        := hdr_fields_raw(field_hi(c_sdp_stat_hdr_field_arr, "sdp_station_info")   downto field_lo(c_sdp_stat_hdr_field_arr, "sdp_station_info"));
-
-    v.app.sdp_source_info_antenna_band_id         := hdr_fields_raw(field_hi(c_sdp_stat_hdr_field_arr, "sdp_source_info_antenna_band_id")         downto field_lo(c_sdp_stat_hdr_field_arr, "sdp_source_info_antenna_band_id"));
-    v.app.sdp_source_info_nyquist_zone_id         := hdr_fields_raw(field_hi(c_sdp_stat_hdr_field_arr, "sdp_source_info_nyquist_zone_id")         downto field_lo(c_sdp_stat_hdr_field_arr, "sdp_source_info_nyquist_zone_id"));
-    v.app.sdp_source_info_f_adc                   := hdr_fields_raw(field_hi(c_sdp_stat_hdr_field_arr, "sdp_source_info_f_adc")                   downto field_lo(c_sdp_stat_hdr_field_arr, "sdp_source_info_f_adc"));
-    v.app.sdp_source_info_fsub_type               := hdr_fields_raw(field_hi(c_sdp_stat_hdr_field_arr, "sdp_source_info_fsub_type")               downto field_lo(c_sdp_stat_hdr_field_arr, "sdp_source_info_fsub_type"));
-    v.app.sdp_source_info_payload_error           := hdr_fields_raw(field_hi(c_sdp_stat_hdr_field_arr, "sdp_source_info_payload_error")           downto field_lo(c_sdp_stat_hdr_field_arr, "sdp_source_info_payload_error"));
-    v.app.sdp_source_info_beam_repositioning_flag := hdr_fields_raw(field_hi(c_sdp_stat_hdr_field_arr, "sdp_source_info_beam_repositioning_flag") downto field_lo(c_sdp_stat_hdr_field_arr, "sdp_source_info_beam_repositioning_flag"));
-    v.app.sdp_source_info_weighted_subbands_flag  := hdr_fields_raw(field_hi(c_sdp_stat_hdr_field_arr, "sdp_source_info_weighted_subbands_flag")  downto field_lo(c_sdp_stat_hdr_field_arr, "sdp_source_info_weighted_subbands_flag"));
-    v.app.sdp_source_info_gn_id                   := hdr_fields_raw(field_hi(c_sdp_stat_hdr_field_arr, "sdp_source_info_gn_id")                   downto field_lo(c_sdp_stat_hdr_field_arr, "sdp_source_info_gn_id"));
-
-    v.app.sdp_reserved                            := hdr_fields_raw(field_hi(c_sdp_stat_hdr_field_arr, "sdp_reserved")                  downto field_lo(c_sdp_stat_hdr_field_arr, "sdp_reserved"));
-    v.app.sdp_integration_interval                := hdr_fields_raw(field_hi(c_sdp_stat_hdr_field_arr, "sdp_integration_interval")      downto field_lo(c_sdp_stat_hdr_field_arr, "sdp_integration_interval"));
-    v.app.sdp_data_id                             := hdr_fields_raw(field_hi(c_sdp_stat_hdr_field_arr, "sdp_data_id")                   downto field_lo(c_sdp_stat_hdr_field_arr, "sdp_data_id"));
+    v.app.sdp_marker         := hdr_fields_raw(field_hi(c_stat_hfa, "sdp_marker") downto
+                                               field_lo(c_stat_hfa, "sdp_marker"));
+    v.app.sdp_version_id     := hdr_fields_raw(field_hi(c_stat_hfa, "sdp_version_id") downto
+                                               field_lo(c_stat_hfa, "sdp_version_id"));
+    v.app.sdp_observation_id := hdr_fields_raw(field_hi(c_stat_hfa, "sdp_observation_id") downto
+                                               field_lo(c_stat_hfa, "sdp_observation_id"));
+    v.app.sdp_station_info   := hdr_fields_raw(field_hi(c_stat_hfa, "sdp_station_info") downto
+                                               field_lo(c_stat_hfa, "sdp_station_info"));
+
+    v.app.sdp_source_info_antenna_band_id := hdr_fields_raw(
+                                                    field_hi(c_stat_hfa, "sdp_source_info_antenna_band_id")
+                                             downto field_lo(c_stat_hfa, "sdp_source_info_antenna_band_id"));
+    v.app.sdp_source_info_nyquist_zone_id := hdr_fields_raw(
+                                                    field_hi(c_stat_hfa, "sdp_source_info_nyquist_zone_id")
+                                             downto field_lo(c_stat_hfa, "sdp_source_info_nyquist_zone_id"));
+    v.app.sdp_source_info_f_adc           := hdr_fields_raw(
+                                                    field_hi(c_stat_hfa, "sdp_source_info_f_adc")
+                                             downto field_lo(c_stat_hfa, "sdp_source_info_f_adc"));
+    v.app.sdp_source_info_fsub_type       := hdr_fields_raw(
+                                                    field_hi(c_stat_hfa, "sdp_source_info_fsub_type")
+                                             downto field_lo(c_stat_hfa, "sdp_source_info_fsub_type"));
+    v.app.sdp_source_info_payload_error   := hdr_fields_raw(
+                                                    field_hi(c_stat_hfa, "sdp_source_info_payload_error")
+                                             downto field_lo(c_stat_hfa, "sdp_source_info_payload_error"));
+    v.app.sdp_source_info_beam_repositioning_flag := hdr_fields_raw(
+                                                    field_hi(c_stat_hfa, "sdp_source_info_beam_repositioning_flag")
+                                             downto field_lo(c_stat_hfa, "sdp_source_info_beam_repositioning_flag"));
+    v.app.sdp_source_info_weighted_subbands_flag  := hdr_fields_raw(
+                                                    field_hi(c_stat_hfa, "sdp_source_info_weighted_subbands_flag")
+                                             downto field_lo(c_stat_hfa, "sdp_source_info_weighted_subbands_flag"));
+    v.app.sdp_source_info_gn_id                 := hdr_fields_raw(
+                                                    field_hi(c_stat_hfa, "sdp_source_info_gn_id")
+                                             downto field_lo(c_stat_hfa, "sdp_source_info_gn_id"));
+
+    v.app.sdp_reserved                            := hdr_fields_raw(field_hi(c_stat_hfa, "sdp_reserved")
+                                                             downto field_lo(c_stat_hfa, "sdp_reserved"));
+    v.app.sdp_integration_interval                := hdr_fields_raw(field_hi(c_stat_hfa, "sdp_integration_interval")
+                                                             downto field_lo(c_stat_hfa, "sdp_integration_interval"));
+    v.app.sdp_data_id                             := hdr_fields_raw(field_hi(c_stat_hfa, "sdp_data_id")
+                                                             downto field_lo(c_stat_hfa, "sdp_data_id"));
     v.app.sdp_data_id_sst_signal_input_index      := v.app.sdp_data_id( 7 downto  0);
     v.app.sdp_data_id_bst_beamlet_index           := v.app.sdp_data_id(15 downto  0);
     v.app.sdp_data_id_xst_subband_index           := v.app.sdp_data_id(24 downto 16);
     v.app.sdp_data_id_xst_signal_input_A_index    := v.app.sdp_data_id(15 downto  8);
     v.app.sdp_data_id_xst_signal_input_B_index    := v.app.sdp_data_id( 7 downto  0);
-    v.app.sdp_nof_signal_inputs                   := hdr_fields_raw(field_hi(c_sdp_stat_hdr_field_arr, "sdp_nof_signal_inputs")         downto field_lo(c_sdp_stat_hdr_field_arr, "sdp_nof_signal_inputs"));
-    v.app.sdp_nof_bytes_per_statistic             := hdr_fields_raw(field_hi(c_sdp_stat_hdr_field_arr, "sdp_nof_bytes_per_statistic")   downto field_lo(c_sdp_stat_hdr_field_arr, "sdp_nof_bytes_per_statistic"));
-    v.app.sdp_nof_statistics_per_packet           := hdr_fields_raw(field_hi(c_sdp_stat_hdr_field_arr, "sdp_nof_statistics_per_packet") downto field_lo(c_sdp_stat_hdr_field_arr, "sdp_nof_statistics_per_packet"));
-    v.app.sdp_block_period                        := hdr_fields_raw(field_hi(c_sdp_stat_hdr_field_arr, "sdp_block_period")              downto field_lo(c_sdp_stat_hdr_field_arr, "sdp_block_period"));
-
-    v.app.dp_bsn                                  := hdr_fields_raw(field_hi(c_sdp_stat_hdr_field_arr, "dp_bsn") downto field_lo(c_sdp_stat_hdr_field_arr, "dp_bsn"));
+    v.app.sdp_nof_signal_inputs         := hdr_fields_raw(field_hi(c_stat_hfa, "sdp_nof_signal_inputs")
+                                                   downto field_lo(c_stat_hfa, "sdp_nof_signal_inputs"));
+    v.app.sdp_nof_bytes_per_statistic   := hdr_fields_raw(field_hi(c_stat_hfa, "sdp_nof_bytes_per_statistic")
+                                                   downto field_lo(c_stat_hfa, "sdp_nof_bytes_per_statistic"));
+    v.app.sdp_nof_statistics_per_packet := hdr_fields_raw(field_hi(c_stat_hfa, "sdp_nof_statistics_per_packet")
+                                                   downto field_lo(c_stat_hfa, "sdp_nof_statistics_per_packet"));
+    v.app.sdp_block_period              := hdr_fields_raw(field_hi(c_stat_hfa, "sdp_block_period")
+                                                   downto field_lo(c_stat_hfa, "sdp_block_period"));
+
+    v.app.dp_bsn := hdr_fields_raw(field_hi(c_stat_hfa, "dp_bsn") downto field_lo(c_stat_hfa, "dp_bsn"));
     return v;
   end func_sdp_map_stat_header;
 
   function func_sdp_map_cep_header(hdr_fields_raw : std_logic_vector) return t_sdp_cep_header is
+    constant c_cep_hfa : t_common_field_arr(c_sdp_cep_hdr_field_arr'range) := c_sdp_cep_hdr_field_arr;
     variable v : t_sdp_cep_header;
   begin
     -- eth header
-    v.eth.dst_mac        := hdr_fields_raw(field_hi(c_sdp_cep_hdr_field_arr, "eth_dst_mac") downto field_lo(c_sdp_cep_hdr_field_arr, "eth_dst_mac"));
-    v.eth.src_mac        := hdr_fields_raw(field_hi(c_sdp_cep_hdr_field_arr, "eth_src_mac") downto field_lo(c_sdp_cep_hdr_field_arr, "eth_src_mac"));
-    v.eth.eth_type       := hdr_fields_raw(field_hi(c_sdp_cep_hdr_field_arr, "eth_type")    downto field_lo(c_sdp_cep_hdr_field_arr, "eth_type"));
+    v.eth.dst_mac  := hdr_fields_raw(field_hi(c_cep_hfa, "eth_dst_mac") downto field_lo(c_cep_hfa, "eth_dst_mac"));
+    v.eth.src_mac  := hdr_fields_raw(field_hi(c_cep_hfa, "eth_src_mac") downto field_lo(c_cep_hfa, "eth_src_mac"));
+    v.eth.eth_type := hdr_fields_raw(field_hi(c_cep_hfa, "eth_type")    downto field_lo(c_cep_hfa, "eth_type"));
 
     -- ip header
-    v.ip.version         := hdr_fields_raw(field_hi(c_sdp_cep_hdr_field_arr, "ip_version")         downto field_lo(c_sdp_cep_hdr_field_arr, "ip_version"));
-    v.ip.header_length   := hdr_fields_raw(field_hi(c_sdp_cep_hdr_field_arr, "ip_header_length")   downto field_lo(c_sdp_cep_hdr_field_arr, "ip_header_length"));
-    v.ip.services        := hdr_fields_raw(field_hi(c_sdp_cep_hdr_field_arr, "ip_services")        downto field_lo(c_sdp_cep_hdr_field_arr, "ip_services"));
-    v.ip.total_length    := hdr_fields_raw(field_hi(c_sdp_cep_hdr_field_arr, "ip_total_length")    downto field_lo(c_sdp_cep_hdr_field_arr, "ip_total_length"));
-    v.ip.identification  := hdr_fields_raw(field_hi(c_sdp_cep_hdr_field_arr, "ip_identification")  downto field_lo(c_sdp_cep_hdr_field_arr, "ip_identification"));
-    v.ip.flags           := hdr_fields_raw(field_hi(c_sdp_cep_hdr_field_arr, "ip_flags")           downto field_lo(c_sdp_cep_hdr_field_arr, "ip_flags"));
-    v.ip.fragment_offset := hdr_fields_raw(field_hi(c_sdp_cep_hdr_field_arr, "ip_fragment_offset") downto field_lo(c_sdp_cep_hdr_field_arr, "ip_fragment_offset"));
-    v.ip.time_to_live    := hdr_fields_raw(field_hi(c_sdp_cep_hdr_field_arr, "ip_time_to_live")    downto field_lo(c_sdp_cep_hdr_field_arr, "ip_time_to_live"));
-    v.ip.protocol        := hdr_fields_raw(field_hi(c_sdp_cep_hdr_field_arr, "ip_protocol")        downto field_lo(c_sdp_cep_hdr_field_arr, "ip_protocol"));
-    v.ip.header_checksum := hdr_fields_raw(field_hi(c_sdp_cep_hdr_field_arr, "ip_header_checksum") downto field_lo(c_sdp_cep_hdr_field_arr, "ip_header_checksum"));
-    v.ip.src_ip_addr     := hdr_fields_raw(field_hi(c_sdp_cep_hdr_field_arr, "ip_src_addr")        downto field_lo(c_sdp_cep_hdr_field_arr, "ip_src_addr"));
-    v.ip.dst_ip_addr     := hdr_fields_raw(field_hi(c_sdp_cep_hdr_field_arr, "ip_dst_addr")        downto field_lo(c_sdp_cep_hdr_field_arr, "ip_dst_addr"));
+    v.ip.version         := hdr_fields_raw(field_hi(c_cep_hfa, "ip_version") downto
+                                           field_lo(c_cep_hfa, "ip_version"));
+    v.ip.header_length   := hdr_fields_raw(field_hi(c_cep_hfa, "ip_header_length") downto
+                                           field_lo(c_cep_hfa, "ip_header_length"));
+    v.ip.services        := hdr_fields_raw(field_hi(c_cep_hfa, "ip_services") downto
+                                           field_lo(c_cep_hfa, "ip_services"));
+    v.ip.total_length    := hdr_fields_raw(field_hi(c_cep_hfa, "ip_total_length") downto
+                                           field_lo(c_cep_hfa, "ip_total_length"));
+    v.ip.identification  := hdr_fields_raw(field_hi(c_cep_hfa, "ip_identification") downto
+                                           field_lo(c_cep_hfa, "ip_identification"));
+    v.ip.flags           := hdr_fields_raw(field_hi(c_cep_hfa, "ip_flags") downto
+                                           field_lo(c_cep_hfa, "ip_flags"));
+    v.ip.fragment_offset := hdr_fields_raw(field_hi(c_cep_hfa, "ip_fragment_offset") downto
+                                           field_lo(c_cep_hfa, "ip_fragment_offset"));
+    v.ip.time_to_live    := hdr_fields_raw(field_hi(c_cep_hfa, "ip_time_to_live") downto
+                                           field_lo(c_cep_hfa, "ip_time_to_live"));
+    v.ip.protocol        := hdr_fields_raw(field_hi(c_cep_hfa, "ip_protocol") downto
+                                           field_lo(c_cep_hfa, "ip_protocol"));
+    v.ip.header_checksum := hdr_fields_raw(field_hi(c_cep_hfa, "ip_header_checksum") downto
+                                           field_lo(c_cep_hfa, "ip_header_checksum"));
+    v.ip.src_ip_addr     := hdr_fields_raw(field_hi(c_cep_hfa, "ip_src_addr") downto
+                                           field_lo(c_cep_hfa, "ip_src_addr"));
+    v.ip.dst_ip_addr     := hdr_fields_raw(field_hi(c_cep_hfa, "ip_dst_addr") downto
+                                           field_lo(c_cep_hfa, "ip_dst_addr"));
 
     -- udp header
-    v.udp.src_port       := hdr_fields_raw(field_hi(c_sdp_cep_hdr_field_arr, "udp_src_port")     downto field_lo(c_sdp_cep_hdr_field_arr, "udp_src_port"));
-    v.udp.dst_port       := hdr_fields_raw(field_hi(c_sdp_cep_hdr_field_arr, "udp_dst_port")     downto field_lo(c_sdp_cep_hdr_field_arr, "udp_dst_port"));
-    v.udp.total_length   := hdr_fields_raw(field_hi(c_sdp_cep_hdr_field_arr, "udp_total_length") downto field_lo(c_sdp_cep_hdr_field_arr, "udp_total_length"));
-    v.udp.checksum       := hdr_fields_raw(field_hi(c_sdp_cep_hdr_field_arr, "udp_checksum")     downto field_lo(c_sdp_cep_hdr_field_arr, "udp_checksum"));
+    v.udp.src_port       := hdr_fields_raw(field_hi(c_cep_hfa, "udp_src_port") downto
+                                           field_lo(c_cep_hfa, "udp_src_port"));
+    v.udp.dst_port       := hdr_fields_raw(field_hi(c_cep_hfa, "udp_dst_port") downto
+                                           field_lo(c_cep_hfa, "udp_dst_port"));
+    v.udp.total_length   := hdr_fields_raw(field_hi(c_cep_hfa, "udp_total_length") downto
+                                           field_lo(c_cep_hfa, "udp_total_length"));
+    v.udp.checksum       := hdr_fields_raw(field_hi(c_cep_hfa, "udp_checksum") downto
+                                           field_lo(c_cep_hfa, "udp_checksum"));
 
     -- app header
-    v.app.sdp_marker                         := hdr_fields_raw(field_hi(c_sdp_cep_hdr_field_arr, "sdp_marker")         downto field_lo(c_sdp_cep_hdr_field_arr, "sdp_marker"));
-    v.app.sdp_version_id                     := hdr_fields_raw(field_hi(c_sdp_cep_hdr_field_arr, "sdp_version_id")     downto field_lo(c_sdp_cep_hdr_field_arr, "sdp_version_id"));
-    v.app.sdp_observation_id                 := hdr_fields_raw(field_hi(c_sdp_cep_hdr_field_arr, "sdp_observation_id") downto field_lo(c_sdp_cep_hdr_field_arr, "sdp_observation_id"));
-    v.app.sdp_station_info                   := hdr_fields_raw(field_hi(c_sdp_cep_hdr_field_arr, "sdp_station_info")   downto field_lo(c_sdp_cep_hdr_field_arr, "sdp_station_info"));
-
-    v.app.sdp_source_info_reserved                := hdr_fields_raw(field_hi(c_sdp_cep_hdr_field_arr, "sdp_source_info_reserved")                downto field_lo(c_sdp_cep_hdr_field_arr, "sdp_source_info_reserved"));
-    v.app.sdp_source_info_antenna_band_id         := hdr_fields_raw(field_hi(c_sdp_cep_hdr_field_arr, "sdp_source_info_antenna_band_id")         downto field_lo(c_sdp_cep_hdr_field_arr, "sdp_source_info_antenna_band_id"));
-    v.app.sdp_source_info_nyquist_zone_id         := hdr_fields_raw(field_hi(c_sdp_cep_hdr_field_arr, "sdp_source_info_nyquist_zone_id")         downto field_lo(c_sdp_cep_hdr_field_arr, "sdp_source_info_nyquist_zone_id"));
-    v.app.sdp_source_info_f_adc                   := hdr_fields_raw(field_hi(c_sdp_cep_hdr_field_arr, "sdp_source_info_f_adc")                   downto field_lo(c_sdp_cep_hdr_field_arr, "sdp_source_info_f_adc"));
-    v.app.sdp_source_info_fsub_type               := hdr_fields_raw(field_hi(c_sdp_cep_hdr_field_arr, "sdp_source_info_fsub_type")               downto field_lo(c_sdp_cep_hdr_field_arr, "sdp_source_info_fsub_type"));
-    v.app.sdp_source_info_payload_error           := hdr_fields_raw(field_hi(c_sdp_cep_hdr_field_arr, "sdp_source_info_payload_error")           downto field_lo(c_sdp_cep_hdr_field_arr, "sdp_source_info_payload_error"));
-    v.app.sdp_source_info_beam_repositioning_flag := hdr_fields_raw(field_hi(c_sdp_cep_hdr_field_arr, "sdp_source_info_beam_repositioning_flag") downto field_lo(c_sdp_cep_hdr_field_arr, "sdp_source_info_beam_repositioning_flag"));
-    v.app.sdp_source_info_beamlet_width           := hdr_fields_raw(field_hi(c_sdp_cep_hdr_field_arr, "sdp_source_info_beamlet_width")           downto field_lo(c_sdp_cep_hdr_field_arr, "sdp_source_info_beamlet_width"));
-    v.app.sdp_source_info_gn_id                   := hdr_fields_raw(field_hi(c_sdp_cep_hdr_field_arr, "sdp_source_info_gn_id")                   downto field_lo(c_sdp_cep_hdr_field_arr, "sdp_source_info_gn_id"));
-
-    v.app.sdp_reserved                       := hdr_fields_raw(field_hi(c_sdp_cep_hdr_field_arr, "sdp_reserved")               downto field_lo(c_sdp_cep_hdr_field_arr, "sdp_reserved"));
-    v.app.sdp_beamlet_scale                  := hdr_fields_raw(field_hi(c_sdp_cep_hdr_field_arr, "sdp_beamlet_scale")          downto field_lo(c_sdp_cep_hdr_field_arr, "sdp_beamlet_scale"));
-    v.app.sdp_beamlet_index                  := hdr_fields_raw(field_hi(c_sdp_cep_hdr_field_arr, "sdp_beamlet_index")          downto field_lo(c_sdp_cep_hdr_field_arr, "sdp_beamlet_index"));
-    v.app.sdp_nof_blocks_per_packet          := hdr_fields_raw(field_hi(c_sdp_cep_hdr_field_arr, "sdp_nof_blocks_per_packet")  downto field_lo(c_sdp_cep_hdr_field_arr, "sdp_nof_blocks_per_packet"));
-    v.app.sdp_nof_beamlets_per_block         := hdr_fields_raw(field_hi(c_sdp_cep_hdr_field_arr, "sdp_nof_beamlets_per_block") downto field_lo(c_sdp_cep_hdr_field_arr, "sdp_nof_beamlets_per_block"));
-    v.app.sdp_block_period                   := hdr_fields_raw(field_hi(c_sdp_cep_hdr_field_arr, "sdp_block_period")           downto field_lo(c_sdp_cep_hdr_field_arr, "sdp_block_period"));
-
-    v.app.dp_bsn                             := hdr_fields_raw(field_hi(c_sdp_cep_hdr_field_arr, "dp_bsn") downto field_lo(c_sdp_cep_hdr_field_arr, "dp_bsn"));
+    v.app.sdp_marker         := hdr_fields_raw(field_hi(c_cep_hfa, "sdp_marker") downto
+                                               field_lo(c_cep_hfa, "sdp_marker"));
+    v.app.sdp_version_id     := hdr_fields_raw(field_hi(c_cep_hfa, "sdp_version_id") downto
+                                               field_lo(c_cep_hfa, "sdp_version_id"));
+    v.app.sdp_observation_id := hdr_fields_raw(field_hi(c_cep_hfa, "sdp_observation_id") downto
+                                               field_lo(c_cep_hfa, "sdp_observation_id"));
+    v.app.sdp_station_info   := hdr_fields_raw(field_hi(c_cep_hfa, "sdp_station_info") downto
+                                               field_lo(c_cep_hfa, "sdp_station_info"));
+
+    v.app.sdp_source_info_reserved                := hdr_fields_raw(
+                                                       field_hi(c_cep_hfa, "sdp_source_info_reserved")
+                                                downto field_lo(c_cep_hfa, "sdp_source_info_reserved"));
+    v.app.sdp_source_info_antenna_band_id         := hdr_fields_raw(
+                                                       field_hi(c_cep_hfa, "sdp_source_info_antenna_band_id")
+                                                downto field_lo(c_cep_hfa, "sdp_source_info_antenna_band_id"));
+    v.app.sdp_source_info_nyquist_zone_id         := hdr_fields_raw(
+                                                       field_hi(c_cep_hfa, "sdp_source_info_nyquist_zone_id")
+                                                downto field_lo(c_cep_hfa, "sdp_source_info_nyquist_zone_id"));
+    v.app.sdp_source_info_f_adc                   := hdr_fields_raw(
+                                                       field_hi(c_cep_hfa, "sdp_source_info_f_adc")
+                                                downto field_lo(c_cep_hfa, "sdp_source_info_f_adc"));
+    v.app.sdp_source_info_fsub_type               := hdr_fields_raw(
+                                                       field_hi(c_cep_hfa, "sdp_source_info_fsub_type")
+                                                downto field_lo(c_cep_hfa, "sdp_source_info_fsub_type"));
+    v.app.sdp_source_info_payload_error           := hdr_fields_raw(
+                                                       field_hi(c_cep_hfa, "sdp_source_info_payload_error")
+                                                downto field_lo(c_cep_hfa, "sdp_source_info_payload_error"));
+    v.app.sdp_source_info_beam_repositioning_flag := hdr_fields_raw(
+                                                       field_hi(c_cep_hfa, "sdp_source_info_beam_repositioning_flag")
+                                                downto field_lo(c_cep_hfa, "sdp_source_info_beam_repositioning_flag"));
+    v.app.sdp_source_info_beamlet_width           := hdr_fields_raw(
+                                                       field_hi(c_cep_hfa, "sdp_source_info_beamlet_width")
+                                                downto field_lo(c_cep_hfa, "sdp_source_info_beamlet_width"));
+    v.app.sdp_source_info_gn_id                   := hdr_fields_raw(
+                                                       field_hi(c_cep_hfa, "sdp_source_info_gn_id")
+                                                downto field_lo(c_cep_hfa, "sdp_source_info_gn_id"));
+
+    v.app.sdp_reserved               := hdr_fields_raw(field_hi(c_cep_hfa, "sdp_reserved") downto
+                                                       field_lo(c_cep_hfa, "sdp_reserved"));
+    v.app.sdp_beamlet_scale          := hdr_fields_raw(field_hi(c_cep_hfa, "sdp_beamlet_scale") downto
+                                                       field_lo(c_cep_hfa, "sdp_beamlet_scale"));
+    v.app.sdp_beamlet_index          := hdr_fields_raw(field_hi(c_cep_hfa, "sdp_beamlet_index") downto
+                                                       field_lo(c_cep_hfa, "sdp_beamlet_index"));
+    v.app.sdp_nof_blocks_per_packet  := hdr_fields_raw(field_hi(c_cep_hfa, "sdp_nof_blocks_per_packet") downto
+                                                       field_lo(c_cep_hfa, "sdp_nof_blocks_per_packet"));
+    v.app.sdp_nof_beamlets_per_block := hdr_fields_raw(field_hi(c_cep_hfa, "sdp_nof_beamlets_per_block") downto
+                                                       field_lo(c_cep_hfa, "sdp_nof_beamlets_per_block"));
+    v.app.sdp_block_period           := hdr_fields_raw(field_hi(c_cep_hfa, "sdp_block_period") downto
+                                                       field_lo(c_cep_hfa, "sdp_block_period"));
+
+    v.app.dp_bsn := hdr_fields_raw(field_hi(c_cep_hfa, "dp_bsn") downto field_lo(c_cep_hfa, "dp_bsn"));
     return v;
   end func_sdp_map_cep_header;
 
@@ -985,7 +1165,8 @@ package body sdp_pkg is
     return v_sel;
   end func_sdp_cep_hdr_field_sel_dst;
 
-  function func_sdp_map_stat_data_id(g_statistics_type : string; data_id_slv : std_logic_vector) return t_sdp_stat_data_id is
+  function func_sdp_map_stat_data_id(g_statistics_type : string; data_id_slv : std_logic_vector)
+      return t_sdp_stat_data_id is
     variable v_rec : t_sdp_stat_data_id;
   begin
     if g_statistics_type = "BST" then
@@ -1000,7 +1181,8 @@ package body sdp_pkg is
     return v_rec;
   end func_sdp_map_stat_data_id;
 
-  function func_sdp_map_stat_data_id(g_statistics_type : string; data_id_rec : t_sdp_stat_data_id) return std_logic_vector is
+  function func_sdp_map_stat_data_id(g_statistics_type : string; data_id_rec : t_sdp_stat_data_id)
+      return std_logic_vector is
     variable v_slv : std_logic_vector(31 downto 0) := x"00000000";
   begin
     if g_statistics_type = "BST" then
@@ -1019,9 +1201,11 @@ package body sdp_pkg is
     variable v_info : t_sdp_crosslets_info;
   begin
     for I in 0 to c_sdp_crosslets_info_nof_offsets - 1 loop  -- map al offsets
-      v_info.offset_arr(I) := TO_UINT(info_slv((I + 1) * c_sdp_crosslets_index_w - 1 downto I * c_sdp_crosslets_index_w));
+      v_info.offset_arr(I) := TO_UINT(info_slv((I + 1) * c_sdp_crosslets_index_w - 1 downto
+                                               I * c_sdp_crosslets_index_w));
     end loop;
-    v_info.step := TO_UINT(info_slv(c_sdp_crosslets_info_reg_w - 1 downto c_sdp_crosslets_info_reg_w - c_sdp_crosslets_index_w));
+    v_info.step := TO_UINT(info_slv(c_sdp_crosslets_info_reg_w - 1 downto
+                                    c_sdp_crosslets_info_reg_w - c_sdp_crosslets_index_w));
     return v_info;
   end func_sdp_map_crosslets_info;
 
@@ -1029,9 +1213,11 @@ package body sdp_pkg is
     variable v_info : std_logic_vector(c_sdp_crosslets_info_reg_w - 1 downto 0);
   begin
     for I in 0 to c_sdp_crosslets_info_nof_offsets - 1 loop  -- map all offsets
-      v_info((I + 1) * c_sdp_crosslets_index_w - 1 downto I * c_sdp_crosslets_index_w) := TO_UVEC(info_rec.offset_arr(I), c_sdp_crosslets_index_w);
+      v_info((I + 1) * c_sdp_crosslets_index_w - 1 downto I * c_sdp_crosslets_index_w) :=
+                                                               TO_UVEC(info_rec.offset_arr(I), c_sdp_crosslets_index_w);
     end loop;
-    v_info(c_sdp_crosslets_info_reg_w - 1 downto c_sdp_crosslets_info_reg_w - c_sdp_crosslets_index_w) := TO_UVEC(info_rec.step, c_sdp_crosslets_index_w);
+    v_info(c_sdp_crosslets_info_reg_w - 1 downto c_sdp_crosslets_info_reg_w - c_sdp_crosslets_index_w) :=
+                                                                        TO_UVEC(info_rec.step, c_sdp_crosslets_index_w);
     return v_info;
   end func_sdp_map_crosslets_info;
 
@@ -1039,7 +1225,8 @@ package body sdp_pkg is
     variable v_info : t_sdp_crosslets_info := info_rec;
   begin
     for I in 0 to c_sdp_crosslets_info_nof_offsets - 1 loop  -- step all offsets
-      -- c_sdp_N_sub = 512 is power of 2, so MOD should be fine in synthesis (simpel skips MSbits, no need for division).
+      -- c_sdp_N_sub = 512 is power of 2, so MOD should be fine in synthesis (simpel skips MSbits, no need for
+      -- division).
       v_info.offset_arr(I) := (v_info.offset_arr(I) + v_info.step) mod c_sdp_N_sub;
     end loop;
     return v_info;
diff --git a/applications/lofar2/libraries/sdp/src/vhdl/sdp_scope.vhd b/applications/lofar2/libraries/sdp/src/vhdl/sdp_scope.vhd
index d6d46c4f058fdc98860dc875b0817a9e217fd04b..538ef8079cba59eb1463e5e7eefc9805301282e8 100644
--- a/applications/lofar2/libraries/sdp/src/vhdl/sdp_scope.vhd
+++ b/applications/lofar2/libraries/sdp/src/vhdl/sdp_scope.vhd
@@ -63,7 +63,8 @@ architecture str of sdp_scope is
   signal cnt                       : natural;
   signal deinterleaved_sosi_2arr_n : t_dp_sosi_2arr_n(g_nof_input - 1 downto 0);
   signal deinterleaved_sosi_arr    : t_dp_sosi_arr(g_nof_input * g_n_deinterleave-1 downto 0);
-  signal selected_sosi_arr         : t_dp_sosi_arr(g_nof_input * g_n_deinterleave-1 downto 0) := (others => c_dp_sosi_rst);
+  signal selected_sosi_arr         : t_dp_sosi_arr(g_nof_input * g_n_deinterleave-1 downto 0) :=
+                                         (others => c_dp_sosi_rst);
 begin
   sim_only : if g_sim = true generate
     gen_deinterleave : for I in 0 to g_nof_input - 1 generate
diff --git a/applications/lofar2/libraries/sdp/src/vhdl/sdp_station.vhd b/applications/lofar2/libraries/sdp/src/vhdl/sdp_station.vhd
index 2d7cf4bcc55aa8cf1f5a6964d3d7911667439c9d..738fb5710cf5b651715861ef1baa5afd2f2c522a 100644
--- a/applications/lofar2/libraries/sdp/src/vhdl/sdp_station.vhd
+++ b/applications/lofar2/libraries/sdp/src/vhdl/sdp_station.vhd
@@ -37,20 +37,23 @@
 -- [3] SST, SST_OS packets: https://plm.astron.nl/polarion/#/project/LOFAR2System/wiki/L2%20Interface%20Control%20Documents/SC%20to%20SDP%20ICD
 -------------------------------------------------------------------------------
 
-library IEEE, common_lib, diag_lib, dp_lib, tech_jesd204b_lib, fft_lib, wpfb_lib, tech_pll_lib, tr_10GbE_lib, nw_10GbE_lib, eth_lib, ring_lib;
-use IEEE.std_logic_1164.all;
-use IEEE.numeric_std.all;
-use common_lib.common_pkg.all;
-use common_lib.common_mem_pkg.all;
-use common_lib.common_network_layers_pkg.all;
-use common_lib.common_field_pkg.all;
-use diag_lib.diag_pkg.all;
-use dp_lib.dp_stream_pkg.all;
-use fft_lib.fft_pkg.all;
-use wpfb_lib.wpfb_pkg.all;
-use work.sdp_pkg.all;
-use eth_lib.eth_pkg.all;
-use ring_lib.ring_pkg.all;
+library IEEE, common_lib, diag_lib, dp_lib;
+library tech_pll_lib, tech_jesd204b_lib;
+library fft_lib, wpfb_lib;
+library tr_10GbE_lib, nw_10GbE_lib, eth_lib, ring_lib;
+  use IEEE.std_logic_1164.all;
+  use IEEE.numeric_std.all;
+  use common_lib.common_pkg.all;
+  use common_lib.common_mem_pkg.all;
+  use common_lib.common_network_layers_pkg.all;
+  use common_lib.common_field_pkg.all;
+  use diag_lib.diag_pkg.all;
+  use dp_lib.dp_stream_pkg.all;
+  use fft_lib.fft_pkg.all;
+  use wpfb_lib.wpfb_pkg.all;
+  use eth_lib.eth_pkg.all;
+  use ring_lib.ring_pkg.all;
+  use work.sdp_pkg.all;
 
 entity sdp_station is
   generic (
@@ -401,36 +404,47 @@ architecture str of sdp_station is
   constant c_subband_raw_fraction_w  : natural := c_fft_raw_fraction_w;
 
   -- Make Tx FIFOs at least c_fifo_tx_fill_margin larger than needed to fit the largest Tx packet
-  constant c_fifo_tx_fill_margin           : natural := 10;  -- >= c_fifo_fill_margin = 6 that is used in dp_fifo_fill_eop
+  constant c_fifo_tx_fill_margin     : natural := 10;  -- >= c_fifo_fill_margin = 6 that is used in dp_fifo_fill_eop
 
   -- 10 GbE Interface for beamlet output
-  constant c_nof_10GbE_beamlet_output      : natural := 1;
+  constant c_nof_10GbE_beamlet_output : natural := 1;
 
   -- The nw_10GbE/tr_10GbE uses dp_fifo_fill_eop, so rely on releasing packets (beamlets, arp and ping) at eop instead
   -- of at fill level. Make fifo size large enough to fit one packet and the c_fifo_tx_fill_margin.
-  constant c_fifo_tx_size_beamlet_output   : natural := true_log_pow2(c_sdp_cep_packet_nof_longwords + c_fifo_tx_fill_margin);  -- = 976 + 6 --> 1024
-  constant c_fifo_tx_fill_beamlet_output   : natural := c_fifo_tx_size_beamlet_output - c_fifo_tx_fill_margin;  -- = maximum fill level, so rely on eop
+  constant c_fifo_tx_size_beamlet_output : natural := true_log_pow2(c_sdp_cep_packet_nof_longwords +
+                                                                    c_fifo_tx_fill_margin);  -- = 976 + 6 --> 1024
+  constant c_fifo_tx_fill_beamlet_output : natural := c_fifo_tx_size_beamlet_output -
+                                                      c_fifo_tx_fill_margin;  -- = maximum fill level, so rely on eop
 
   -- Address widths of a single MM instance
   constant c_addr_w_ram_ss_ss_wide                 : natural := ceil_log2(c_sdp_P_pfb * c_sdp_S_sub_bf * c_sdp_Q_fft);
-  constant c_addr_w_ram_bf_weights                 : natural := ceil_log2(c_sdp_N_pol * c_sdp_P_pfb * c_sdp_S_sub_bf * c_sdp_Q_fft);
+  constant c_addr_w_ram_bf_weights                 : natural := ceil_log2(c_sdp_N_pol *
+                                                                          c_sdp_P_pfb * c_sdp_S_sub_bf * c_sdp_Q_fft);
   constant c_addr_w_reg_bf_scale                   : natural := 1;
-  constant c_addr_w_reg_hdr_dat                    : natural := ceil_log2(field_nof_words(c_sdp_cep_hdr_field_arr, c_word_w));
+  constant c_addr_w_reg_hdr_dat                    : natural := ceil_log2(
+                                                                   field_nof_words(c_sdp_cep_hdr_field_arr, c_word_w));
   constant c_addr_w_reg_bdo_destinations           : natural := c_sdp_reg_bdo_destinations_info_w_one;
   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 * (c_longword_sz / c_word_sz));
-  constant c_addr_w_reg_bsn_align_v2_bf            : natural := ceil_log2(c_sdp_P_sum) + c_sdp_reg_bsn_align_v2_addr_w;
-  constant c_addr_w_reg_bsn_monitor_v2_rx_align_bf : natural := ceil_log2(c_sdp_P_sum) + c_sdp_reg_bsn_monitor_v2_addr_w;
+  constant c_addr_w_ram_st_bst                     : natural := ceil_log2(c_sdp_S_sub_bf *
+                                                                          c_sdp_N_pol * (c_longword_sz / c_word_sz));
+  constant c_addr_w_reg_bsn_align_v2_bf            : natural := ceil_log2(c_sdp_P_sum) +
+                                                                c_sdp_reg_bsn_align_v2_addr_w;
+  constant c_addr_w_reg_bsn_monitor_v2_rx_align_bf : natural := ceil_log2(c_sdp_P_sum) +
+                                                                c_sdp_reg_bsn_monitor_v2_addr_w;
   constant c_addr_w_reg_ring_lane_info_bf          : natural := 1;
 
   -- Read only sdp_info values
   constant c_f_adc     : std_logic := '1';  -- '0' => 160M, '1' => 200M
   constant c_fsub_type : std_logic := '0';  -- '0' => critical sampled PFB, '1' => oversampled PFB
 
-  constant c_lane_payload_nof_longwords_xst : natural := c_sdp_N_crosslets_max * c_sdp_S_pn / 2;  -- = crosslet subband select block size divided by 2 as it is repacked from 32b to 64b. = 42 longwords
-  constant c_lane_payload_nof_longwords_bf  : natural := (c_sdp_S_sub_bf * c_sdp_N_pol_bf * 9) / 16;  -- = beamlet block size repacked from 36b to 64b (9/16 = 36/64). = 549 longwords
-  constant c_lane_payload_nof_longwords_max : natural := largest(c_lane_payload_nof_longwords_xst, c_lane_payload_nof_longwords_bf);
-  constant c_lane_packet_nof_longwords_max  : natural := c_lane_payload_nof_longwords_max + c_ring_dp_hdr_field_size;  -- = 549 + 3 = 552
+  constant c_lane_payload_nof_longwords_xst : natural := c_sdp_N_crosslets_max * c_sdp_S_pn / 2;  -- = crosslet
+                            -- subband select block size divided by 2 as it is repacked from 32b to 64b. = 42 longwords
+  constant c_lane_payload_nof_longwords_bf  : natural := (c_sdp_S_sub_bf * c_sdp_N_pol_bf * 9) / 16;  -- = beamlet
+                            -- block size repacked from 36b to 64b (9/16 = 36/64). = 549 longwords
+  constant c_lane_payload_nof_longwords_max : natural := largest(c_lane_payload_nof_longwords_xst,
+                                                                 c_lane_payload_nof_longwords_bf);
+  constant c_lane_packet_nof_longwords_max  : natural := c_lane_payload_nof_longwords_max +
+                                                         c_ring_dp_hdr_field_size;  -- = 549 + 3 = 552
 
   -- Use large enough c_lane_total_nof_packets_w, so that lane total nof packets count will not overflow:
   -- . For low band XST crosslets on ring : L_packet = (P_sq - 1) * f_sub = 8 * 195312.5 = 1.5625 M packets/s,
@@ -449,11 +463,14 @@ architecture str of sdp_station is
   -- Use same Tx FIFO size for all lanes in the ring to ease the code, no need to optimize Tx FIFO RAM usage per lane.
   -- The tr_10GbE uses dp_fifo_fill_eop, so rely on releasing packets (beamlets, crosslets) at eop instead
   -- of at fill level. Make fifo size large enough to fit one packet and the c_fifo_tx_fill_margin.
-  constant c_fifo_tx_size_ring         : natural := true_log_pow2(c_lane_packet_nof_longwords_max + c_fifo_tx_fill_margin);  -- = 552 + 6 --> 1024
-  constant c_fifo_tx_fill_ring         : natural := c_fifo_tx_size_ring - c_fifo_tx_fill_margin;  -- = maximum fill level, so rely on eop
+  constant c_fifo_tx_size_ring         : natural := true_log_pow2(c_lane_packet_nof_longwords_max +
+                                                                  c_fifo_tx_fill_margin);  -- = 552 + 6 --> 1024
+  constant c_fifo_tx_fill_ring         : natural := c_fifo_tx_size_ring -
+                                                    c_fifo_tx_fill_margin;  -- = maximum fill level, so rely on eop
 
   constant c_nof_even_lanes            : natural := 3;  -- 0 = XST, 1 = BF_0, 2 = BF_1.
-  constant c_lane_nof_if               : natural := 3;  -- 3 different 10GbE interfaces per pair of lanes: QSFP cable, RING_0 pcb and RING_1 pcb
+  constant c_lane_nof_if               : natural := 3;  -- 3 different 10GbE interfaces per pair of lanes: QSFP cable,
+                                                        -- RING_0 pcb and RING_1 pcb
   constant c_ring_qsfp_if_offset       : natural := 0;  -- QSFP cable signals are indexed at c_lane_nof_if * I.
   constant c_ring_0_if_offset          : natural := 1;  -- RING_0 pcb signals are indexed at c_lane_nof_if * I + 1.
   constant c_ring_1_if_offset          : natural := 2;  -- RING_1 pcb signals are indexed at c_lane_nof_if * I + 2.
@@ -505,32 +522,44 @@ architecture str of sdp_station is
   signal reg_bsn_align_v2_bf_cipo_arr : t_mem_cipo_arr(c_sdp_N_beamsets - 1 downto 0) := (others => c_mem_cipo_rst);
 
   -- BF bsn monitor v2 rx align
-  signal reg_bsn_monitor_v2_rx_align_bf_copi_arr : t_mem_copi_arr(c_sdp_N_beamsets - 1 downto 0) := (others => c_mem_copi_rst);
-  signal reg_bsn_monitor_v2_rx_align_bf_cipo_arr : t_mem_cipo_arr(c_sdp_N_beamsets - 1 downto 0) := (others => c_mem_cipo_rst);
+  signal reg_bsn_monitor_v2_rx_align_bf_copi_arr : t_mem_copi_arr(c_sdp_N_beamsets - 1 downto 0) :=
+                                                                                             (others => c_mem_copi_rst);
+  signal reg_bsn_monitor_v2_rx_align_bf_cipo_arr : t_mem_cipo_arr(c_sdp_N_beamsets - 1 downto 0) :=
+                                                                                             (others => c_mem_cipo_rst);
 
   -- BF bsn monitor v2 aligned
-  signal reg_bsn_monitor_v2_aligned_bf_copi_arr : t_mem_copi_arr(c_sdp_N_beamsets - 1 downto 0) := (others => c_mem_copi_rst);
-  signal reg_bsn_monitor_v2_aligned_bf_cipo_arr : t_mem_cipo_arr(c_sdp_N_beamsets - 1 downto 0) := (others => c_mem_cipo_rst);
+  signal reg_bsn_monitor_v2_aligned_bf_copi_arr : t_mem_copi_arr(c_sdp_N_beamsets - 1 downto 0) :=
+                                                                                             (others => c_mem_copi_rst);
+  signal reg_bsn_monitor_v2_aligned_bf_cipo_arr : t_mem_cipo_arr(c_sdp_N_beamsets - 1 downto 0) :=
+                                                                                             (others => c_mem_cipo_rst);
 
   -- BF ring lane info
   signal reg_ring_lane_info_bf_copi_arr : t_mem_copi_arr(c_sdp_N_beamsets - 1 downto 0) := (others => c_mem_copi_rst);
   signal reg_ring_lane_info_bf_cipo_arr : t_mem_cipo_arr(c_sdp_N_beamsets - 1 downto 0) := (others => c_mem_cipo_rst);
 
   -- BF ring bsn monitor rx
-  signal reg_bsn_monitor_v2_ring_rx_bf_copi_arr : t_mem_copi_arr(c_sdp_N_beamsets - 1 downto 0) := (others => c_mem_copi_rst);
-  signal reg_bsn_monitor_v2_ring_rx_bf_cipo_arr : t_mem_cipo_arr(c_sdp_N_beamsets - 1 downto 0) := (others => c_mem_cipo_rst);
+  signal reg_bsn_monitor_v2_ring_rx_bf_copi_arr : t_mem_copi_arr(c_sdp_N_beamsets - 1 downto 0) :=
+                                                                                             (others => c_mem_copi_rst);
+  signal reg_bsn_monitor_v2_ring_rx_bf_cipo_arr : t_mem_cipo_arr(c_sdp_N_beamsets - 1 downto 0) :=
+                                                                                             (others => c_mem_cipo_rst);
 
   -- BF ring bsn monitor tx
-  signal reg_bsn_monitor_v2_ring_tx_bf_copi_arr : t_mem_copi_arr(c_sdp_N_beamsets - 1 downto 0) := (others => c_mem_copi_rst);
-  signal reg_bsn_monitor_v2_ring_tx_bf_cipo_arr : t_mem_cipo_arr(c_sdp_N_beamsets - 1 downto 0) := (others => c_mem_cipo_rst);
+  signal reg_bsn_monitor_v2_ring_tx_bf_copi_arr : t_mem_copi_arr(c_sdp_N_beamsets - 1 downto 0) :=
+                                                                                             (others => c_mem_copi_rst);
+  signal reg_bsn_monitor_v2_ring_tx_bf_cipo_arr : t_mem_cipo_arr(c_sdp_N_beamsets - 1 downto 0) :=
+                                                                                             (others => c_mem_cipo_rst);
 
   -- BF ring validate err
-  signal reg_dp_block_validate_err_bf_copi_arr : t_mem_copi_arr(c_sdp_N_beamsets - 1 downto 0) := (others => c_mem_copi_rst);
-  signal reg_dp_block_validate_err_bf_cipo_arr : t_mem_cipo_arr(c_sdp_N_beamsets - 1 downto 0) := (others => c_mem_cipo_rst);
+  signal reg_dp_block_validate_err_bf_copi_arr : t_mem_copi_arr(c_sdp_N_beamsets - 1 downto 0) :=
+                                                                                             (others => c_mem_copi_rst);
+  signal reg_dp_block_validate_err_bf_cipo_arr : t_mem_cipo_arr(c_sdp_N_beamsets - 1 downto 0) :=
+                                                                                             (others => c_mem_cipo_rst);
 
   -- BF ring bsn at sync
-  signal reg_dp_block_validate_bsn_at_sync_bf_copi_arr : t_mem_copi_arr(c_sdp_N_beamsets - 1 downto 0) := (others => c_mem_copi_rst);
-  signal reg_dp_block_validate_bsn_at_sync_bf_cipo_arr : t_mem_cipo_arr(c_sdp_N_beamsets - 1 downto 0) := (others => c_mem_cipo_rst);
+  signal reg_dp_block_validate_bsn_at_sync_bf_copi_arr : t_mem_copi_arr(c_sdp_N_beamsets - 1 downto 0) :=
+                                                                                             (others => c_mem_copi_rst);
+  signal reg_dp_block_validate_bsn_at_sync_bf_cipo_arr : t_mem_cipo_arr(c_sdp_N_beamsets - 1 downto 0) :=
+                                                                                             (others => c_mem_cipo_rst);
 
   ----------------------------------------------
   -- BST
@@ -543,11 +572,15 @@ architecture str of sdp_station is
   signal reg_stat_hdr_dat_bst_copi_arr : t_mem_copi_arr(c_sdp_N_beamsets - 1 downto 0) := (others => c_mem_copi_rst);
   signal reg_stat_hdr_dat_bst_cipo_arr : t_mem_cipo_arr(c_sdp_N_beamsets - 1 downto 0) := (others => c_mem_cipo_rst);
 
-  signal reg_bsn_monitor_v2_bst_offload_copi_arr : t_mem_copi_arr(c_sdp_N_beamsets - 1 downto 0) := (others => c_mem_copi_rst);
-  signal reg_bsn_monitor_v2_bst_offload_cipo_arr : t_mem_cipo_arr(c_sdp_N_beamsets - 1 downto 0) := (others => c_mem_cipo_rst);
+  signal reg_bsn_monitor_v2_bst_offload_copi_arr : t_mem_copi_arr(c_sdp_N_beamsets - 1 downto 0) :=
+                                                                                             (others => c_mem_copi_rst);
+  signal reg_bsn_monitor_v2_bst_offload_cipo_arr : t_mem_cipo_arr(c_sdp_N_beamsets - 1 downto 0) :=
+                                                                                             (others => c_mem_cipo_rst);
 
-  signal reg_bsn_monitor_v2_beamlet_output_copi_arr : t_mem_copi_arr(c_sdp_N_beamsets - 1 downto 0) := (others => c_mem_copi_rst);
-  signal reg_bsn_monitor_v2_beamlet_output_cipo_arr : t_mem_cipo_arr(c_sdp_N_beamsets - 1 downto 0) := (others => c_mem_cipo_rst);
+  signal reg_bsn_monitor_v2_beamlet_output_copi_arr : t_mem_copi_arr(c_sdp_N_beamsets - 1 downto 0) :=
+                                                                                             (others => c_mem_copi_rst);
+  signal reg_bsn_monitor_v2_beamlet_output_cipo_arr : t_mem_cipo_arr(c_sdp_N_beamsets - 1 downto 0) :=
+                                                                                             (others => c_mem_cipo_rst);
 
   ----------------------------------------------
 
@@ -590,10 +623,14 @@ architecture str of sdp_station is
   signal tr_10gbe_ring_src_in_arr          : t_dp_siso_arr(c_ring_nof_mac_ip - 1 downto 0) := (others => c_dp_siso_rdy);
 
   -- 10GbE beamlet output
-  signal nw_10gbe_beamlet_output_snk_in_arr  : t_dp_sosi_arr(c_nof_10GbE_beamlet_output - 1 downto 0) := (others => c_dp_sosi_rst);
-  signal nw_10gbe_beamlet_output_snk_out_arr : t_dp_siso_arr(c_nof_10GbE_beamlet_output - 1 downto 0) := (others => c_dp_siso_rdy);
-  signal nw_10gbe_beamlet_output_src_out_arr : t_dp_sosi_arr(c_nof_10GbE_beamlet_output - 1 downto 0) := (others => c_dp_sosi_rst);
-  signal nw_10gbe_beamlet_output_src_in_arr  : t_dp_siso_arr(c_nof_10GbE_beamlet_output - 1 downto 0) := (others => c_dp_siso_rdy);
+  signal nw_10gbe_beamlet_output_snk_in_arr  : t_dp_sosi_arr(c_nof_10GbE_beamlet_output - 1 downto 0) :=
+                                                                                             (others => c_dp_sosi_rst);
+  signal nw_10gbe_beamlet_output_snk_out_arr : t_dp_siso_arr(c_nof_10GbE_beamlet_output - 1 downto 0) :=
+                                                                                             (others => c_dp_siso_rdy);
+  signal nw_10gbe_beamlet_output_src_out_arr : t_dp_sosi_arr(c_nof_10GbE_beamlet_output - 1 downto 0) :=
+                                                                                             (others => c_dp_sosi_rst);
+  signal nw_10gbe_beamlet_output_src_in_arr  : t_dp_siso_arr(c_nof_10GbE_beamlet_output - 1 downto 0) :=
+                                                                                             (others => c_dp_siso_rdy);
 
   signal nw_10GbE_hdr_fields_in_arr        : t_slv_1024_arr(c_nof_10GbE_beamlet_output - 1 downto 0);
 
@@ -612,18 +649,31 @@ begin
   -----------------------------------------------------------------------------
   -- SDP Info register
   -----------------------------------------------------------------------------
-  -- . derive beamlet output MAC, IP and UDP Port as in https://plm.astron.nl/polarion/#/project/LOFAR2System/wiki/L1%20Interface%20Control%20Documents/STAT%20to%20CEP%20ICD
-  -- . these FW default beamlet output source MAC, IP and UDP port for 10GbE are NOT used in sdp_beamformer_output, because
-  --   instead they are MM programmable as set by c_sdp_cep_hdr_field_sel
-  cep_eth_src_mac  <= c_sdp_cep_eth_src_mac_47_16 & RESIZE_UVEC(this_bck_id, c_byte_w) & RESIZE_UVEC(this_chip_id, c_byte_w);  -- Simply use chip_id since we only use 1 of the 6*4 = 24 10GbE port.
-  cep_ip_src_addr  <= c_sdp_cep_ip_src_addr_31_16 & RESIZE_UVEC(this_bck_id, c_byte_w) & INCR_UVEC(RESIZE_UVEC(this_chip_id, c_byte_w), 1);  -- +1 to avoid IP = *.*.*.0
+  -- . derive beamlet output MAC, IP and UDP Port as in
+  --   https://plm.astron.nl/polarion/#/project/LOFAR2System/wiki/L1%20Interface%20Control%20Documents/STAT%20to%20CEP%20ICD
+  -- . these FW default beamlet output source MAC, IP and UDP port for 10GbE are NOT used in sdp_beamformer_output,
+  --   because instead they are MM programmable as set by c_sdp_cep_hdr_field_sel
+  cep_eth_src_mac  <= c_sdp_cep_eth_src_mac_47_16 &
+                      RESIZE_UVEC(this_bck_id, c_byte_w) &
+                      RESIZE_UVEC(this_chip_id, c_byte_w);  -- Simply use chip_id since we only use 1 of the 6*4 =
+                                                            -- 24 10GbE ports.
+  cep_ip_src_addr  <= c_sdp_cep_ip_src_addr_31_16 &
+                      RESIZE_UVEC(this_bck_id, c_byte_w) &
+                      INCR_UVEC(RESIZE_UVEC(this_chip_id, c_byte_w), 1);  -- +1 to avoid IP = *.*.*.0
   cep_udp_src_port <= c_sdp_cep_udp_src_port_15_8 & gn_id;
 
-  -- . derive statistics offload source MAC/IP/UDP as in: https://plm.astron.nl/polarion/#/project/LOFAR2System/wiki/L2%20Interface%20Control%20Documents/SC%20to%20SDP%20ICD
-  -- . these FW default statistics offload source MAC, IP and UDP port for 1GbE are used, as set by c_sdp_stat_hdr_field_sel.
+  -- . derive statistics offload source MAC/IP/UDP as in:
+  --   https://plm.astron.nl/polarion/#/project/LOFAR2System/wiki/L2%20Interface%20Control%20Documents/SC%20to%20SDP%20ICD
+  -- . these FW default statistics offload source MAC, IP and UDP port for 1GbE are used, as set by
+  --   c_sdp_stat_hdr_field_sel.
   -- . the source MAC, IP are the same as for the M&C, because M&C and statistics offload share the same 1GbE
-  stat_eth_src_mac <= c_sdp_stat_eth_src_mac_47_16 & RESIZE_UVEC(this_bck_id, c_byte_w) & RESIZE_UVEC(this_chip_id, c_byte_w);  -- Simply use chip_id since we only use 1 of the 6*4 = 24 10GbE port.
-  stat_ip_src_addr <= c_sdp_stat_ip_src_addr_31_16 & RESIZE_UVEC(this_bck_id, c_byte_w) & INCR_UVEC(RESIZE_UVEC(this_chip_id, c_byte_w), 1);  -- +1 to avoid IP = *.*.*.0
+  stat_eth_src_mac <= c_sdp_stat_eth_src_mac_47_16 &
+                      RESIZE_UVEC(this_bck_id, c_byte_w) &
+                      RESIZE_UVEC(this_chip_id, c_byte_w);  -- Simply use chip_id since we only use 1 of the 6*4 =
+                                                            -- 24 10GbE ports.
+  stat_ip_src_addr <= c_sdp_stat_ip_src_addr_31_16 &
+                      RESIZE_UVEC(this_bck_id, c_byte_w) &
+                      INCR_UVEC(RESIZE_UVEC(this_chip_id, c_byte_w), 1);  -- +1 to avoid IP = *.*.*.0
   sst_udp_src_port <= c_sdp_sst_udp_src_port_15_8 & gn_id;
   bst_udp_src_port <= c_sdp_bst_udp_src_port_15_8 & gn_id;
   xst_udp_src_port <= c_sdp_xst_udp_src_port_15_8 & gn_id;
@@ -665,7 +715,8 @@ begin
     ring_info => ring_info
   );
 
-  this_rn <= TO_UVEC(gn_index - TO_UINT(ring_info.O_rn), c_byte_w) when rising_edge(dp_clk);  -- Using register to ease timing closure.
+  -- Using register to ease timing closure.
+  this_rn <= TO_UVEC(gn_index - TO_UINT(ring_info.O_rn), c_byte_w) when rising_edge(dp_clk);
 
   -----------------------------------------------------------------------------
   -- node_adc_input_and_timing (AIT)
@@ -1405,10 +1456,12 @@ begin
     -----------------------------------------------------------------------------
     gen_lane_wires : for I in 0 to c_nof_even_lanes - 1 generate
       -- QSFP_RX, use_cable_to_previous_rn=1 -> even lanes receive from cable
-      lane_rx_cable_sosi_arr(I) <= tr_10gbe_ring_src_out_arr(c_lane_nof_if * I + c_ring_qsfp_if_offset) when ring_info.use_cable_to_previous_rn = '1' else c_dp_sosi_rst;
+      lane_rx_cable_sosi_arr(I) <= tr_10gbe_ring_src_out_arr(c_lane_nof_if * I + c_ring_qsfp_if_offset) when
+                                   ring_info.use_cable_to_previous_rn = '1' else c_dp_sosi_rst;
 
       -- QSFP_TX, use_cable_to_next_rn=1 -> even lanes transmit to cable
-      tr_10gbe_ring_snk_in_arr(c_lane_nof_if * I + c_ring_qsfp_if_offset) <= lane_tx_cable_sosi_arr(I) when ring_info.use_cable_to_next_rn = '1' else c_dp_sosi_rst;
+      tr_10gbe_ring_snk_in_arr(c_lane_nof_if * I + c_ring_qsfp_if_offset) <= lane_tx_cable_sosi_arr(I) when
+                                   ring_info.use_cable_to_next_rn = '1' else c_dp_sosi_rst;
 
       -- RING_0_RX even lanes receive from RING_0 (from the left)
       lane_rx_board_sosi_arr(I) <= tr_10gbe_ring_src_out_arr(c_lane_nof_if * I + c_ring_0_if_offset);
@@ -1501,9 +1554,12 @@ begin
   -- LEDs
   ------------
   -- QSFP 1 - Beamlets
-  unb2_board_qsfp_leds_tx_siso_arr(c_nof_10GbE_beamlet_output + c_quad - 1 downto c_quad) <= nw_10gbe_beamlet_output_snk_out_arr;
-  unb2_board_qsfp_leds_tx_sosi_arr(c_nof_10GbE_beamlet_output + c_quad - 1 downto c_quad) <= nw_10gbe_beamlet_output_snk_in_arr;
-  unb2_board_qsfp_leds_rx_sosi_arr(c_nof_10GbE_beamlet_output + c_quad - 1 downto c_quad) <= nw_10gbe_beamlet_output_src_out_arr;
+  unb2_board_qsfp_leds_tx_siso_arr(c_nof_10GbE_beamlet_output + c_quad - 1 downto c_quad) <=
+                                                                                    nw_10gbe_beamlet_output_snk_out_arr;
+  unb2_board_qsfp_leds_tx_sosi_arr(c_nof_10GbE_beamlet_output + c_quad - 1 downto c_quad) <=
+                                                                                    nw_10gbe_beamlet_output_snk_in_arr;
+  unb2_board_qsfp_leds_rx_sosi_arr(c_nof_10GbE_beamlet_output + c_quad - 1 downto c_quad) <=
+                                                                                    nw_10gbe_beamlet_output_src_out_arr;
 
   -- QSFP 0 - Ring
   unb2_board_qsfp_leds_tx_siso_arr(0 downto 0) <= tr_10gbe_ring_snk_out_arr(0 downto 0);
diff --git a/applications/lofar2/libraries/sdp/src/vhdl/sdp_statistics_offload.vhd b/applications/lofar2/libraries/sdp/src/vhdl/sdp_statistics_offload.vhd
index 91ef17b9a47ba4e6741989a0cb89a02ef86adf7d..cc3ad48a56d9803d8b090df5bff9a7722a563203 100644
--- a/applications/lofar2/libraries/sdp/src/vhdl/sdp_statistics_offload.vhd
+++ b/applications/lofar2/libraries/sdp/src/vhdl/sdp_statistics_offload.vhd
@@ -116,8 +116,10 @@ entity sdp_statistics_offload is
     g_ctrl_interval_size_min   : natural := 1;  -- 1 = default
     g_beamset_id               : natural := 0;
     g_P_sq                     : natural := c_sdp_P_sq;  -- number of available correlator cells,
-    g_crosslets_direction      : natural := 1;  -- > 0 for crosslet transport in positive direction (incrementing RN), else 0 for negative direction
-    g_reverse_word_order       : boolean := true;  -- default word order is MSB after LSB, we need to stream LSB after MSB.
+    g_crosslets_direction      : natural := 1;  -- > 0 for crosslet transport in positive direction (incrementing RN),
+                                                -- else 0 for negative direction
+    g_reverse_word_order       : boolean := true;  -- default word order is MSB after LSB, we need to stream LSB
+                                                   -- after MSB.
     g_bsn_monitor_sync_timeout : natural := c_sdp_N_clk_sync_timeout
   );
   port (
@@ -162,7 +164,8 @@ entity sdp_statistics_offload is
     sdp_info                : in t_sdp_info;
     weighted_subbands_flag  : in std_logic := '0';
 
-    nof_crosslets           : in std_logic_vector(c_sdp_nof_crosslets_reg_w - 1 downto 0) := (others => '0');  -- from MM
+    nof_crosslets           : in std_logic_vector(c_sdp_nof_crosslets_reg_w - 1 downto 0) :=
+                                                  (others => '0');  -- from MM
     prev_crosslets_info_rec : in t_sdp_crosslets_info := c_sdp_crosslets_info_rst
   );
 end sdp_statistics_offload;
@@ -180,12 +183,14 @@ architecture str of sdp_statistics_offload is
                                                   -- +1 for margin and to ensure > 0
 
   -- header fields
+  constant c_hfa                       : t_common_field_arr(c_sdp_stat_hdr_field_arr'range) := c_sdp_stat_hdr_field_arr;
   constant c_marker                    : natural := func_sdp_get_stat_marker(g_statistics_type);
   constant c_nof_signal_inputs         : natural := func_sdp_get_stat_nof_signal_inputs(g_statistics_type);
   constant c_nof_statistics_per_packet : natural := func_sdp_get_stat_nof_statistics_per_packet(g_statistics_type);
   constant c_udp_total_length          : natural := func_sdp_get_stat_udp_total_length(g_statistics_type);
   constant c_ip_total_length           : natural := func_sdp_get_stat_ip_total_length(g_statistics_type);
-  constant c_nof_packets_max           : natural := func_sdp_get_stat_nof_packets(g_statistics_type, c_sdp_S_pn, g_P_sq, c_sdp_N_crosslets_max);
+  constant c_nof_packets_max           : natural := func_sdp_get_stat_nof_packets(g_statistics_type,
+                                                                             c_sdp_S_pn, g_P_sq, c_sdp_N_crosslets_max);
 
   constant c_beamlet_id                : natural := g_beamset_id * c_sdp_S_sub_bf;
 
@@ -213,7 +218,8 @@ architecture str of sdp_statistics_offload is
     nof_cycles_dly       : natural;  -- trigger_offload delay for this node
     offset_rn            : natural;  -- = ring_info.O_rn, GN index of first ring node
     nof_rn               : natural;  -- = ring_info.N_rn, number of GN in the ring
-    nof_used_P_sq        : natural;  -- number of used correlator cells <= g_P_sq (is number of available correlator cells)
+    nof_used_P_sq        : natural;  -- number of used correlator cells <= g_P_sq (is number of available correlator
+                                     -- cells)
   end record;
 
   -- Input capture per sync interval
@@ -227,7 +233,8 @@ architecture str of sdp_statistics_offload is
     payload_err          : std_logic;
   end record;
 
-  constant c_input_rst : t_input := (0, 0, (others => '0'), 0, c_sdp_crosslets_info_rst, 0, '0');  -- to avoid initial 'X' in sim
+  constant c_input_rst : t_input := (0, 0, (others => '0'), 0, c_sdp_crosslets_info_rst, 0, '0');  -- to avoid initial
+                                                                                                   -- 'X' in sim
 
   -- Offload control
   type t_reg is record
@@ -300,8 +307,8 @@ begin
   -- Assemble offload header info
   -------------------------------------------------------------------------------
   -- Whether the dp_offload_tx_hdr_fields value is actually used in the Tx header depends on c_sdp_stat_hdr_field_sel
-  --   c_sdp_stat_hdr_field_sel = "1"&"101"&"111011111001"&"0100"&"0100"&"00000000"&"1000000"&"0"
-  --                                   eth   ip             udp    app
+  --   c_sdp_stat_hdr_field_sel = "1" & "101" & "111011111001" & "0100" & "0100" & "00000000" & "1000000" & "0"
+  --                                     eth     ip               udp      app
   --   where 0 = data path, 1 = MM controlled. The '0' fields are assigned here in dp_header_info
   --   in order:
   --     access   field
@@ -356,29 +363,52 @@ begin
 
   station_info <= sdp_info.antenna_field_index & sdp_info.station_id;
 
-  dp_header_info(field_hi(c_sdp_stat_hdr_field_arr, "eth_src_mac"                             ) downto field_lo(c_sdp_stat_hdr_field_arr,  "eth_src_mac"                             )) <= eth_src_mac;
-  dp_header_info(field_hi(c_sdp_stat_hdr_field_arr, "ip_total_length"                         ) downto field_lo(c_sdp_stat_hdr_field_arr,  "ip_total_length"                         )) <= TO_UVEC(c_ip_total_length, 16);
-  dp_header_info(field_hi(c_sdp_stat_hdr_field_arr, "ip_src_addr"                             ) downto field_lo(c_sdp_stat_hdr_field_arr,  "ip_src_addr"                             )) <= ip_src_addr;
-  dp_header_info(field_hi(c_sdp_stat_hdr_field_arr, "udp_src_port"                            ) downto field_lo(c_sdp_stat_hdr_field_arr,  "udp_src_port"                            )) <= udp_src_port;
-  dp_header_info(field_hi(c_sdp_stat_hdr_field_arr, "udp_total_length"                        ) downto field_lo(c_sdp_stat_hdr_field_arr,  "udp_total_length"                        )) <= TO_UVEC(c_udp_total_length, 16);
-  dp_header_info(field_hi(c_sdp_stat_hdr_field_arr, "sdp_marker"                              ) downto field_lo(c_sdp_stat_hdr_field_arr,  "sdp_marker"                              )) <= TO_UVEC(c_marker, 8);
-  dp_header_info(field_hi(c_sdp_stat_hdr_field_arr, "sdp_observation_id"                      ) downto field_lo(c_sdp_stat_hdr_field_arr,  "sdp_observation_id"                      )) <= sdp_info.observation_id;
-  dp_header_info(field_hi(c_sdp_stat_hdr_field_arr, "sdp_station_info"                        ) downto field_lo(c_sdp_stat_hdr_field_arr,  "sdp_station_info"                        )) <= station_info;
-  dp_header_info(field_hi(c_sdp_stat_hdr_field_arr, "sdp_source_info_antenna_band_id"         ) downto field_lo(c_sdp_stat_hdr_field_arr,  "sdp_source_info_antenna_band_id"         )) <= SLV(sdp_info.antenna_band_index);
-  dp_header_info(field_hi(c_sdp_stat_hdr_field_arr, "sdp_source_info_nyquist_zone_id"         ) downto field_lo(c_sdp_stat_hdr_field_arr,  "sdp_source_info_nyquist_zone_id"         )) <= sdp_info.nyquist_zone_index;
-  dp_header_info(field_hi(c_sdp_stat_hdr_field_arr, "sdp_source_info_f_adc"                   ) downto field_lo(c_sdp_stat_hdr_field_arr,  "sdp_source_info_f_adc"                   )) <= SLV(sdp_info.f_adc);
-  dp_header_info(field_hi(c_sdp_stat_hdr_field_arr, "sdp_source_info_fsub_type"               ) downto field_lo(c_sdp_stat_hdr_field_arr,  "sdp_source_info_fsub_type"               )) <= SLV(fsub_type);
-  dp_header_info(field_hi(c_sdp_stat_hdr_field_arr, "sdp_source_info_payload_error"           ) downto field_lo(c_sdp_stat_hdr_field_arr,  "sdp_source_info_payload_error"           )) <= SLV(hdr_input.payload_err);
-  dp_header_info(field_hi(c_sdp_stat_hdr_field_arr, "sdp_source_info_beam_repositioning_flag" ) downto field_lo(c_sdp_stat_hdr_field_arr,  "sdp_source_info_beam_repositioning_flag" )) <= SLV(sdp_info.beam_repositioning_flag);
-  dp_header_info(field_hi(c_sdp_stat_hdr_field_arr, "sdp_source_info_weighted_subbands_flag"  ) downto field_lo(c_sdp_stat_hdr_field_arr,  "sdp_source_info_weighted_subbands_flag"  )) <= SLV(weighted_subbands_flag);
-  dp_header_info(field_hi(c_sdp_stat_hdr_field_arr, "sdp_source_info_gn_id"                   ) downto field_lo(c_sdp_stat_hdr_field_arr,  "sdp_source_info_gn_id"                   )) <= pp_gn_id;
-  dp_header_info(field_hi(c_sdp_stat_hdr_field_arr, "sdp_integration_interval"                ) downto field_lo(c_sdp_stat_hdr_field_arr,  "sdp_integration_interval"                )) <= TO_UVEC(hdr_input.integration_interval, 24);
-  dp_header_info(field_hi(c_sdp_stat_hdr_field_arr, "sdp_data_id"                             ) downto field_lo(c_sdp_stat_hdr_field_arr,  "sdp_data_id"                             )) <= data_id_slv;
-  dp_header_info(field_hi(c_sdp_stat_hdr_field_arr, "sdp_nof_signal_inputs"                   ) downto field_lo(c_sdp_stat_hdr_field_arr,  "sdp_nof_signal_inputs"                   )) <= TO_UVEC(c_nof_signal_inputs, 8);
-  dp_header_info(field_hi(c_sdp_stat_hdr_field_arr, "sdp_nof_bytes_per_statistic"             ) downto field_lo(c_sdp_stat_hdr_field_arr,  "sdp_nof_bytes_per_statistic"             )) <= TO_UVEC(c_sdp_nof_bytes_per_statistic, 8);
-  dp_header_info(field_hi(c_sdp_stat_hdr_field_arr, "sdp_nof_statistics_per_packet"           ) downto field_lo(c_sdp_stat_hdr_field_arr,  "sdp_nof_statistics_per_packet"           )) <= TO_UVEC(c_nof_statistics_per_packet, 16);
-  dp_header_info(field_hi(c_sdp_stat_hdr_field_arr, "sdp_block_period"                        ) downto field_lo(c_sdp_stat_hdr_field_arr,  "sdp_block_period"                        )) <= sdp_info.block_period;
-  dp_header_info(field_hi(c_sdp_stat_hdr_field_arr, "dp_bsn"                                  ) downto field_lo(c_sdp_stat_hdr_field_arr,  "dp_bsn"                                  )) <= hdr_input.bsn_at_sync;
+  dp_header_info(field_hi(c_hfa, "eth_src_mac"                            ) downto
+                 field_lo(c_hfa, "eth_src_mac"                            )) <= eth_src_mac;
+  dp_header_info(field_hi(c_hfa, "ip_total_length"                        ) downto
+                 field_lo(c_hfa, "ip_total_length"                        )) <= TO_UVEC(c_ip_total_length, 16);
+  dp_header_info(field_hi(c_hfa, "ip_src_addr"                            ) downto
+                 field_lo(c_hfa, "ip_src_addr"                            )) <= ip_src_addr;
+  dp_header_info(field_hi(c_hfa, "udp_src_port"                           ) downto
+                 field_lo(c_hfa, "udp_src_port"                           )) <= udp_src_port;
+  dp_header_info(field_hi(c_hfa, "udp_total_length"                       ) downto
+                 field_lo(c_hfa, "udp_total_length"                       )) <= TO_UVEC(c_udp_total_length, 16);
+  dp_header_info(field_hi(c_hfa, "sdp_marker"                             ) downto
+                 field_lo(c_hfa, "sdp_marker"                             )) <= TO_UVEC(c_marker, 8);
+  dp_header_info(field_hi(c_hfa, "sdp_observation_id"                     ) downto
+                 field_lo(c_hfa, "sdp_observation_id"                     )) <= sdp_info.observation_id;
+  dp_header_info(field_hi(c_hfa, "sdp_station_info"                       ) downto
+                 field_lo(c_hfa, "sdp_station_info"                       )) <= station_info;
+  dp_header_info(field_hi(c_hfa, "sdp_source_info_antenna_band_id"        ) downto
+                 field_lo(c_hfa, "sdp_source_info_antenna_band_id"        )) <= SLV(sdp_info.antenna_band_index);
+  dp_header_info(field_hi(c_hfa, "sdp_source_info_nyquist_zone_id"        ) downto
+                 field_lo(c_hfa, "sdp_source_info_nyquist_zone_id"        )) <= sdp_info.nyquist_zone_index;
+  dp_header_info(field_hi(c_hfa, "sdp_source_info_f_adc"                  ) downto
+                 field_lo(c_hfa, "sdp_source_info_f_adc"                  )) <= SLV(sdp_info.f_adc);
+  dp_header_info(field_hi(c_hfa, "sdp_source_info_fsub_type"              ) downto
+                 field_lo(c_hfa, "sdp_source_info_fsub_type"              )) <= SLV(fsub_type);
+  dp_header_info(field_hi(c_hfa, "sdp_source_info_payload_error"          ) downto
+                 field_lo(c_hfa, "sdp_source_info_payload_error"          )) <= SLV(hdr_input.payload_err);
+  dp_header_info(field_hi(c_hfa, "sdp_source_info_beam_repositioning_flag") downto
+                 field_lo(c_hfa, "sdp_source_info_beam_repositioning_flag")) <= SLV(sdp_info.beam_repositioning_flag);
+  dp_header_info(field_hi(c_hfa, "sdp_source_info_weighted_subbands_flag" ) downto
+                 field_lo(c_hfa, "sdp_source_info_weighted_subbands_flag" )) <= SLV(weighted_subbands_flag);
+  dp_header_info(field_hi(c_hfa, "sdp_source_info_gn_id"                  ) downto
+                 field_lo(c_hfa, "sdp_source_info_gn_id"                  )) <= pp_gn_id;
+  dp_header_info(field_hi(c_hfa, "sdp_integration_interval"     ) downto
+                 field_lo(c_hfa, "sdp_integration_interval"     )) <= TO_UVEC(hdr_input.integration_interval, 24);
+  dp_header_info(field_hi(c_hfa, "sdp_data_id"                  ) downto
+                 field_lo(c_hfa, "sdp_data_id"                  )) <= data_id_slv;
+  dp_header_info(field_hi(c_hfa, "sdp_nof_signal_inputs"        ) downto
+                 field_lo(c_hfa, "sdp_nof_signal_inputs"        )) <= TO_UVEC(c_nof_signal_inputs, 8);
+  dp_header_info(field_hi(c_hfa, "sdp_nof_bytes_per_statistic"  ) downto
+                 field_lo(c_hfa, "sdp_nof_bytes_per_statistic"  )) <= TO_UVEC(c_sdp_nof_bytes_per_statistic, 8);
+  dp_header_info(field_hi(c_hfa, "sdp_nof_statistics_per_packet") downto
+                 field_lo(c_hfa, "sdp_nof_statistics_per_packet")) <= TO_UVEC(c_nof_statistics_per_packet, 16);
+  dp_header_info(field_hi(c_hfa, "sdp_block_period"             ) downto
+                 field_lo(c_hfa, "sdp_block_period"             )) <= sdp_info.block_period;
+  dp_header_info(field_hi(c_hfa, "dp_bsn"                       ) downto
+                 field_lo(c_hfa, "dp_bsn"                       )) <= hdr_input.bsn_at_sync;
 
   p_reg : process(dp_rst, dp_clk)
   begin
@@ -456,7 +486,8 @@ begin
                                                               -- hdr_input.integration_interval also on node 0
       p.nof_rn              <= TO_UINT(ring_info.N_rn);
       p.nof_used_P_sq       <= smallest(p.nof_rn / 2 + 1, g_P_sq);
-      p.remote_rn           <= func_ring_nof_hops_to_source_rn(r.instance_count, p.rn_index, p.nof_rn, g_crosslets_direction);
+      p.remote_rn           <= func_ring_nof_hops_to_source_rn(
+                                                         r.instance_count, p.rn_index, p.nof_rn, g_crosslets_direction);
       p.remote_gn           <= p.offset_rn + p.remote_rn;
       p.remote_pn           <= func_sdp_gn_index_to_pn_index(p.remote_gn);
       p.remote_si_offset    <= p.remote_pn * c_sdp_S_pn;
@@ -490,7 +521,8 @@ begin
       elsif in_sosi.eop = '1' then
         reg_input.payload_err <= reg_input.payload_err or in_sosi.err(0);
       end if;
-      reg_input.nof_packets <= func_sdp_get_stat_nof_packets(g_statistics_type, c_sdp_S_pn, p.nof_used_P_sq, reg_input.nof_crosslets);
+      reg_input.nof_packets <= func_sdp_get_stat_nof_packets(g_statistics_type,
+                                                             c_sdp_S_pn, p.nof_used_P_sq, reg_input.nof_crosslets);
 
       -- Determine previous sync interval info
       -- . just register when the value suits any sync interval
@@ -524,11 +556,14 @@ begin
   gen_data_id_sst_os : if g_statistics_type = "SST_OS" generate
     -- Signal input index is repeated, first 0:11 (r.packet_count 0:11) with fsub_type = 0.
     -- Then for r.packet_count 12:23, signal input index is again 0:11 but with fsub_type = 1.
-    fsub_type <= '0' when r.packet_count < c_sdp_S_pn else '1';  -- Set fsub_type = 0 for unshifted bands, '1' for shifted bands
-    data_id_rec.sst_signal_input_index <= r.packet_count + p.local_si_offset when r.packet_count < c_sdp_S_pn else r.packet_count - c_sdp_S_pn + p.local_si_offset;
+    fsub_type <= '0' when r.packet_count < c_sdp_S_pn else '1';  -- Set fsub_type = 0 for unshifted bands, '1'
+                                                                 -- for shifted bands
+    data_id_rec.sst_signal_input_index <= r.packet_count + p.local_si_offset when
+                                      r.packet_count < c_sdp_S_pn else r.packet_count - c_sdp_S_pn + p.local_si_offset;
   end generate;
 
-  gen_no_os : if g_statistics_type /= "SST_OS" generate  -- Set fsub_type to sdp_info.fsub_type when g_statistics_type is not SST_OS.
+  gen_no_os : if g_statistics_type /= "SST_OS" generate
+    -- Set fsub_type to sdp_info.fsub_type when g_statistics_type is not SST_OS.
     fsub_type <= sdp_info.fsub_type;
   end generate;
 
@@ -594,7 +629,8 @@ begin
           v.interleave_count := r.interleave_count + 1;
           if r.interleave_count = c_sdp_Q_fft - 1 then
             -- jump to first packet for next step,
-            v.start_address := r.interleave_address + c_sdp_N_sub * c_sdp_Q_fft * c_sdp_W_statistic_sz;  -- = + 512 * 2 * 2 = + 2048
+            v.start_address := r.interleave_address + c_sdp_N_sub * c_sdp_Q_fft * c_sdp_W_statistic_sz;  -- =
+                                                                                              -- + 512 * 2 * 2 = + 2048
             v.interleave_count := 0;
             v.interleave_address := v.start_address;
           end if;
@@ -618,13 +654,16 @@ begin
           --           6      24576, 25152, 25728, 26304, 26880, 27456, 28032
           --           7      28672, 29248, 29824, 30400, 30976, 31552, 32128
           --           8      32768, 33344, 33920, 34496, 35072, 35648, 36224
-          v.start_address := r.start_address + c_sdp_X_sq * c_nof_complex * c_sdp_W_statistic_sz;  -- continue with next packet in this instance
+          v.start_address := r.start_address + c_sdp_X_sq * c_nof_complex * c_sdp_W_statistic_sz;  -- continue with
+                                                                                        -- next packet in this instance
           v.crosslet_count := r.crosslet_count + 1;
           if r.crosslet_count = reg_input.nof_crosslets - 1 then
-            v.start_address := r.instance_address + 2**c_sdp_ram_st_xsq_addr_w;  -- jump to first packet in next instance
+            v.start_address := r.instance_address + 2**c_sdp_ram_st_xsq_addr_w;  -- jump to first packet in
+                                                                                 -- next instance
             v.crosslet_count := 0;
             v.instance_count := r.instance_count + 1;
-            v.instance_address := v.start_address;  -- use v.start_address to avoid multipier needed in (r.instance_count + 1) * 2**c_sdp_ram_st_xsq_addr_w
+            v.instance_address := v.start_address;  -- use v.start_address to avoid multipier needed in
+                                                    -- (r.instance_count + 1) * 2**c_sdp_ram_st_xsq_addr_w
           end if;
           v.start_timer := p.offload_packet_time;
           v.packet_count := r.packet_count + 1;
diff --git a/applications/lofar2/libraries/sdp/src/vhdl/sdp_tbuf_pkg.vhd b/applications/lofar2/libraries/sdp/src/vhdl/sdp_tbuf_pkg.vhd
index 29bd7d5a7007231b14853d174614eb8991acdd7c..1019f6bd75d68346d32d8a266c58fa89f0011060 100644
--- a/applications/lofar2/libraries/sdp/src/vhdl/sdp_tbuf_pkg.vhd
+++ b/applications/lofar2/libraries/sdp/src/vhdl/sdp_tbuf_pkg.vhd
@@ -34,7 +34,6 @@ use common_lib.common_field_pkg.all;
 use work.sdp_pkg.all;
 
 package sdp_tbuf_pkg is
-
   -----------------------------------------------------------------------------
   -- TBUF registers
   -----------------------------------------------------------------------------
@@ -81,8 +80,7 @@ package sdp_tbuf_pkg is
     dump_done                   : std_logic;                                  -- 18
   end record;
 
-  constant c_sdp_tbuf_registers_rst : t_sdp_tbuf_registers :=
+  constant c_sdp_tbuf_registers_rst :t_sdp_tbuf_registers :=
     (0, 0, '0', '0', 0, 0, 0, 0, (others => '0'), (others => '0'),
      0, 0, 0, (others => '0'), (others => '0'), '0');
-
 end sdp_tbuf_pkg;
diff --git a/applications/lofar2/libraries/sdp/src/vhdl/sdp_tbuf_registers.vhd b/applications/lofar2/libraries/sdp/src/vhdl/sdp_tbuf_registers.vhd
index 241c4ac6d6dafb4eb8cc847c3aa0eef2602b70a2..2c0aca854ceb81cc1e153f82a539881e254b645a 100644
--- a/applications/lofar2/libraries/sdp/src/vhdl/sdp_tbuf_registers.vhd
+++ b/applications/lofar2/libraries/sdp/src/vhdl/sdp_tbuf_registers.vhd
@@ -70,7 +70,8 @@ entity sdp_tbuf_registers is
 end sdp_tbuf_registers;
 
 architecture str of sdp_tbuf_registers is
-  constant c_field_arr : t_common_field_arr(c_sdp_tbuf_registers_nof_hdr_fields - 1 downto 0) := c_sdp_tbuf_registers_field_arr;
+  constant c_field_arr : t_common_field_arr(c_sdp_tbuf_registers_nof_hdr_fields - 1 downto 0) :=
+                         c_sdp_tbuf_registers_field_arr;
 
   signal mm_fields_in  : std_logic_vector(field_slv_in_len(c_field_arr) - 1 downto 0);
   signal mm_fields_out : std_logic_vector(field_slv_out_len(c_field_arr) - 1 downto 0);
@@ -120,22 +121,38 @@ begin
   );
 
   -- add "RO" fields to mm_fields
-  mm_fields_in(field_hi(c_field_arr, "dump_done")             downto field_lo(c_field_arr, "dump_done"))             <=     slv(tbuf_registers_rd.dump_done);  -- 1
-  mm_fields_in(field_hi(c_field_arr, "recorded_last_rsn")     downto field_lo(c_field_arr, "recorded_last_rsn"))     <=         tbuf_registers_rd.recorded_last_rsn;  -- 64
-  mm_fields_in(field_hi(c_field_arr, "recorded_first_rsn")    downto field_lo(c_field_arr, "recorded_first_rsn"))    <=         tbuf_registers_rd.recorded_first_rsn;  -- 64
-  mm_fields_in(field_hi(c_field_arr, "recorded_nof_samples")  downto field_lo(c_field_arr, "recorded_nof_samples"))  <= to_uvec(tbuf_registers_rd.recorded_nof_samples, 32);
-  mm_fields_in(field_hi(c_field_arr, "recorded_last_page")    downto field_lo(c_field_arr, "recorded_last_page"))    <= to_uvec(tbuf_registers_rd.recorded_last_page, 32);
-  mm_fields_in(field_hi(c_field_arr, "recorded_first_page")   downto field_lo(c_field_arr, "recorded_first_page"))   <= to_uvec(tbuf_registers_rd.recorded_first_page, 32);
-  mm_fields_in(field_hi(c_field_arr, "recorded_nof_pages")    downto field_lo(c_field_arr, "recorded_nof_pages"))    <= to_uvec(tbuf_registers_rd.recorded_nof_pages, 32);
-  mm_fields_in(field_hi(c_field_arr, "nof_pages_in_buffer")   downto field_lo(c_field_arr, "nof_pages_in_buffer"))   <= to_uvec(tbuf_registers_rd.nof_pages_in_buffer, 32);
-  mm_fields_in(field_hi(c_field_arr, "nof_samples_per_block") downto field_lo(c_field_arr, "nof_samples_per_block")) <= to_uvec(tbuf_registers_rd.nof_samples_per_block, 32);
+  mm_fields_in(field_hi(c_field_arr, "dump_done") downto
+               field_lo(c_field_arr, "dump_done")) <= slv(tbuf_registers_rd.dump_done);  -- 1
+  mm_fields_in(field_hi(c_field_arr, "recorded_last_rsn") downto
+               field_lo(c_field_arr, "recorded_last_rsn")) <= tbuf_registers_rd.recorded_last_rsn;  -- 64
+  mm_fields_in(field_hi(c_field_arr, "recorded_first_rsn") downto
+               field_lo(c_field_arr, "recorded_first_rsn")) <= tbuf_registers_rd.recorded_first_rsn;  -- 64
+  mm_fields_in(field_hi(c_field_arr, "recorded_nof_samples") downto
+               field_lo(c_field_arr, "recorded_nof_samples")) <= to_uvec(tbuf_registers_rd.recorded_nof_samples, 32);
+  mm_fields_in(field_hi(c_field_arr, "recorded_last_page") downto
+               field_lo(c_field_arr, "recorded_last_page")) <= to_uvec(tbuf_registers_rd.recorded_last_page, 32);
+  mm_fields_in(field_hi(c_field_arr, "recorded_first_page") downto
+               field_lo(c_field_arr, "recorded_first_page")) <= to_uvec(tbuf_registers_rd.recorded_first_page, 32);
+  mm_fields_in(field_hi(c_field_arr, "recorded_nof_pages") downto
+               field_lo(c_field_arr, "recorded_nof_pages")) <= to_uvec(tbuf_registers_rd.recorded_nof_pages, 32);
+  mm_fields_in(field_hi(c_field_arr, "nof_pages_in_buffer") downto
+               field_lo(c_field_arr, "nof_pages_in_buffer")) <= to_uvec(tbuf_registers_rd.nof_pages_in_buffer, 32);
+  mm_fields_in(field_hi(c_field_arr, "nof_samples_per_block") downto
+               field_lo(c_field_arr, "nof_samples_per_block")) <= to_uvec(tbuf_registers_rd.nof_samples_per_block, 32);
 
   -- get "RW" fields from mm_fields
-  tbuf_registers_wr.dump_enables         <=         mm_fields_out(field_hi(c_field_arr, "dump_enables")         downto field_lo(c_field_arr, "dump_enables"));
-  tbuf_registers_wr.dump_start_rsn       <=         mm_fields_out(field_hi(c_field_arr, "dump_start_rsn")       downto field_lo(c_field_arr, "dump_start_rsn"));
-  tbuf_registers_wr.dump_nof_pages       <= to_uint(mm_fields_out(field_hi(c_field_arr, "dump_nof_pages")       downto field_lo(c_field_arr, "dump_nof_pages")));
-  tbuf_registers_wr.dump_start_page      <= to_uint(mm_fields_out(field_hi(c_field_arr, "dump_start_page")      downto field_lo(c_field_arr, "dump_start_page")));
-  tbuf_registers_wr.dump_interpacket_gap <= to_uint(mm_fields_out(field_hi(c_field_arr, "dump_interpacket_gap") downto field_lo(c_field_arr, "dump_interpacket_gap")));
-  tbuf_registers_wr.record_enable        <=      sl(mm_fields_out(field_hi(c_field_arr, "record_enable")        downto field_lo(c_field_arr, "record_enable")));
-  tbuf_registers_wr.record_all           <=      sl(mm_fields_out(field_hi(c_field_arr, "record_all")           downto field_lo(c_field_arr, "record_all")));
+  tbuf_registers_wr.dump_enables         <=         mm_fields_out(field_hi(c_field_arr, "dump_enables") downto
+                                                                  field_lo(c_field_arr, "dump_enables"));
+  tbuf_registers_wr.dump_start_rsn       <=         mm_fields_out(field_hi(c_field_arr, "dump_start_rsn") downto
+                                                                  field_lo(c_field_arr, "dump_start_rsn"));
+  tbuf_registers_wr.dump_nof_pages       <= to_uint(mm_fields_out(field_hi(c_field_arr, "dump_nof_pages") downto
+                                                                  field_lo(c_field_arr, "dump_nof_pages")));
+  tbuf_registers_wr.dump_start_page      <= to_uint(mm_fields_out(field_hi(c_field_arr, "dump_start_page") downto
+                                                                  field_lo(c_field_arr, "dump_start_page")));
+  tbuf_registers_wr.dump_interpacket_gap <= to_uint(mm_fields_out(field_hi(c_field_arr, "dump_interpacket_gap") downto
+                                                                  field_lo(c_field_arr, "dump_interpacket_gap")));
+  tbuf_registers_wr.record_enable        <=      sl(mm_fields_out(field_hi(c_field_arr, "record_enable") downto
+                                                                  field_lo(c_field_arr, "record_enable")));
+  tbuf_registers_wr.record_all           <=      sl(mm_fields_out(field_hi(c_field_arr, "record_all") downto
+                                                                  field_lo(c_field_arr, "record_all")));
 end str;
diff --git a/applications/lofar2/libraries/sdp/tb/vhdl/tb_sdp_beamformer_output.vhd b/applications/lofar2/libraries/sdp/tb/vhdl/tb_sdp_beamformer_output.vhd
index 1e0530ee6ae3521798f9e250deab63c0cdd1af16..c676f3033a3ab30a24c1dc30c06b8b3794289a81 100644
--- a/applications/lofar2/libraries/sdp/tb/vhdl/tb_sdp_beamformer_output.vhd
+++ b/applications/lofar2/libraries/sdp/tb/vhdl/tb_sdp_beamformer_output.vhd
@@ -30,17 +30,17 @@
 -------------------------------------------------------------------------------
 
 library IEEE, common_lib, dp_lib, reorder_lib;
-use IEEE.std_logic_1164.all;
-use common_lib.common_pkg.all;
-use common_lib.common_mem_pkg.all;
-use common_lib.tb_common_pkg.all;
-use common_lib.tb_common_mem_pkg.all;
-use common_lib.common_network_layers_pkg.all;
-use dp_lib.dp_stream_pkg.all;
-use reorder_lib.reorder_pkg.all;
-use work.sdp_pkg.all;
-use work.sdp_bdo_pkg.all;
-use work.tb_sdp_pkg.all;
+  use IEEE.std_logic_1164.all;
+  use common_lib.common_pkg.all;
+  use common_lib.common_mem_pkg.all;
+  use common_lib.tb_common_pkg.all;
+  use common_lib.tb_common_mem_pkg.all;
+  use common_lib.common_network_layers_pkg.all;
+  use dp_lib.dp_stream_pkg.all;
+  use reorder_lib.reorder_pkg.all;
+  use work.sdp_pkg.all;
+  use work.sdp_bdo_pkg.all;
+  use work.tb_sdp_pkg.all;
 
 entity tb_sdp_beamformer_output is
   generic (
@@ -227,7 +227,8 @@ begin
       proc_mem_mm_bus_wr(v_offset + 0, g_nof_destinations, mm_clk, reg_destinations_cipo, reg_destinations_copi);
 
       -- . Read back nof_destinations
-      proc_common_wait_cross_clock_domain_latency(c_mm_clk_period, c_dp_clk_period, c_common_cross_clock_domain_latency * 2);
+      proc_common_wait_cross_clock_domain_latency(c_mm_clk_period, c_dp_clk_period,
+                                                  c_common_cross_clock_domain_latency * 2);
       proc_mem_mm_bus_rd(v_offset + 0, mm_clk, reg_destinations_cipo, reg_destinations_copi);
       proc_mem_mm_bus_rd_latency(1, mm_clk);
       rd_nof_destinations <= to_uint(reg_destinations_cipo.rddata(c_word_w - 1 downto 0));
@@ -238,7 +239,8 @@ begin
 
       -- . Read nof_destinations_act, to check that g_nof_destinations is
       --   forced to c_nof_destinations
-      proc_common_wait_cross_clock_domain_latency(c_mm_clk_period, c_dp_clk_period, c_common_cross_clock_domain_latency * 2);
+      proc_common_wait_cross_clock_domain_latency(c_mm_clk_period, c_dp_clk_period,
+                                                  c_common_cross_clock_domain_latency * 2);
       proc_mem_mm_bus_rd(v_offset + 1, mm_clk, reg_destinations_cipo, reg_destinations_copi);
       proc_mem_mm_bus_rd_latency(1, mm_clk);
       rd_nof_destinations_act <= to_uint(reg_destinations_cipo.rddata(c_word_w - 1 downto 0));
@@ -250,16 +252,20 @@ begin
       -- . Use same destination MAC/IP/UDP for all destinations, to ease rx_beamlet_header verification
       --   and to have same c_exp_ip_header_checksum value for all c_nof_destinations.
       for DI in 0 to c_nof_destinations - 1 loop
-        proc_mem_mm_bus_wr(DI * 2 + 1, to_uint(c_sdp_cep_eth_dst_mac(47 downto 32)), mm_clk, reg_destinations_cipo, reg_destinations_copi);
-        proc_mem_mm_bus_wr(DI * 2, to_sint(c_sdp_cep_eth_dst_mac(31 downto 0)), mm_clk, reg_destinations_cipo, reg_destinations_copi);
+        proc_mem_mm_bus_wr(DI * 2 + 1, to_uint(c_sdp_cep_eth_dst_mac(47 downto 32)),
+                           mm_clk, reg_destinations_cipo, reg_destinations_copi);
+        proc_mem_mm_bus_wr(DI * 2, to_sint(c_sdp_cep_eth_dst_mac(31 downto 0)),
+                           mm_clk, reg_destinations_cipo, reg_destinations_copi);
       end loop;
       v_offset := c_sdp_bdo_mm_nof_destinations_max * 2;
       for DI in 0 to c_nof_destinations - 1 loop
-        proc_mem_mm_bus_wr(v_offset + DI, to_sint(c_sdp_cep_ip_dst_addr), mm_clk, reg_destinations_cipo, reg_destinations_copi);
+        proc_mem_mm_bus_wr(v_offset + DI, to_sint(c_sdp_cep_ip_dst_addr),
+                           mm_clk, reg_destinations_cipo, reg_destinations_copi);
       end loop;
       v_offset := c_sdp_bdo_mm_nof_destinations_max * 3;
       for DI in 0 to c_nof_destinations - 1 loop
-        proc_mem_mm_bus_wr(v_offset + DI, to_uint(c_sdp_cep_udp_dst_port), mm_clk, reg_destinations_cipo, reg_destinations_copi);
+        proc_mem_mm_bus_wr(v_offset + DI, to_uint(c_sdp_cep_udp_dst_port),
+                           mm_clk, reg_destinations_cipo, reg_destinations_copi);
       end loop;
     end if;
 
@@ -279,7 +285,8 @@ begin
     ----------------------------------------------------------------------------
     proc_mem_mm_bus_wr(0, 1, mm_clk, reg_dp_xonoff_cipo, reg_dp_xonoff_copi);
 
-    proc_common_wait_cross_clock_domain_latency(c_mm_clk_period, c_dp_clk_period, c_common_cross_clock_domain_latency * 2);
+    proc_common_wait_cross_clock_domain_latency(c_mm_clk_period, c_dp_clk_period,
+                                                c_common_cross_clock_domain_latency * 2);
     mm_init <= '0';
     wait;
   end process;
diff --git a/applications/lofar2/libraries/sdp/tb/vhdl/tb_sdp_crosslets_remote_ring.vhd b/applications/lofar2/libraries/sdp/tb/vhdl/tb_sdp_crosslets_remote_ring.vhd
index 7e83acc6cbc36702e0479c2a0c32d8e9bb701ab2..7b063ecd8ebed7153acdbab54769d1e5ffe40188 100644
--- a/applications/lofar2/libraries/sdp/tb/vhdl/tb_sdp_crosslets_remote_ring.vhd
+++ b/applications/lofar2/libraries/sdp/tb/vhdl/tb_sdp_crosslets_remote_ring.vhd
@@ -301,17 +301,17 @@
 -------------------------------------------------------------------------------
 
 library IEEE, common_lib, dp_lib, st_lib, ring_lib, tr_10GbE_lib, tech_pll_lib;
-use IEEE.std_logic_1164.all;
-use common_lib.common_pkg.all;
-use common_lib.common_mem_pkg.all;
-use common_lib.tb_common_pkg.all;
-use common_lib.tb_common_mem_pkg.all;
-use common_lib.common_str_pkg.all;
-use dp_lib.dp_stream_pkg.all;
-use ring_lib.ring_pkg.all;
-use tech_pll_lib.tech_pll_component_pkg.all;
-use work.sdp_pkg.all;
-use work.tb_sdp_pkg.all;
+  use IEEE.std_logic_1164.all;
+  use common_lib.common_pkg.all;
+  use common_lib.common_mem_pkg.all;
+  use common_lib.tb_common_pkg.all;
+  use common_lib.tb_common_mem_pkg.all;
+  use common_lib.common_str_pkg.all;
+  use dp_lib.dp_stream_pkg.all;
+  use ring_lib.ring_pkg.all;
+  use tech_pll_lib.tech_pll_component_pkg.all;
+  use work.sdp_pkg.all;
+  use work.tb_sdp_pkg.all;
 
 entity tb_sdp_crosslets_remote_ring is
   generic (
@@ -564,9 +564,11 @@ begin
     for RN in 0 to c_last_rn loop
       for P in 0 to c_P_sq - 1 loop
         v_offset := 6 + RN * v_span_node + P * v_span;
-        proc_mem_mm_bus_rd(v_offset, mm_clk, reg_bsn_monitor_v2_xst_rx_align_cipo, reg_bsn_monitor_v2_xst_rx_align_copi);
+        proc_mem_mm_bus_rd(v_offset,
+                           mm_clk, reg_bsn_monitor_v2_xst_rx_align_cipo, reg_bsn_monitor_v2_xst_rx_align_copi);
         proc_mem_mm_bus_rd_latency(1, mm_clk);
-        FPGA_xst_rx_align_latency_R(RN)(P) <= TO_SINT(reg_bsn_monitor_v2_xst_rx_align_cipo.rddata(c_word_w - 1 downto 0));
+        FPGA_xst_rx_align_latency_R(RN)(P) <=
+            TO_SINT(reg_bsn_monitor_v2_xst_rx_align_cipo.rddata(c_word_w - 1 downto 0));
       end loop;
     end loop;
     -- Read FPGA_xst_aligned_latency_R
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 2aa8e4d7609b9e17eae9642736639630eb6bdf88..be1ea08147275bf8b212a217477f11d772db59d1 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
@@ -182,11 +182,13 @@ begin
       -- Run some sync intervals with DSP counter data for the real and imag fields
       wait until rising_edge(clk);
       for I in 0 to c_nof_sync - 1 loop
-        proc_dp_gen_block_data(c_rl, false, c_dsp_data_w, c_dsp_data_w, 0, v_re, v_im, c_nof_ch_in, 0, 0, '1', "0", clk, st_en, st_siso_arr(K), st_sosi_arr(K));  -- next sync
+        proc_dp_gen_block_data(c_rl, false, c_dsp_data_w, c_dsp_data_w, 0, v_re, v_im,
+                               c_nof_ch_in, 0, 0, '1', "0", clk, st_en, st_siso_arr(K), st_sosi_arr(K));  -- next sync
         v_re := v_re + c_nof_ch_in;
         v_im := v_im + c_nof_ch_in;
         for J in 0 to c_nof_block_per_sync - 2 loop  -- provide sop and eop for block reference
-          proc_dp_gen_block_data(c_rl, false, c_dsp_data_w, c_dsp_data_w, 0, v_re, v_im, c_nof_ch_in, 0, 0, '0', "0", clk, st_en, st_siso_arr(K), st_sosi_arr(K));  -- no sync
+          proc_dp_gen_block_data(c_rl, false, c_dsp_data_w, c_dsp_data_w, 0, v_re, v_im,
+                                 c_nof_ch_in, 0, 0, '0', "0", clk, st_en, st_siso_arr(K), st_sosi_arr(K));  -- no sync
           v_re := v_re + c_nof_ch_in;
           v_im := v_im + c_nof_ch_in;
         end loop;
@@ -257,8 +259,17 @@ begin
           exp_sosi.eop <= '1';
         end if;
 
-        exp_sosi.re <= RESIZE_DP_DSP_DATA(TO_DP_DSP_DATA(   (I + c_nof_block_dly) * c_nof_ch_in + v_k + c_nof_ch_sel_col * c_crosslet_offsets(v_offset) + v_col + v_row * 2**5)(c_sdp_W_crosslet - 1 downto 0));
-        exp_sosi.im <= RESIZE_DP_DSP_DATA(TO_DP_DSP_DATA(1 + (I + c_nof_block_dly) * c_nof_ch_in + v_k + c_nof_ch_sel_col * c_crosslet_offsets(v_offset) + v_col + v_row * 2**5)(c_sdp_W_crosslet - 1 downto 0));
+        exp_sosi.re <= RESIZE_DP_DSP_DATA(TO_DP_DSP_DATA((I + c_nof_block_dly) * c_nof_ch_in +
+                                                         v_k +
+                                                         c_nof_ch_sel_col * c_crosslet_offsets(v_offset) +
+                                                         v_col +
+                                                         v_row * 2**5)(c_sdp_W_crosslet - 1 downto 0));
+        exp_sosi.im <= RESIZE_DP_DSP_DATA(TO_DP_DSP_DATA(1 +
+                                                         (I + c_nof_block_dly) * c_nof_ch_in +
+                                                         v_k +
+                                                         c_nof_ch_sel_col * c_crosslet_offsets(v_offset) +
+                                                         v_col +
+                                                         v_row * 2**5)(c_sdp_W_crosslet - 1 downto 0));
         proc_common_wait_some_cycles(clk, 1);
       end loop;
 
diff --git a/applications/lofar2/libraries/sdp/tb/vhdl/tb_sdp_pkg.vhd b/applications/lofar2/libraries/sdp/tb/vhdl/tb_sdp_pkg.vhd
index 69daed37a1142f63236af40da33598ddfaaf103c..5e0751e4efc515e539940f847d7c82ffc7984077 100644
--- a/applications/lofar2/libraries/sdp/tb/vhdl/tb_sdp_pkg.vhd
+++ b/applications/lofar2/libraries/sdp/tb/vhdl/tb_sdp_pkg.vhd
@@ -26,13 +26,13 @@
 -- Description:
 -------------------------------------------------------------------------------
 library IEEE, common_lib, dp_lib, reorder_lib;
-use IEEE.std_logic_1164.all;
-use common_lib.common_pkg.all;
-use common_lib.common_network_layers_pkg.all;
-use common_lib.tb_common_pkg.all;
-use dp_lib.dp_stream_pkg.all;
-use reorder_lib.reorder_pkg.all;
-use work.sdp_pkg.all;
+  use IEEE.std_logic_1164.all;
+  use common_lib.common_pkg.all;
+  use common_lib.common_network_layers_pkg.all;
+  use common_lib.tb_common_pkg.all;
+  use dp_lib.dp_stream_pkg.all;
+  use reorder_lib.reorder_pkg.all;
+  use work.sdp_pkg.all;
 
 package tb_sdp_pkg is
   -----------------------------------------------------------------------------
@@ -148,8 +148,10 @@ package tb_sdp_pkg is
   -- . use separate list for re and for im
   subtype t_sdp_beamlet_block_list is t_slv_8_arr(0 to c_sdp_cep_nof_beamlets_per_block * c_sdp_N_pol_bf - 1);
 
-  function func_sdp_transpose_beamlet_packet(     packet_list : t_sdp_beamlet_packet_list) return t_sdp_beamlet_packet_list;
-  function func_sdp_undo_transpose_beamlet_packet(packet_list : t_sdp_beamlet_packet_list) return t_sdp_beamlet_packet_list;
+  function func_sdp_transpose_beamlet_packet(     packet_list : t_sdp_beamlet_packet_list)
+      return t_sdp_beamlet_packet_list;
+  function func_sdp_undo_transpose_beamlet_packet(packet_list : t_sdp_beamlet_packet_list)
+      return t_sdp_beamlet_packet_list;
 
   -- Read beamlet packet octets per re and im parts
   procedure proc_sdp_rx_beamlet_octets(
@@ -186,7 +188,8 @@ package body tb_sdp_pkg is
   function func_sdp_gn_index_to_ip_15_0(gn_index : natural) return std_logic_vector is
     constant c_unb_nr    : natural := gn_index / 4;  -- 4 PN per Uniboard2
     constant c_node_nr   : natural := gn_index mod 4;
-    constant c_ip_15_0   : std_logic_vector(15 downto 0) := TO_UVEC(c_unb_nr, 8) & TO_UVEC(c_node_nr + 1, 8);  -- +1 to avoid IP = *.*.*.0
+    constant c_ip_15_0   : std_logic_vector(15 downto 0) :=
+                               TO_UVEC(c_unb_nr, 8) & TO_UVEC(c_node_nr + 1, 8);  -- +1 to avoid IP = *.*.*.0
   begin
     return c_ip_15_0;
   end func_sdp_gn_index_to_ip_15_0;
@@ -265,7 +268,10 @@ package body tb_sdp_pkg is
       v_hdr.app.sdp_data_id                           := TO_UVEC(beamlet_index, 32);
       v_hdr.app.sdp_data_id_bst_beamlet_index         := TO_UVEC(beamlet_index, 16);
     elsif g_statistics_type = "XST" then
-      v_hdr.app.sdp_data_id                           := TO_UVEC(0, 7) & TO_UVEC(subband_index, 9) & TO_UVEC(xst_signal_input_A, 8) & TO_UVEC(xst_signal_input_B, 8);
+      v_hdr.app.sdp_data_id                           := TO_UVEC(0, 7) &
+                                                         TO_UVEC(subband_index, 9) &
+                                                         TO_UVEC(xst_signal_input_A, 8) &
+                                                         TO_UVEC(xst_signal_input_B, 8);
       v_hdr.app.sdp_data_id_xst_subband_index         := TO_UVEC(subband_index, 9);
       v_hdr.app.sdp_data_id_xst_signal_input_A_index  := TO_UVEC(xst_signal_input_A, 8);
       v_hdr.app.sdp_data_id_xst_signal_input_B_index  := TO_UVEC(xst_signal_input_B, 8);
@@ -279,7 +285,8 @@ package body tb_sdp_pkg is
     return v_hdr;
   end func_sdp_compose_stat_header;
 
-  function func_sdp_verify_stat_header(g_statistics_type : string; in_hdr, exp_hdr : t_sdp_stat_header) return boolean is
+  function func_sdp_verify_stat_header(g_statistics_type : string; in_hdr, exp_hdr : t_sdp_stat_header)
+      return boolean is
   begin
     -- eth header
     assert in_hdr.eth.dst_mac = exp_hdr.eth.dst_mac
@@ -689,7 +696,8 @@ package body tb_sdp_pkg is
       severity ERROR;
     v_beamlet_index := TO_UINT(in_hdr.app.sdp_beamlet_index);
     if beamlet_index_mod then
-      -- Treat beamlet_index modulo c_sdp_S_sub_bf, because the beamlet packets from different beamsets may arrive in arbitrary order
+      -- Treat beamlet_index modulo c_sdp_S_sub_bf, because the beamlet packets from different beamsets may arrive
+      -- in arbitrary order
       v_beamlet_index := v_beamlet_index mod c_sdp_S_sub_bf;
     end if;
     assert v_beamlet_index = TO_UINT(exp_hdr.app.sdp_beamlet_index)
@@ -789,7 +797,8 @@ package body tb_sdp_pkg is
   --         ...,       ...,       ...,       ...,
   --     972,973, 1948,1949, 2924,2925, 3900,3901,
   --     974,775, 1950,1951, 2926,2927, 3902,3903, output list index
-  function func_sdp_transpose_beamlet_packet(packet_list : t_sdp_beamlet_packet_list) return t_sdp_beamlet_packet_list is
+  function func_sdp_transpose_beamlet_packet(packet_list : t_sdp_beamlet_packet_list)
+      return t_sdp_beamlet_packet_list is
     variable v_list : t_sdp_beamlet_packet_list;
   begin
     v_list := func_reorder_transpose_packet(c_sdp_cep_nof_blocks_per_packet,
@@ -800,7 +809,8 @@ package body tb_sdp_pkg is
   end func_sdp_transpose_beamlet_packet;
 
   -- Reverse argument order nof_beamlets_per_block and nof_blocks_per_packet to undo transpose
-  function func_sdp_undo_transpose_beamlet_packet(packet_list : t_sdp_beamlet_packet_list) return t_sdp_beamlet_packet_list is
+  function func_sdp_undo_transpose_beamlet_packet(packet_list : t_sdp_beamlet_packet_list)
+      return t_sdp_beamlet_packet_list is
     variable v_list : t_sdp_beamlet_packet_list;
   begin
     v_list := func_reorder_transpose_packet(c_sdp_cep_nof_beamlets_per_block,
diff --git a/applications/lofar2/libraries/sdp/tb/vhdl/tb_sdp_statistics_offload.vhd b/applications/lofar2/libraries/sdp/tb/vhdl/tb_sdp_statistics_offload.vhd
index f10e1a83b477577e362304edb7f287124dc87ac4..43d489eefd2dac074b9773726ec16d3752124628 100644
--- a/applications/lofar2/libraries/sdp/tb/vhdl/tb_sdp_statistics_offload.vhd
+++ b/applications/lofar2/libraries/sdp/tb/vhdl/tb_sdp_statistics_offload.vhd
@@ -37,18 +37,18 @@
 -------------------------------------------------------------------------------
 
 library IEEE, common_lib, dp_lib, ring_lib;
-use IEEE.std_logic_1164.all;
-use common_lib.common_pkg.all;
-use common_lib.common_mem_pkg.all;
-use common_lib.tb_common_pkg.all;
-use common_lib.tb_common_mem_pkg.all;
-use common_lib.common_network_layers_pkg.all;
-use common_lib.common_field_pkg.all;
-use common_lib.common_str_pkg.all;
-use dp_lib.dp_stream_pkg.all;
-use ring_lib.ring_pkg.all;
-use work.sdp_pkg.all;
-use work.tb_sdp_pkg.all;
+  use IEEE.std_logic_1164.all;
+  use common_lib.common_pkg.all;
+  use common_lib.common_mem_pkg.all;
+  use common_lib.tb_common_pkg.all;
+  use common_lib.tb_common_mem_pkg.all;
+  use common_lib.common_network_layers_pkg.all;
+  use common_lib.common_field_pkg.all;
+  use common_lib.common_str_pkg.all;
+  use dp_lib.dp_stream_pkg.all;
+  use ring_lib.ring_pkg.all;
+  use work.sdp_pkg.all;
+  use work.tb_sdp_pkg.all;
 
 entity tb_sdp_statistics_offload is
   generic (
@@ -81,16 +81,20 @@ end tb_sdp_statistics_offload;
 architecture tb of tb_sdp_statistics_offload is
   constant c_dp_clk_period : time := 5 ns;  -- 200 MHz
   constant c_mm_clk_period : time := sel_a_b(g_fast_mm_clk, 1,  10) * 1 ns;
-  constant c_mm_dp_clk_ratio : natural := sel_a_b(c_mm_clk_period > c_dp_clk_period, c_mm_clk_period / c_dp_clk_period, 1);
+  constant c_mm_dp_clk_ratio : natural := sel_a_b(c_mm_clk_period > c_dp_clk_period,
+                                                  c_mm_clk_period / c_dp_clk_period, 1);
 
   constant c_cross_clock_domain_latency : natural := 20;
 
-  constant c_offload_node_time         : natural := g_offload_node_time * g_gn_index;
+  constant c_offload_node_time : natural := g_offload_node_time * g_gn_index;
 
   -- Use sim default dst and src MAC, IP, UDP port from sdp_pkg.vhd and based on g_gn_index
-  constant c_node_eth_src_mac          : std_logic_vector(47 downto 0) := c_sdp_stat_eth_src_mac_47_16 & func_sdp_gn_index_to_mac_15_0(g_gn_index);
-  constant c_node_ip_src_addr          : std_logic_vector(31 downto 0) := c_sdp_stat_ip_src_addr_31_16 & func_sdp_gn_index_to_ip_15_0(g_gn_index);
-  constant c_node_udp_src_port         : std_logic_vector(15 downto 0) := func_sdp_get_stat_udp_src_port(g_statistics_type, g_gn_index);
+  constant c_node_eth_src_mac  : std_logic_vector(47 downto 0) := c_sdp_stat_eth_src_mac_47_16 &
+                                                                  func_sdp_gn_index_to_mac_15_0(g_gn_index);
+  constant c_node_ip_src_addr  : std_logic_vector(31 downto 0) := c_sdp_stat_ip_src_addr_31_16 &
+                                                                  func_sdp_gn_index_to_ip_15_0(g_gn_index);
+  constant c_node_udp_src_port : std_logic_vector(15 downto 0) := func_sdp_get_stat_udp_src_port(g_statistics_type,
+                                                                                                 g_gn_index);
 
   -- Used mm_adresses on mm bus "enable_mosi/miso".
   constant c_reg_enable_mm_addr_enable : natural := 0;
@@ -101,7 +105,8 @@ architecture tb of tb_sdp_statistics_offload is
   constant c_ip_total_length           : natural := func_sdp_get_stat_ip_total_length(g_statistics_type);
   constant c_marker                    : natural := func_sdp_get_stat_marker(g_statistics_type);
   constant c_nof_signal_inputs         : natural := func_sdp_get_stat_nof_signal_inputs(g_statistics_type);
-  constant c_nof_packets_max           : natural := func_sdp_get_stat_nof_packets(g_statistics_type, c_sdp_S_pn, g_P_sq, c_sdp_N_crosslets_max);
+  constant c_nof_packets_max           : natural := func_sdp_get_stat_nof_packets(
+                                                        g_statistics_type, c_sdp_S_pn, g_P_sq, c_sdp_N_crosslets_max);
 
   constant c_exp_ip_header_checksum    : natural := 0;  -- 0 in this local tb, calculated by IO eth when used in design
 
@@ -122,16 +127,24 @@ architecture tb of tb_sdp_statistics_offload is
                                               '0'  -- use_cable_to_previous_rn
                                               );
 
-  constant c_beamlet_index             : natural := g_beamset_id * c_sdp_S_sub_bf;
+  constant c_beamlet_index : natural := g_beamset_id * c_sdp_S_sub_bf;
 
-  --CONSTANT c_crosslets_info_rec        : t_sdp_crosslets_info := (offset_arr => (1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15), step => 16);
-  constant c_crosslets_info_rec        : t_sdp_crosslets_info := (offset_arr => (0, 1, 2, 3, 4, 5, 6, 10, 11, 12, 13, 14, 15, 16, 17), step => 7);
-  constant c_crosslets_info_slv        : std_logic_vector(c_sdp_crosslets_info_reg_w - 1 downto 0) := func_sdp_map_crosslets_info(c_crosslets_info_rec);
+  --CONSTANT c_crosslets_info_rec  : t_sdp_crosslets_info := (
+  --                                   offset_arr => (1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15),
+  --                                   step => 16);
+  constant c_crosslets_info_rec  : t_sdp_crosslets_info := (
+                                     offset_arr => (0, 1, 2, 3, 4, 5, 6, 10, 11, 12, 13, 14, 15, 16, 17),
+                                     step => 7);
+  constant c_crosslets_info_slv  : std_logic_vector(c_sdp_crosslets_info_reg_w - 1 downto 0) :=
+                                     func_sdp_map_crosslets_info(c_crosslets_info_rec);
 
   -- Crosslets settings
-  constant c_mm_nof_crosslets          : std_logic_vector(c_sdp_nof_crosslets_reg_w - 1 downto 0) := TO_UVEC(g_nof_crosslets, c_sdp_nof_crosslets_reg_w);
-  constant c_nof_used_P_sq             : natural := smallest(g_N_rn / 2 + 1, g_P_sq);  -- number of used correlator cells <= g_P_sq
-  constant c_rx_nof_packets            : natural := func_sdp_get_stat_nof_packets(g_statistics_type, c_sdp_S_pn, c_nof_used_P_sq, g_nof_crosslets);
+  constant c_mm_nof_crosslets : std_logic_vector(c_sdp_nof_crosslets_reg_w - 1 downto 0) :=
+                                  TO_UVEC(g_nof_crosslets, c_sdp_nof_crosslets_reg_w);
+  constant c_nof_used_P_sq    : natural := smallest(g_N_rn / 2 + 1,
+                                                    g_P_sq);  -- number of used correlator cells <= g_P_sq
+  constant c_rx_nof_packets   : natural := func_sdp_get_stat_nof_packets(g_statistics_type,
+                                                                         c_sdp_S_pn, c_nof_used_P_sq, g_nof_crosslets);
 
   -- payload data
   constant c_packet_size : natural := c_nof_statistics_per_packet * c_sdp_W_statistic_sz;
@@ -151,12 +164,15 @@ architecture tb of tb_sdp_statistics_offload is
   constant c_mm_ram_size         : natural := c_mm_nof_data * c_mm_data_size * c_nof_packets_max;  -- = c_ram_size
 
   constant c_mm_nof_step         : natural := c_mm_step_size / c_mm_data_size;
-  constant c_mm_Xsq_span         : natural := 2**ceil_log2(c_sdp_N_crosslets_max * c_packet_size);  -- XST: 2**ceil_log2(7 * 576) = 4096
+  constant c_mm_Xsq_span         : natural := 2**ceil_log2(c_sdp_N_crosslets_max * c_packet_size);
+                                              -- XST: 2**ceil_log2(7 * 576) = 4096
 
   -- Define block timing.
   constant c_bsn_init            : natural := 0;
   -- Sufficient c_nof_block_per_sync to fit more than c_nof_packets_max offload packets per sync interval.
-  constant c_nof_block_per_sync  : natural := 3 + c_mm_dp_clk_ratio * (ceil_div(c_offload_node_time, c_packet_size) + c_nof_packets_max);
+  constant c_nof_block_per_sync  : natural := 3 +
+                                              c_mm_dp_clk_ratio * (ceil_div(c_offload_node_time, c_packet_size) +
+                                                                   c_nof_packets_max);
   constant c_nof_clk_per_block   : natural := c_packet_size;
   constant c_nof_clk_per_sync    : natural := c_nof_block_per_sync * c_nof_clk_per_block;
 
@@ -250,11 +266,11 @@ architecture tb of tb_sdp_statistics_offload is
   signal dbg_c_mm_nof_step               : natural := c_mm_nof_step;
   signal dbg_c_mm_Xsq_span               : natural := c_mm_Xsq_span;
   signal dbg_c_ram_size                  : natural := c_ram_size;
-  signal dbg_c_crosslets_info_rec        : t_sdp_crosslets_info := c_crosslets_info_rec;
-  signal dbg_c_crosslets_info_slv        : std_logic_vector(c_sdp_crosslets_info_reg_w - 1 downto 0) := c_crosslets_info_slv;
-  signal dbg_c_nof_block_per_sync        : natural := c_nof_block_per_sync;
-  signal dbg_c_nof_clk_per_block         : natural := c_nof_clk_per_block;
-  signal dbg_c_nof_clk_per_sync          : natural := c_nof_clk_per_sync;
+  signal dbg_c_crosslets_info_rec  : t_sdp_crosslets_info := c_crosslets_info_rec;
+  signal dbg_c_crosslets_info_slv  : std_logic_vector(c_sdp_crosslets_info_reg_w - 1 downto 0) := c_crosslets_info_slv;
+  signal dbg_c_nof_block_per_sync  : natural := c_nof_block_per_sync;
+  signal dbg_c_nof_clk_per_block   : natural := c_nof_clk_per_block;
+  signal dbg_c_nof_clk_per_sync    : natural := c_nof_clk_per_sync;
 begin
   -- Check consistency of constant value dependencies
   assert c_ram_size = c_mm_ram_size
@@ -341,10 +357,14 @@ begin
     proc_common_wait_some_cycles(mm_clk, 10);
     -- Write statistics offload destination MAC/IP/UDP
     -- . obtain relative MM word addresses e.g. from lofar2_unb2c_sdp_station.mmap or from sdp.peripheral.yaml
-    proc_mem_mm_bus_wr(16#17#, TO_UINT(c_sdp_stat_udp_dst_port), mm_clk, hdr_dat_miso, hdr_dat_mosi);
-    proc_mem_mm_bus_wr(16#19#, TO_SINT(c_sdp_stat_ip_dst_addr), mm_clk, hdr_dat_miso, hdr_dat_mosi);  -- use signed to fit 32 b in INTEGER
-    proc_mem_mm_bus_wr(16#28#, TO_SINT(c_sdp_stat_eth_dst_mac(31 downto 0)), mm_clk, hdr_dat_miso, hdr_dat_mosi);  -- use signed to fit 32 b in INTEGER
-    proc_mem_mm_bus_wr(16#29#, TO_UINT(c_sdp_stat_eth_dst_mac(47 downto 32)), mm_clk, hdr_dat_miso, hdr_dat_mosi);
+    proc_mem_mm_bus_wr(16#17#, TO_UINT(c_sdp_stat_udp_dst_port),
+                       mm_clk, hdr_dat_miso, hdr_dat_mosi);
+    proc_mem_mm_bus_wr(16#19#, TO_SINT(c_sdp_stat_ip_dst_addr),
+                       mm_clk, hdr_dat_miso, hdr_dat_mosi);  -- use signed to fit 32 b in INTEGER
+    proc_mem_mm_bus_wr(16#28#, TO_SINT(c_sdp_stat_eth_dst_mac(31 downto 0)),
+                       mm_clk, hdr_dat_miso, hdr_dat_mosi);  -- use signed to fit 32 b in INTEGER
+    proc_mem_mm_bus_wr(16#29#, TO_UINT(c_sdp_stat_eth_dst_mac(47 downto 32)),
+                       mm_clk, hdr_dat_miso, hdr_dat_mosi);
 
     -- Enable common variable delay.
     proc_mem_mm_bus_wr(c_reg_enable_mm_addr_enable, 1, mm_clk, enable_miso, enable_mosi);
@@ -396,7 +416,8 @@ begin
   exp_bst_beamlet_index <= c_beamlet_index;
   -- XST
   -- . prepare expected XST subband_index
-  exp_subband_index <= (c_crosslets_info_rec.offset_arr(cur_crosslet) + rx_sync_cnt * c_crosslets_info_rec.step) mod c_sdp_N_sub;
+  exp_subband_index <=
+      (c_crosslets_info_rec.offset_arr(cur_crosslet) + rx_sync_cnt * c_crosslets_info_rec.step) mod c_sdp_N_sub;
 
   -- . prepare expected XST signal_input_A index
   exp_xst_signal_input_A <= (gn_index mod c_sdp_N_pn_max) * c_sdp_S_pn;
@@ -515,8 +536,16 @@ begin
             v_exp_data := v_exp_data + 2;  -- due to c_sdp_W_statistic_sz = 2 and c_mm_nof_step = 2 > 1
           end if;
           v_exp_data := v_exp_data + (P / 2) * 2048;  -- due to c_packet_size = 1024 and c_mm_nof_step = 2 > 1
-          if g_statistics_type = "SST"    then assert v_exp_data = v_rx_data report "Wrong SST payload data Rx" severity ERROR; end if;
-          if g_statistics_type = "SST_OS" then assert v_exp_data = v_rx_data report "Wrong SST_OS payload data Rx" severity ERROR; end if;
+          if g_statistics_type = "SST" then
+            assert v_exp_data = v_rx_data
+              report "Wrong SST payload data Rx"
+              severity ERROR;
+          end if;
+          if g_statistics_type = "SST_OS" then
+            assert v_exp_data = v_rx_data
+              report "Wrong SST_OS payload data Rx"
+              severity ERROR;
+          end if;
 
         elsif g_statistics_type = "BST" then
           --    Indices:
@@ -576,10 +605,11 @@ begin
           W := rx_valid_cnt;  -- range c_packet_size = 576
           S := W / c_sdp_W_statistic_sz;  -- range c_nof_statistics_per_packet = 288 Statistic values
           D := S / c_nof_complex;  -- range c_mm_nof_data = 144 Data values, because
-                                            -- c_mm_data_size / c_sdp_W_statistic_sz = 2 = c_nof_complex
+                                   -- c_mm_data_size / c_sdp_W_statistic_sz = 2 = c_nof_complex
           X := D;  -- range c_sdp_X_sq = 144 complex XST values
           I := W mod c_mm_user_size;  -- range c_mm_user_size = c_sdp_W_statistic_sz = 2 words
-          P := rx_packet_cnt mod c_rx_nof_packets;  -- range c_nof_packets_max = c_nof_used_P_sq * g_nof_crosslets packets
+          P := rx_packet_cnt mod c_rx_nof_packets;  -- range c_nof_packets_max = c_nof_used_P_sq *
+                                                    -- g_nof_crosslets packets
           J := P mod g_nof_crosslets;  -- range g_nof_crosslets
           K := P / g_nof_crosslets;  -- range c_nof_used_P_sq
 
diff --git a/applications/lofar2/libraries/sdp/tb/vhdl/tb_tb_sdp_statistics_offload.vhd b/applications/lofar2/libraries/sdp/tb/vhdl/tb_tb_sdp_statistics_offload.vhd
index 9851c36b6fa80cc7818689151fc2f44d7ae1a959..da19c772e4c4dc734216bcc92442c3b4ff55fed5 100644
--- a/applications/lofar2/libraries/sdp/tb/vhdl/tb_tb_sdp_statistics_offload.vhd
+++ b/applications/lofar2/libraries/sdp/tb/vhdl/tb_tb_sdp_statistics_offload.vhd
@@ -59,24 +59,49 @@ begin
 --    g_nof_crosslets            : NATURAL := 1;
 --    g_crosslets_direction      : INTEGER := 1;  -- +1 or -1
 
-  u_sst                     : entity work.tb_sdp_statistics_offload generic map( true, "SST",    50, 5, 0, 1, 1,  true, 3, 3);
-  u_sst_time                : entity work.tb_sdp_statistics_offload generic map( true, "SST",    50, 8, 1, 6, 2,  true, 3, 3);
-  u_sst_no_reverse          : entity work.tb_sdp_statistics_offload generic map( true, "SST",    50, 5, 0, 1, 1, false, 3, 3);
-  u_sst_os                  : entity work.tb_sdp_statistics_offload generic map( true, "SST_OS", 50, 5, 0, 1, 1,  true, 3, 3);
-  u_sst_os_no_reverse       : entity work.tb_sdp_statistics_offload generic map( true, "SST_OS", 50, 5, 0, 1, 1, false, 3, 3);
-  u_bst_0                   : entity work.tb_sdp_statistics_offload generic map( true, "BST",    50, 5, 0, 1, 1,  true, 1, 3);
-  u_bst_0_no_reverse        : entity work.tb_sdp_statistics_offload generic map( true, "BST",    50, 5, 0, 1, 1, false, 1, 3, 0);
-  u_bst_1                   : entity work.tb_sdp_statistics_offload generic map( true, "BST",    50, 5, 0, 1, 1,  true, 1, 3, 1);
-  u_xst_P1                  : entity work.tb_sdp_statistics_offload generic map( true, "XST",    50, 5, 0, 1, 1,  true, 1, 3, 0, 0, 16,  1, 1, 1);
-  u_xst_P1_N3               : entity work.tb_sdp_statistics_offload generic map( true, "XST",    50, 5, 0, 1, 1,  true, 1, 3, 0, 0, 16,  1, 3, 1);
-  u_xst_P9                  : entity work.tb_sdp_statistics_offload generic map( true, "XST",    50, 5, 0, 1, 1,  true, 1, 3, 0, 0, 16,  9, 1, 1);
-  u_xst_P9_N3               : entity work.tb_sdp_statistics_offload generic map( true, "XST",    50, 5, 0, 1, 1,  true, 1, 3, 0, 0, 16,  9, 3, 1);
-  u_xst_P9_N3_no_reverse    : entity work.tb_sdp_statistics_offload generic map( true, "XST",    50, 5, 0, 1, 1, false, 1, 3, 0, 0, 16,  9, 3, 1);
-  u_xst_P9_N3_neg_dir       : entity work.tb_sdp_statistics_offload generic map( true, "XST",    50, 5, 0, 1, 1,  true, 1, 3, 0, 0, 16,  9, 3, 0);
-  u_xst_P8_N7_RN1_15        : entity work.tb_sdp_statistics_offload generic map( true, "XST",    50, 5, 0, 1, 1,  true, 1, 3, 0, 1, 15,  8, 7, 0);
-  u_xst_P1_N7_RN0_7         : entity work.tb_sdp_statistics_offload generic map( true, "XST",    50, 5, 0, 1, 1,  true, 3, 3, 0, 0,  8,  1, 7, 1);  -- P_sq = 1 < N_rn/2+1 = 5
-  u_xst_P9_N7_RN0_7         : entity work.tb_sdp_statistics_offload generic map( true, "XST",    50, 5, 0, 1, 1,  true, 3, 3, 0, 0,  8,  9, 7, 1);  -- P_sq = 9 > N_rn/2+1 = 5
-  u_xst_P9_N7_RN0_7_time    : entity work.tb_sdp_statistics_offload generic map( true, "XST",    50, 5, 1, 3, 2,  true, 3, 3, 0, 0,  8,  9, 7, 1);  -- P_sq = 9 > N_rn/2+1 = 5
-  u_xst_P9_N4_RN0_7_slow_mm : entity work.tb_sdp_statistics_offload generic map(false, "XST",    50, 5, 0, 1, 1,  true, 3, 3, 0, 0,  8,  9, 4, 1);  -- P_sq = 9 > N_rn/2+1 = 5
-  u_xst_P9_N7_RN0_7_slow_mm : entity work.tb_sdp_statistics_offload generic map(false, "XST",    50, 5, 0, 1, 1,  true, 3, 3, 0, 0,  8,  9, 7, 1);  -- P_sq = 9 > N_rn/2+1 = 5
+  u_sst                     : entity work.tb_sdp_statistics_offload generic map(
+                              true, "SST",    50, 5, 0, 1, 1,  true, 3, 3);
+  u_sst_time                : entity work.tb_sdp_statistics_offload generic map(
+                              true, "SST",    50, 8, 1, 6, 2,  true, 3, 3);
+  u_sst_no_reverse          : entity work.tb_sdp_statistics_offload generic map(
+                              true, "SST",    50, 5, 0, 1, 1, false, 3, 3);
+  u_sst_os                  : entity work.tb_sdp_statistics_offload generic map(
+                              true, "SST_OS", 50, 5, 0, 1, 1,  true, 3, 3);
+  u_sst_os_no_reverse       : entity work.tb_sdp_statistics_offload generic map(
+                              true, "SST_OS", 50, 5, 0, 1, 1, false, 3, 3);
+  u_bst_0                   : entity work.tb_sdp_statistics_offload generic map(
+                              true, "BST",    50, 5, 0, 1, 1,  true, 1, 3);
+  u_bst_0_no_reverse        : entity work.tb_sdp_statistics_offload generic map(
+                              true, "BST",    50, 5, 0, 1, 1, false, 1, 3, 0);
+  u_bst_1                   : entity work.tb_sdp_statistics_offload generic map(
+                              true, "BST",    50, 5, 0, 1, 1,  true, 1, 3, 1);
+  u_xst_P1                  : entity work.tb_sdp_statistics_offload generic map(
+                              true, "XST",    50, 5, 0, 1, 1,  true, 1, 3, 0, 0, 16,  1, 1, 1);
+  u_xst_P1_N3               : entity work.tb_sdp_statistics_offload generic map(
+                              true, "XST",    50, 5, 0, 1, 1,  true, 1, 3, 0, 0, 16,  1, 3, 1);
+  u_xst_P9                  : entity work.tb_sdp_statistics_offload generic map(
+                              true, "XST",    50, 5, 0, 1, 1,  true, 1, 3, 0, 0, 16,  9, 1, 1);
+  u_xst_P9_N3               : entity work.tb_sdp_statistics_offload generic map(
+                              true, "XST",    50, 5, 0, 1, 1,  true, 1, 3, 0, 0, 16,  9, 3, 1);
+  u_xst_P9_N3_no_reverse    : entity work.tb_sdp_statistics_offload generic map(
+                              true, "XST",    50, 5, 0, 1, 1, false, 1, 3, 0, 0, 16,  9, 3, 1);
+  u_xst_P9_N3_neg_dir       : entity work.tb_sdp_statistics_offload generic map(
+                              true, "XST",    50, 5, 0, 1, 1,  true, 1, 3, 0, 0, 16,  9, 3, 0);
+  u_xst_P8_N7_RN1_15        : entity work.tb_sdp_statistics_offload generic map(
+                              true, "XST",    50, 5, 0, 1, 1,  true, 1, 3, 0, 1, 15,  8, 7, 0);
+  -- P_sq = 1 < N_rn/2+1 = 5
+  u_xst_P1_N7_RN0_7         : entity work.tb_sdp_statistics_offload generic map(
+                              true, "XST",    50, 5, 0, 1, 1,  true, 3, 3, 0, 0,  8,  1, 7, 1);
+  -- P_sq = 9 > N_rn/2+1 = 5
+  u_xst_P9_N7_RN0_7         : entity work.tb_sdp_statistics_offload generic map(
+                              true, "XST",    50, 5, 0, 1, 1,  true, 3, 3, 0, 0,  8,  9, 7, 1);
+  -- P_sq = 9 > N_rn/2+1 = 5
+  u_xst_P9_N7_RN0_7_time    : entity work.tb_sdp_statistics_offload generic map(
+                              true, "XST",    50, 5, 1, 3, 2,  true, 3, 3, 0, 0,  8,  9, 7, 1);
+  -- P_sq = 9 > N_rn/2+1 = 5
+  u_xst_P9_N4_RN0_7_slow_mm : entity work.tb_sdp_statistics_offload generic map(
+                              false, "XST",    50, 5, 0, 1, 1,  true, 3, 3, 0, 0,  8,  9, 4, 1);
+  -- P_sq = 9 > N_rn/2+1 = 5
+  u_xst_P9_N7_RN0_7_slow_mm : entity work.tb_sdp_statistics_offload generic map(
+                              false, "XST",    50, 5, 0, 1, 1,  true, 3, 3, 0, 0,  8,  9, 7, 1);
 end tb;