diff --git a/libraries/base/common/src/vhdl/common_pkg.vhd b/libraries/base/common/src/vhdl/common_pkg.vhd
index ba09970a6f98b5f6896ef7036894ca27fa5b024f..3931d107704f9417e9ce3156c27593ebe36fb8a3 100644
--- a/libraries/base/common/src/vhdl/common_pkg.vhd
+++ b/libraries/base/common/src/vhdl/common_pkg.vhd
@@ -195,7 +195,11 @@ PACKAGE common_pkg IS
   
   FUNCTION slv(n: IN STD_LOGIC)        RETURN STD_LOGIC_VECTOR;  -- standard logic to 1 element standard logic vector
   FUNCTION sl( n: IN STD_LOGIC_VECTOR) RETURN STD_LOGIC;         -- 1 element standard logic vector to standard logic
-  
+
+  FUNCTION to_sl(  n: IN BOOLEAN)   RETURN STD_LOGIC;  -- if TRUE       then return '1'   else '0'
+  FUNCTION to_bool(n: IN STD_LOGIC) RETURN BOOLEAN;    -- if '1' or 'H' then return TRUE  else FALSE
+  FUNCTION to_bool(n: IN INTEGER)   RETURN BOOLEAN;    -- if  0         then return FALSE else TRUE
+
   FUNCTION to_natural_arr(n : t_integer_arr; to_zero : BOOLEAN) RETURN t_natural_arr;  -- if to_zero=TRUE then negative numbers are forced to zero, otherwise they will give a compile range error
   FUNCTION to_natural_arr(n : t_nat_natural_arr)                RETURN t_natural_arr;
   FUNCTION to_integer_arr(n : t_natural_arr)                    RETURN t_integer_arr;
@@ -646,7 +650,28 @@ PACKAGE BODY common_pkg IS
     r := n(n'LOW);
     RETURN r;
   END;
-  
+
+
+  FUNCTION to_sl(n: IN BOOLEAN) RETURN STD_LOGIC IS
+  BEGIN
+    IF n = TRUE THEN
+      RETURN '1';
+    ELSE
+      RETURN '0';
+    END IF;
+  END;
+
+  FUNCTION to_bool(n: IN STD_LOGIC) RETURN BOOLEAN IS
+  BEGIN
+    RETURN n = '1' OR n = 'H';
+  END;
+
+  FUNCTION to_bool(n: IN INTEGER) RETURN BOOLEAN IS
+  BEGIN
+    RETURN NOT (n = 0);
+  END;
+
+
   FUNCTION to_natural_arr(n : t_integer_arr; to_zero : BOOLEAN) RETURN t_natural_arr IS
     VARIABLE vN : t_integer_arr(n'LENGTH-1 DOWNTO 0);
     VARIABLE vR : t_natural_arr(n'LENGTH-1 DOWNTO 0);