diff --git a/libraries/base/common/src/vhdl/common_pkg.vhd b/libraries/base/common/src/vhdl/common_pkg.vhd
index 4fa4c63d18923840b6e0ffece6c9b980de50791d..d1417f9cf73cb621998d613ddbe0069f8ac278b8 100644
--- a/libraries/base/common/src/vhdl/common_pkg.vhd
+++ b/libraries/base/common/src/vhdl/common_pkg.vhd
@@ -162,7 +162,8 @@ PACKAGE common_pkg IS
  
   FUNCTION floor_log10(n : NATURAL) RETURN NATURAL;
 
-  FUNCTION is_pow2(n : NATURAL) RETURN BOOLEAN;    -- return TRUE when n is a power of 2, so 0, 1, 2, 4, 8, 16, ...
+  FUNCTION is_pow2(n : NATURAL) RETURN BOOLEAN;        -- return TRUE when n is a power of 2, so 0, 1, 2, 4, 8, 16, ...
+  FUNCTION true_log_pow2(n : NATURAL) RETURN NATURAL;  -- 2**true_log2(n), return power of 2 that is >= n
   
   FUNCTION ratio( n, d : NATURAL) RETURN NATURAL;  -- return n/d when n MOD d = 0 else return 0, so ratio * d = n only when integer ratio > 0
   FUNCTION ratio2(n, m : NATURAL) RETURN NATURAL;  -- return integer ratio of n/m or m/n, whichever is the largest
@@ -498,6 +499,11 @@ PACKAGE BODY common_pkg IS
     RETURN n=2**true_log2(n);
   END;
   
+  FUNCTION true_log_pow2(n : NATURAL) RETURN NATURAL IS
+  BEGIN
+    RETURN 2**true_log2(n);
+  END;
+  
   FUNCTION ratio(n, d : NATURAL) RETURN NATURAL IS
   BEGIN
     IF n MOD d = 0 THEN