diff --git a/libraries/base/diag/src/vhdl/diag_block_gen_reg.vhd b/libraries/base/diag/src/vhdl/diag_block_gen_reg.vhd
index b16f2e04688cde65c75feac34dff6ffa0ff27ded..198c4fcddcd4c9da8f485fa79dff385c3ed17998 100644
--- a/libraries/base/diag/src/vhdl/diag_block_gen_reg.vhd
+++ b/libraries/base/diag/src/vhdl/diag_block_gen_reg.vhd
@@ -45,7 +45,7 @@ end diag_block_gen_reg;
 
 architecture rtl of diag_block_gen_reg is                                                                                        
   
-  constant c_adrs_width : positive := 3;
+  constant c_adrs_width : positive := c_diag_bg_reg_adr_w;
   signal   mm_bg_ctrl   : t_diag_block_gen := g_diag_block_gen_rst;
   signal   dp_bg_ctrl   : t_diag_block_gen := g_diag_block_gen_rst;
                                                                                                                         
diff --git a/libraries/base/diag/src/vhdl/diag_pkg.vhd b/libraries/base/diag/src/vhdl/diag_pkg.vhd
index d8984f16cac6651c2206ef14fbf8a61bb59d7f16..94a35514d546fbc8ac25469a3b6663954e064bb8 100644
--- a/libraries/base/diag/src/vhdl/diag_pkg.vhd
+++ b/libraries/base/diag/src/vhdl/diag_pkg.vhd
@@ -98,6 +98,9 @@ PACKAGE diag_pkg IS
   -----------------------------------------------------------------------------
   
   -- control register
+  CONSTANT c_diag_bg_reg_nof_dat : NATURAL := 8;
+  CONSTANT c_diag_bg_reg_adr_w   : NATURAL := ceil_log2(c_diag_bg_reg_nof_dat);
+  
   CONSTANT c_diag_bg_mode_w               : NATURAL :=  8;
   CONSTANT c_diag_bg_samples_per_packet_w : NATURAL := 16;   
   CONSTANT c_diag_bg_blocks_per_sync_w    : NATURAL := 24;   
@@ -143,7 +146,10 @@ PACKAGE diag_pkg IS
   -----------------------------------------------------------------------------
   -- Data buffer
   -----------------------------------------------------------------------------
-  CONSTANT c_diag_db_max_data_w : NATURAL := 32;
+  CONSTANT c_diag_db_reg_nof_dat : NATURAL := 2;
+  CONSTANT c_diag_db_reg_adr_w   : NATURAL := ceil_log2(c_diag_db_reg_nof_dat);
+  
+  CONSTANT c_diag_db_max_data_w  : NATURAL := 32;
   
   TYPE t_diag_data_type_enum IS (
     e_data,