From c417f9abf4df53675cd8883eba366a15bd7d3ed4 Mon Sep 17 00:00:00 2001
From: Eric Kooistra <kooistra@astron.nl>
Date: Tue, 25 Oct 2022 17:25:58 +0200
Subject: [PATCH] Add func_diag_bg_ctrl_slv_to_integer().

---
 libraries/base/diag/src/vhdl/diag_pkg.vhd | 16 +++++++++++++---
 1 file changed, 13 insertions(+), 3 deletions(-)

diff --git a/libraries/base/diag/src/vhdl/diag_pkg.vhd b/libraries/base/diag/src/vhdl/diag_pkg.vhd
index 896a8d5959..3201cc5715 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;
-- 
GitLab