diff --git a/libraries/base/common/src/vhdl/common_str_pkg.vhd b/libraries/base/common/src/vhdl/common_str_pkg.vhd
index 3293abe2edb12dda3a7c18da3dd74e35b4688bc9..65c027e93a2eed9abbd65f667ed1c5ecb6c9545b 100644
--- a/libraries/base/common/src/vhdl/common_str_pkg.vhd
+++ b/libraries/base/common/src/vhdl/common_str_pkg.vhd
@@ -31,6 +31,7 @@ PACKAGE common_str_pkg IS
   TYPE t_str_4_arr IS ARRAY (INTEGER RANGE <>) OF STRING(1 TO 4);
 
   FUNCTION nof_digits(number: NATURAL) RETURN NATURAL;
+  FUNCTION nof_digits_int(number: INTEGER) RETURN NATURAL;
 
   FUNCTION time_to_str(in_time : TIME) RETURN STRING;
   FUNCTION str_to_time(in_str : STRING) RETURN TIME;
@@ -70,6 +71,27 @@ PACKAGE BODY common_str_pkg IS
     END IF;
   END;
 
+  FUNCTION nof_digits_int(number: INTEGER) RETURN NATURAL IS
+  -- Returns number of digits in a natural number. Only used in string processing, so defined here.
+  -- log10(0) is not allowed so:
+  -- . nof_digits(0) = 1
+  -- We're adding 1 so:
+  -- . nof_digits(1) = 1
+  -- . nof_digits(9) = 1
+  -- . nof_digits(10) = 2
+  -- . nof_digits(1) = 2
+  BEGIN
+    IF number=0 THEN
+      RETURN 1;
+    ELSE  
+      IF number > 0 THEN
+        RETURN floor_log10(number)+1;
+      ELSE
+        RETURN floor_log10(-1*number)+2;
+      END IF;
+    END IF;
+  END;
+
   FUNCTION time_to_str(in_time : TIME) RETURN STRING IS
     CONSTANT c_max_len_time : NATURAL := 20;
   	VARIABLE v_line         : LINE;
@@ -181,12 +203,12 @@ PACKAGE BODY common_str_pkg IS
 
   FUNCTION int_to_str(int: INTEGER) RETURN STRING IS
 --    CONSTANT c_max_len_int : NATURAL := 20;
-  	VARIABLE v_line: LINE;
-    VARIABLE v_str: STRING(1 TO nof_digits(int)):= (OTHERS => ' '); 
+    VARIABLE v_line: LINE;
+    VARIABLE v_str: STRING(1 TO nof_digits_int(int)):= (OTHERS => ' ');
   BEGIN 
-   	STD.TEXTIO.WRITE(v_line, int);
-  	v_str(v_line.ALL'RANGE) := v_line.ALL;
-  	deallocate(v_line);
+    STD.TEXTIO.WRITE(v_line, int);
+    v_str(v_line.ALL'RANGE) := v_line.ALL;
+    deallocate(v_line);
     RETURN v_str;        
   END;