package my_pkg_gen is generic (type el_type); type sfixed is array (integer range <>) of el_type; function to_string (inp: sfixed) return string; end my_pkg_gen; package body my_pkg_gen is function to_string (inp: sfixed) return string is begin return "image-pkg"; end to_string; end my_pkg_gen; package my_pkg is new work.my_pkg_gen generic map (el_type => bit); use work.my_pkg.all; entity repro is end; architecture behavioral of repro is function to_string (inp: sfixed) return string is begin return "image-ent"; end function; begin process variable z: sfixed (3 downto -3); begin z := "1111000"; report "z = " & to_string (z); wait; end process; end architecture behavioral;