diff --git a/libraries/base/diag/src/vhdl/diag_pkg.vhd b/libraries/base/diag/src/vhdl/diag_pkg.vhd
index 896a8d59596ae06b380a762ca9c2fd9ebca4b94b..3201cc5715941ab30de4f98888afe63f543f7fd0 100644
--- a/libraries/base/diag/src/vhdl/diag_pkg.vhd
+++ b/libraries/base/diag/src/vhdl/diag_pkg.vhd
@@ -154,9 +154,6 @@ PACKAGE diag_pkg IS
                                                            TO_UVEC(  15, c_diag_bg_mem_high_adrs_w),   -- fits any BG buffer that has address width >= 4
                                                            TO_UVEC(   0, c_diag_bg_bsn_init_w));
                                                        
-  CONSTANT c_diag_block_gen_integer_rst     : t_diag_block_gen_integer := ('0', '0', 256, 10, 128, 0,  1, 0);
-  CONSTANT c_diag_block_gen_integer_enabled : t_diag_block_gen_integer := ('1', '0',  50, 10,   7, 0, 15, 0);
-
   TYPE t_diag_block_gen_arr IS ARRAY (INTEGER RANGE <>) OF t_diag_block_gen;
   TYPE t_diag_block_gen_integer_arr IS ARRAY (INTEGER RANGE <>) OF t_diag_block_gen_integer;
 
@@ -164,6 +161,7 @@ PACKAGE diag_pkg IS
   FUNCTION sel_a_b(sel : BOOLEAN; a, b : t_diag_block_gen) RETURN t_diag_block_gen; 
 
   FUNCTION func_diag_bg_ctrl_integer_to_slv(bg_ctrl_int : t_diag_block_gen_integer) RETURN t_diag_block_gen;
+  FUNCTION func_diag_bg_ctrl_slv_to_integer(bg_ctrl_slv : t_diag_block_gen) RETURN t_diag_block_gen_integer;
 
   -----------------------------------------------------------------------------
   -- Data buffer
@@ -243,4 +241,16 @@ PACKAGE BODY diag_pkg IS
             TO_UVEC(bg_ctrl_int.bsn_init          , c_diag_bg_bsn_init_w));
   END;
 
+  FUNCTION func_diag_bg_ctrl_slv_to_integer(bg_ctrl_slv : t_diag_block_gen) RETURN t_diag_block_gen_integer IS
+  BEGIN
+    RETURN (        bg_ctrl_slv.enable,
+                    bg_ctrl_slv.enable_sync,
+            TO_UINT(bg_ctrl_slv.samples_per_packet),
+            TO_UINT(bg_ctrl_slv.blocks_per_sync),
+            TO_UINT(bg_ctrl_slv.gapsize),
+            TO_UINT(bg_ctrl_slv.mem_low_adrs),
+            TO_UINT(bg_ctrl_slv.mem_high_adrs),
+            TO_UINT(bg_ctrl_slv.bsn_init));
+  END;
+
 END diag_pkg;