diff --git a/libraries/base/common/src/vhdl/common_str_pkg.vhd b/libraries/base/common/src/vhdl/common_str_pkg.vhd index c93d87bfac7c6389a0188f13ea219a6fc08fc681..492bb411ab2341adce4ea2331c759fd56706ed47 100644 --- a/libraries/base/common/src/vhdl/common_str_pkg.vhd +++ b/libraries/base/common/src/vhdl/common_str_pkg.vhd @@ -42,6 +42,7 @@ PACKAGE common_str_pkg IS FUNCTION nof_digits(number: NATURAL) RETURN NATURAL; FUNCTION nof_digits_int(number: INTEGER) RETURN NATURAL; + FUNCTION bool_to_str(bool : BOOLEAN) RETURN STRING; FUNCTION time_to_str(in_time : TIME) RETURN STRING; FUNCTION str_to_time(in_str : STRING) RETURN TIME; FUNCTION slv_to_str(slv : STD_LOGIC_VECTOR) RETURN STRING; @@ -102,6 +103,17 @@ PACKAGE BODY common_str_pkg IS END IF; END; + FUNCTION bool_to_str(bool : BOOLEAN) RETURN STRING IS + CONSTANT c_max_len_bool : NATURAL := 5; -- "TRUE", "FALSE" + VARIABLE v_line: LINE; + VARIABLE v_str: STRING(1 TO c_max_len_bool):= (OTHERS => ' '); + BEGIN + STD.TEXTIO.WRITE(v_line, bool); + v_str(v_line.ALL'RANGE) := v_line.ALL; + deallocate(v_line); + RETURN v_str; + END; + FUNCTION time_to_str(in_time : TIME) RETURN STRING IS CONSTANT c_max_len_time : NATURAL := 20; VARIABLE v_line : LINE;