| @ -1,77 +0,0 @@ | |||
| library ieee; | |||
| use ieee.std_logic_1164.all; | |||
| package StringP is | |||
| function to_char (data : in std_logic) return character; | |||
| function to_char (data : in std_logic_vector(3 downto 0)) return character; | |||
| function to_string (data : in std_logic) return string; | |||
| function to_string (data : in std_logic_vector) return string; | |||
| end package StringP; | |||
| package body StringP is | |||
| function to_char (data : in std_logic) return character is | |||
| begin | |||
| case data is | |||
| when 'U' => return 'U'; | |||
| when 'X' => return 'X'; | |||
| when '0' => return '0'; | |||
| when '1' => return '1'; | |||
| when 'Z' => return 'Z'; | |||
| when 'W' => return 'W'; | |||
| when 'L' => return 'L'; | |||
| when 'H' => return 'H'; | |||
| when '-' => return '-'; | |||
| end case; | |||
| end to_char; | |||
| function to_char (data : in std_logic_vector(3 downto 0)) return character is | |||
| begin | |||
| case data is | |||
| when x"0" => return '0'; | |||
| when x"1" => return '1'; | |||
| when x"2" => return '2'; | |||
| when x"3" => return '3'; | |||
| when x"4" => return '4'; | |||
| when x"5" => return '5'; | |||
| when x"6" => return '6'; | |||
| when x"7" => return '7'; | |||
| when x"8" => return '8'; | |||
| when x"9" => return '9'; | |||
| when x"A" => return 'A'; | |||
| when x"B" => return 'B'; | |||
| when x"C" => return 'C'; | |||
| when x"D" => return 'D'; | |||
| when x"E" => return 'E'; | |||
| when x"F" => return 'F'; | |||
| when others => return 'X'; | |||
| end case; | |||
| end to_char; | |||
| function to_string (data : in std_logic) return string is | |||
| variable str : string(1 to 1); | |||
| begin | |||
| str(1) := to_char(data); | |||
| return str; | |||
| end function to_string; | |||
| function to_string (data : in std_logic_vector) return string is | |||
| variable v_str : string (1 to data'length); | |||
| variable v_str_index : positive := 1; | |||
| begin | |||
| for i in data'range loop | |||
| v_str(v_str_index) := to_char(data(i)); | |||
| v_str_index := v_str_index + 1; | |||
| end loop; | |||
| return v_str; | |||
| end function to_string; | |||
| end package body StringP; | |||